From 2b0216a398091cf6933b7cee179513be90fa37f2 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Thu, 1 Dec 2022 23:12:46 +0100 Subject: [PATCH 01/24] Changing colouring preferences on the highlighting tab needs to re-init the syntax highlighter (#1274) --- novelwriter/dialogs/preferences.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/novelwriter/dialogs/preferences.py b/novelwriter/dialogs/preferences.py index 7804c0a6..e7936991 100644 --- a/novelwriter/dialogs/preferences.py +++ b/novelwriter/dialogs/preferences.py @@ -826,6 +826,7 @@ class GuiPreferencesSyntax(QWidget): super().__init__(parent=prefsGui) self.mainConf = novelwriter.CONFIG + self.prefsGui = prefsGui self.mainGui = prefsGui.mainGui self.mainTheme = prefsGui.mainGui.mainTheme @@ -893,16 +894,21 @@ class GuiPreferencesSyntax(QWidget): def saveValues(self): """Save the values set for this tab. """ - # Quotes & Dialogue - self.mainConf.highlightQuotes = self.highlightQuotes.isChecked() - self.mainConf.allowOpenSQuote = self.allowOpenSQuote.isChecked() - self.mainConf.allowOpenDQuote = self.allowOpenDQuote.isChecked() + highlightQuotes = self.highlightQuotes.isChecked() + allowOpenSQuote = self.allowOpenSQuote.isChecked() + allowOpenDQuote = self.allowOpenDQuote.isChecked() + highlightEmph = self.highlightEmph.isChecked() + showMultiSpaces = self.showMultiSpaces.isChecked() - # Text Emphasis - self.mainConf.highlightEmph = self.highlightEmph.isChecked() + self.prefsGui._updateSyntax |= self.mainConf.highlightQuotes != highlightQuotes + self.prefsGui._updateSyntax |= self.mainConf.highlightEmph != highlightEmph + self.prefsGui._updateSyntax |= self.mainConf.showMultiSpaces != showMultiSpaces - # Text Errors - self.mainConf.showMultiSpaces = self.showMultiSpaces.isChecked() + self.mainConf.highlightQuotes = highlightQuotes + self.mainConf.allowOpenSQuote = allowOpenSQuote + self.mainConf.allowOpenDQuote = allowOpenDQuote + self.mainConf.highlightEmph = highlightEmph + self.mainConf.showMultiSpaces = showMultiSpaces return From 594ccd45c762ccbe622af5883a74544048168f8e Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Thu, 1 Dec 2022 23:21:00 +0100 Subject: [PATCH 02/24] Fix linux workflow --- .github/workflows/test_linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_linux.yml b/.github/workflows/test_linux.yml index 9535e435..46aff466 100644 --- a/.github/workflows/test_linux.yml +++ b/.github/workflows/test_linux.yml @@ -25,7 +25,7 @@ jobs: - name: Install Packages (apt) run: | sudo apt update - sudo apt install libenchant-dev qttools5-dev-tools aspell-en + sudo apt install libenchant-2-dev qttools5-dev-tools aspell-en - name: Checkout Source uses: actions/checkout@v3 - name: Install Dependencies (pip) From b1def7b568c876912888f47687d99ece338f0050 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Thu, 1 Dec 2022 23:33:16 +0100 Subject: [PATCH 03/24] Release 2.0.2 --- CHANGELOG.md | 22 ++++++++++++++++++++++ novelwriter/__init__.py | 6 +++--- novelwriter/assets/text/release_notes.htm | 5 +++++ sample/nwProject.nwx | 4 ++-- 4 files changed, 32 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 25b5eed0..2c5b83aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,27 @@ # novelWriter Changelog +## Version 2.0.2 [2022-12-01] + +### Release Notes + +This is a patch release that fixes a minor issues with syntax highlighting not updating when the +highlighting preferences were changed. It also fixes an issue that broke the FreeBSD release. + +### Detailed Changelog + +**Bugfixes** + +* Fix an issue where changing the Highlighting Preferences for highlighting quotes, emphasis, and + multiple or trailing spaces would not reload the syntax highlighter in the editor. The changes + would only take effect after restarting the app. Issue #1274. PR #1278. + +**Packaging and Installation** + +* The 2.0.1 release was broken on Linux, but was fixed and the packages rebuilt. However, the + FreeBSD port was still broken. This release fixes this issue. Issue #1277. PR #1272. + +---- + ## Version 2.0.1 [2022-11-29] ### Release Notes diff --git a/novelwriter/__init__.py b/novelwriter/__init__.py index d9c523a6..1f24c66c 100644 --- a/novelwriter/__init__.py +++ b/novelwriter/__init__.py @@ -59,9 +59,9 @@ __license__ = "GPLv3" __author__ = "Veronica Berglyd Olsen" __maintainer__ = "Veronica Berglyd Olsen" __email__ = "code@vkbo.net" -__version__ = "2.0.1" -__hexversion__ = "0x020001f0" -__date__ = "2022-11-29" +__version__ = "2.0.2" +__hexversion__ = "0x020002f0" +__date__ = "2022-12-01" __status__ = "Stable" __domain__ = "novelwriter.io" __url__ = "https://novelwriter.io" diff --git a/novelwriter/assets/text/release_notes.htm b/novelwriter/assets/text/release_notes.htm index 33e4b269..7570c272 100644 --- a/novelwriter/assets/text/release_notes.htm +++ b/novelwriter/assets/text/release_notes.htm @@ -94,5 +94,10 @@ Project Settings dialog has been updated to reflect some of the same changes.

This is a patch release that fixes a minor issues with loading custom GUI themes that haven't been updated to include the icon theme setting. The patch also updates the French translation.

+

Patch 2.0.2 – 1 December 2022

+ +

This is a patch release that fixes a minor issues with syntax highlighting not updating when the +highlighting preferences were changed. It also fixes an issue that broke the FreeBSD release.

+ diff --git a/sample/nwProject.nwx b/sample/nwProject.nwx index c28cb0d9..77487231 100644 --- a/sample/nwProject.nwx +++ b/sample/nwProject.nwx @@ -1,6 +1,6 @@ - - + + Sample Project Sample Project Jane Smith From bce5025a664f24c4a23078523eb0db9bb3efce76 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Tue, 20 Dec 2022 10:40:08 +0100 Subject: [PATCH 04/24] Update Chinese translation --- i18n/nw_zh_CN.ts | 582 +++++++++++++++++++++++------------------------ setup.py | 2 +- 2 files changed, 292 insertions(+), 292 deletions(-) diff --git a/i18n/nw_zh_CN.ts b/i18n/nw_zh_CN.ts index cecdba78..936bf19d 100644 --- a/i18n/nw_zh_CN.ts +++ b/i18n/nw_zh_CN.ts @@ -448,342 +448,342 @@ GuiBuildNovel - + Build Novel Project 生成 Novel 项目 - + Title Formats for Novel Files Novel 文件的标题格式 - + Formatting Codes: 格式化代码: - + {0} for the title as set in the document {0} 对于文档中设置的标题 - + {0} for chapter number (1, 2, 3) {0} 对于章节数编号(1, 2, 3) - + {0} for chapter number as a word (one, two) {0} 表示作为单词的章节编号(一、二) - + {0} for chapter number in upper case Roman {0} 用于大写罗马的章节编号 - + {0} for chapter number in lower case Roman {0} 用于小写罗马的章节编号 - + {0} for scene number within chapter {0} 用于章节内的场景编号 - + {0} for scene number within novel {0} 用于小说中的场景编号 - + Leave blank to skip this heading, or set to a static text, like for instance '{0}', to make a separator. The separator will be centred automatically and only appear between sections of the same type. 留空以跳过该标题,或者设置为静态文本(例如{0})以创建一个分隔符。分隔符会自动居中,并仅在同类型的小节间出现。 - + Not Set 未设置 - + Title 标题 - + Chapter 章节 - + Unnumbered 未编号 - + Scene 场景 - + Section 小结 - + Language 语言 - + Hide scene 隐藏场景 - + Hide section 隐藏小节 - + Font Options 字体选项 - + Font family 字体系列 - + Font size 字体大小 - + Line height 行高 - + Justify text 对齐文本 - + Disable styling 禁用样式 - + Styling Options 样式选项 - + Include Options 包含选项 - + Include synopsis 包括概要 - + Include comments 包含注释 - + Include keywords 包含关键字 - + Include body text 包括正文 - + Root Filter Options 根过滤器选项 - + File Filter Options 文件过滤器选项 - + Include novel files 包含小说文件 - + Include note files 包含笔记文件 - + Include inactive files - Include inactive files + 包含不活跃的文件 - + Export Options 导出选项 - + Replace tabs with spaces 替换制表符为空格 - + Replace Unicode in HTML 在HTML中替换Unicode - + Build Preview 构建预览 - + Print 打印 - + Print Preview 打印预览 - + Print to PDF 打印为PDF - + Save As 另存为 - + Open Document (.odt) Open Document (.odt) - + Flat Open Document (.fodt) Flat Open Document (.fodt) - + novelWriter HTML (.htm) novelWriter HTML (.htm) - + novelWriter Markdown (.nwd) novelWriter Markdown (.nwd) - + Standard Markdown (.md) Standard Markdown (.md) - + GitHub Markdown (.md) GitHub Markdown (.md) - + JSON + novelWriter HTML (.json) JSON + NovelWriter HTML (.json) - + JSON + novelWriter Markdown (.json) JSON + NovelWriter Markdown (.json) - + Close 关闭 - + Failed to generate preview. The result is too big. 生成预览失败。结果过大。 - + There were problems when building the project: 项目构建过程中遇到的问题: - + Open Document 打开文档 - + Flat Open Document 平铺打开文档 - + Plain HTML 纯HTML - + novelWriter Markdown novelWriter Markdown - + Standard Markdown 标准 Markdown - + GitHub Markdown GitHub Markdown - + JSON + novelWriter HTML JSON + novelWriter HTML - + JSON + novelWriter Markdown JSON + novelWriter Markdown - + PDF PDF - + Save Document As 文档另存为 - + {0} file successfully written to: 成功写入文件{0} : - + Failed to write {0} file. {1} 写入文件 {0} 失败. {1} @@ -791,17 +791,17 @@ GuiBuildNovelDocView - + This area will show the content of the document to be exported or printed. Press the "Build Preview" button to generate content. 这个区域会显示将被导出或打印的文档内容。点击“创建预览”按键以生成内容。 - + Unknown 未知 - + Build Time: 生成时间; @@ -809,32 +809,32 @@ GuiDocEditFooter - + Status 状态 - + Line: {0} ({1}) 行数: {0} ({1}) - + Words: {0} ({1}) 单词树: {0} ({1}) - + Document size is {0} bytes 文档大小为 {0} bytes - + Words: {0} selected 单词:{0} 已选 - + Character count: {0} 字数:{0} @@ -842,22 +842,22 @@ GuiDocEditHeader - + Edit document label 编辑文档标签 - + Search document 搜索文档 - + Toggle Focus Mode 切换聚焦模式 - + Close the document 关闭文档 @@ -865,58 +865,58 @@ GuiDocEditSearch - - + + Search 搜索 - + Replace 替换 - + Case Sensitive 大小写敏感 - + Whole Words Only 匹配整个单词 - + RegEx Mode 正则表达式模式 - + Loop Search 循环搜索 - + Search Next File 搜索下一个文件 - + Preserve Case 保留大小写 - + Close Search 关闭搜索 - + Find in current document 在当前文档中查找 - + Find and replace in current document 在当前文档中查找和替换 @@ -924,117 +924,117 @@ GuiDocEditor - + The document you are trying to open is too big. The document size is {0} MB. The maximum size allowed is {1} MB. 您试图打开的文档体积过大。文档体积为 {0} MB. 允许的最大体积为 {1} MB. - + Opened Document: {0} 已打开的文档: {0} - + The text you are trying to add is too big. The text size is {0} MB. The maximum size allowed is {1} MB. 您试图添加的文本体积过大。文本体积为 {0} MB. 允许的最大体积为 {1} MB. - + File Changed on Disk 硬盘文件变动 - + This document has been changed outside of novelWriter while it was open. Overwrite the file on disk? 当前文件已在 novelWriter 之外被修改,是否覆盖掉磁盘上的版本? - + Could not save document. 无法保存文档。 - + Saved Document: {0} 已保存文档: {0} - + Spell checking requires the package PyEnchant. It does not appear to be installed. 拼写检查需要软件包 PyEnchant。它似乎未安装。 - + Spell check complete 完成拼写检查 - + File Location 文件位置 - + The currently open file is saved in: 当前打开的文件被保存为: - + The document has grown too big and you cannot add more text to it. The maximum size of a single novelWriter document is {0} MB. 文档体积过大,您无法再添加新的内容。单个novelWriter文档的最大体积为 {0} MB. - + Follow Tag 跟随标签 - + Cut 剪贴 - + Copy 复制 - + Paste 粘贴 - + Select All 全选 - + Select Word 选定单词 - + Select Paragraph 选定段落 - + Spelling Suggestion(s) 拼写建议 - + No Suggestions 无建议 - + Add Word to Dictionary 向字典中添加单词 - + Please select some text before calling replace quotes. 在替换引号之前请选择文本。 @@ -1112,7 +1112,7 @@ Move split document to Trash - Move split document to Trash + 移动拆分文档到回收站 @@ -1291,173 +1291,173 @@ GuiMain - + You are running an untested development version of novelWriter. Please be careful when working on a live project and make sure you take regular backups. 你使用的是一个未经测试的 novelWriter 开发版。请小心使用,并确保定期备份。 - + novelWriter is ready ... novelWriter 已准备就绪… - + Cannot create a new project when another project is open. 当另一个项目开启时,无法创建新项目。 - + A project already exists in that location. Please choose another folder. 该位置已存在项目。请选择其他文件夹。 - + Close Project 关闭项目 - + Close the current project? 关闭当前文档? - - + + Changes are saved automatically. 已自动保存。 - + Backup Project 备份项目 - + Backup the current project? 备份当前项目? - + The project was locked by the computer '{0}' ({1} {2}), last active on {3}. 该项目被计算机“{0}”({1}{2})锁定,上次激活于{3}。 - + Project Locked 项目被锁定 - + The project is already open by another instance of novelWriter, and is therefore locked. Override lock and continue anyway? 该项目已被另一个novelWriter的实例打开,因而现在被锁定。是否覆盖锁定并继续? - + Note: If the program or the computer previously crashed, the lock can safely be overridden. However, overriding it is not recommended if the project is open in another instance of novelWriter. Doing so may corrupt the project. 注意:如果程序或计算机在此前崩溃,你可以安全地覆盖锁定。 然而,如果项目是在另一个 novelWriter 中打开的,则不建议覆盖它。这样做可能会损坏该项目。 - + The project index is outdated or broken. Rebuilding index. 项目索引已过期或损坏,正在重建索引。 - + Text files ({0}) 文本文件 ({0}) - + Markdown files ({0}) Markdown文件 ({0}) - + novelWriter files ({0}) novelWriter 文件 ({0}) - + All files ({0}) 所有文件 ({0}) - + Import File 导入文件 - + Could not read file. The file must be an existing text file. 无法读取文件,文件须为已存在的文本文件。 - + Please open a document to import the text file into. 请打开一个文档以将文本文件导入其中。 - + Import Document 导入文档 - + Importing the file will overwrite the current content of the document. Do you want to proceed? 导入文件将覆盖文档的当前内容。 您要继续吗? - + Indexing completed in {0} ms 在 {0} 秒内完成索引 - + The project index has been successfully rebuilt. 项目索引 重建成功。 - + Some changes will not be applied until novelWriter has been restarted. - Some changes will not be applied until novelWriter has been restarted. + 某些改动在novelWriter重启后才能启用。 - + Information 信息 - + Warning 警告 - + Error 错误 - + This is a bug! 这是一个Bug! - + Internal Error 内部错误 - + Exit 退出 - + Do you want to exit novelWriter? 您是否想退出novelWriter? - + Could not find the reference for tag '{0}'. It either doesn't exist, or the index is out of date. The index can be updated from the Tools menu, or by pressing {1}. 无法找到标签 {0} 的引用. 因为不存在或者索引已经过期。索引可在工具菜单或按 {1} 进行更新。 @@ -1797,12 +1797,12 @@ Special Comments - Special Comments + 特殊评论 Synopsis Comment - Synopsis Comment + 概要评论 @@ -2104,7 +2104,7 @@ Outline of {0} - Outline of {0} + {0} 的提纲 @@ -2288,103 +2288,103 @@ GuiPreferencesAutomation - + Automatic Features 自动化特性 - + Auto-select word under cursor 自动选择光标下的单词 - + Apply formatting to word under cursor if no selection is made. 如果未进行选择,则将格式应用于光标下的单词。 - + Auto-replace text as you type 键入时自动替换文本 - + Allow the editor to replace symbols as you type. 允许编辑器在您键入时替换符号。 - + Replace as You Type 键入时替换 - + Auto-replace single quotes 自动替换单引号 - - + + Try to guess which is an opening or a closing quote. 尝试猜测哪个是开头或结尾的引号。 - + Auto-replace double quotes 自动替换双引号 - + Auto-replace dashes 自动替换破折号 - + Double and triple hyphens become short and long dashes. 双连字符和三连字符变成短划线和长破折号。 - + Auto-replace dots 自动替换点 - + Three consecutive dots become ellipsis. 三个连续的点变成省略号。 - + Automatic Padding 自动填充 - + Insert non-breaking space before 在之前插入不间断的空格 - + Automatically add space before any of these symbols. 在任何这些符号之前自动添加空格。 - + Insert non-breaking space after 在后面插入不间断的空格 - + Automatically add space after any of these symbols. 在任何这些符号后自动添加空格。 - + Use thin space instead 改用细空格 - + Inserts a thin space instead of a regular space. 插入细空格而不是常规空格。 @@ -2618,7 +2618,7 @@ Requires restart to take effect. - Requires restart to take effect. + 需要重新启动才能生效。 @@ -2628,7 +2628,7 @@ General colour theme and icons. - General colour theme and icons. + 通用颜色主题和图标。 @@ -2810,47 +2810,47 @@ GuiPreferencesQuotes - + Quotation Style 引述样式 - + Single quote open style 单引号打开样式 - + The symbol to use for a leading single quote. 用于前导单引号的符号。 - + Single quote close style 单引号闭合样式 - + The symbol to use for a trailing single quote. 用于尾随单引号的符号。 - + Double quote open style 双引号打开样式 - + The symbol to use for a leading double quote. 用于前导双引号的符号。 - + Double quote close style 双引号闭合样式 - + The symbol to use for a trailing double quote. 用于尾随双引号的符号。 @@ -2858,59 +2858,59 @@ GuiPreferencesSyntax - + Quotes & Dialogue 引用与对话 - + Highlight text wrapped in quotes 突出包含在引用中的文本 - - - + + + Applies to the document editor only. 仅应用于文档编辑器。 - + Allow open-ended single quotes 允许开放式单引号 - + Highlight single-quoted line with no closing quote. 突出显示没有结束引号的单引号行。 - + Allow open-ended double quotes 允许开放式双引号 - + Highlight double-quoted line with no closing quote. 突出显示没有结束引号的双引号行。 - + Text Emphasis 文字强调 - + Add highlight colour to emphasised text 为强调的文本添加高亮颜色 - + Text Errors 文本错误 - + Highlight multiple or trailing spaces 突显重复和结尾的空格 @@ -3295,52 +3295,52 @@ GuiProjectToolBar - + Project Content 项目内容 - + Quick Links 快捷链接 - + Move Up 上移 - + Move Down 下移 - + Add Item 添加条目 - + Expand All 全部展开 - + Collapse All 全部折叠 - + Undo Move 撤消移动 - + Empty Trash 清空回收站 - + More Options 更多选项 @@ -3348,201 +3348,201 @@ GuiProjectTree - + Active - Active + 活跃 - + Inactive - Inactive + 非活跃 - + Did not find anywhere to add the file or folder! 没有找到任何地方添加文件或文件夹! - + Cannot add new files or folders to the Trash folder. 无法将新文件或文件夹添加到废纸篓文件夹。 - + New Note 新笔记 - + New Chapter 新章节 - + New Scene 新场景 - + New Document 新文档 - + New Folder 新文件夹 - + There is currently no Trash folder in this project. 此项目中当前没有回收站文件夹。 - + The Trash folder is already empty. 回收站文件夹已清空。 - - + + Empty Trash 清空回收站 - + Permanently delete {0} file(s) from Trash? 从回收站中永久删除 {0} 文件? - - + + Delete 删除 - + Move '{0}' to Trash? 将“{0}”移至回收站吗? - + Root folders can only be deleted when they are empty. 只有当根文件夹为空时才能删除。 - + Permanently delete '{0}'? 彻底删除“{0}”吗? - + Open Document 打开文档 - + View Document 查看文档 - + Change Label 更改标签 - + Toggle Active - Toggle Active + 切换激活 - + Set Status to ... 设置状态为... - + Set Importance to ... 设置重要性为... - + Transform 变换 - - + + Convert to {0} 转换为 {0} - + Merge Child Items into Self 将子项合并到自己中 - + Merge Child Items into New 将子项合并为新项 - + Merge Documents in Folder - Merge Documents in Folder + 合并文件夹中的文档 - + Split Document by Headers - Split Document by Headers + 按标题拆分文档 - + Expand All 全部展开 - + Collapse All 全部折叠 - + Delete Permanently 永久删除 - + Move to Trash 移到废纸篓 - + Convert Folder 转换文件夹 - + Do you want to convert the folder to a {0}? This action cannot be reversed. 您想要将文件夹转换为 {0} 吗?此操作不能被撤销。 - + No documents selected for merging. 未选择要合并的文档。 - + Merged 已合并 - - + + Could not write document content. 无法写入文档内容。 - + There is nowhere to add item with name '{0}'. 无处可添加名为 '{0}' 的项目。 @@ -3552,67 +3552,67 @@ Project - Project + 项目 Project Tree View - Project Tree View + 项目树视图 Novel - Novel + 小说 Novel Tree View - Novel Tree View + 小说树视图 Outline - Outline + 提纲 Novel Outline View - Novel Outline View + 小说提纲视图 Build - Build + 构建 Build Novel Project - Build Novel Project + 构建小说项目 Details - Details + 详细信息 Project Details - Project Details + 项目详情 Stats - Stats + 统计数据 Writing Statistics - Writing Statistics + 写作统计 Settings - Settings + 设置 @@ -3876,7 +3876,7 @@ There is no project open. - There is no project open. + 没有打开的项目。 @@ -3901,7 +3901,7 @@ Cannot backup project because no project name is set. Please set a Project Name in Project Settings. - Cannot backup project because no project name is set. Please set a Project Name in Project Settings. + 由于未设置项目名,无法备份项目。 请在项目设置中指定项目名。 @@ -3911,7 +3911,7 @@ Backup from {0} - Backup from {0} + 从 {0} 中备份 @@ -3995,7 +3995,7 @@ All Novel Folders - All Novel Folders + 所有小说文件夹 @@ -4235,73 +4235,73 @@ New Project - New Project + 创建项目 New Chapter - New Chapter + 新章节 New Scene - New Scene + 新场景 Title Page - Title Page + 标题页面 By - By + Summary of the chapter. - Summary of the chapter. + 本章概要。 Summary of the scene. - Summary of the scene. + 场景概况。 Chapter {0} - Chapter {0} + 章节 {0} Scene {0} - Scene {0} + 场景 {0} Main Plot - Main Plot + 主线情节 Protagonist - Protagonist + 主角 Main Location - Main Location + 主位置 Failed to create a new example project. - Failed to create a new example project. + 无法创建新的示例项目。 Failed to create a new example project. Could not find the necessary files. They seem to be missing from this installation. - Failed to create a new example project. Could not find the necessary files. They seem to be missing from this installation. + 无法创建新的示例项目。 找不到必要的文件。此安装中似乎缺少它们。 diff --git a/setup.py b/setup.py index 631acf5e..17c2ffa5 100755 --- a/setup.py +++ b/setup.py @@ -835,7 +835,7 @@ def makeDebianPackage(signKey=None, sourceBuild=False, distName="unstable", buil ## def makeForLaunchpad(doSign=False, isFirst=False, isSnapshot=False): - """Wrapper for building debian packages for launcpad. + """Wrapper for building debian packages for launchpad. """ print("") print("Launchpad Packages") From c581c774e91088973720d300243b87b8b5a85ec6 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Tue, 20 Dec 2022 11:33:51 +0100 Subject: [PATCH 05/24] Update credits doc --- CREDITS.md | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/CREDITS.md b/CREDITS.md index 777b37bb..72ab722d 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -4,14 +4,18 @@ * Veronica Berglyd Olsen (@vkbo) -## Main Contributors +## Contributors * Concept: Marian Lückhof (@Number042) * Internationalisation: Bruno Meneguello (@bkmeneguello) +* Setup and Packaging: Rachel Powers (@Ryex) + +For other contributions, see the project's [Contributors](https://github.com/vkbo/novelWriter/graphs/contributors) page. ## Translations -The default language is English (UK) with English (US) as an option. +The default language is English (UK) with English (US) as an option. These are the original +translators for the languages currently available: * Dutch: Martijn van der Kleijn (@mvdkleijn) * French: Jan Lüdke (@jyhelle) @@ -21,6 +25,13 @@ The default language is English (UK) with English (US) as an option. * Portuguese: Bruno Meneguello (@bkmeneguello) * Simplified Chinese: Qianzhi Long (@longqzh) +Additional larger translation contributions: + +* French: Albert Aribaud (@aaribaud) + +Translations are managed on [Crowdin](https://crowdin.com/project/novelwriter), and more +contributions are listed on the project's [Members](https://crowdin.com/project/novelwriter/members) page. + ## Libraries The following libraries are dependencies of novelWriter: @@ -35,10 +46,10 @@ The following libraries are dependencies of novelWriter: Some of the assets bundled with novelWriter were adapted from the following sources: -* Typicons icons by [Stephen Hutchings](https://github.com/stephenhutchings/typicons.font) (CC BY-SA 4.0) -* Tomorrow syntax themes by Chris Kempson (MIT License) -* Owl syntax themes by Sarah Drasner (MIT License) -* Solarized themes by Ethan Schoonover, added by @nullbasis (MIT License) +* [Typicons](https://github.com/stephenhutchings/typicons.font) icons by Stephen Hutchings (CC BY-SA 4.0) +* [Tomorrow](https://github.com/chriskempson/base16) syntax themes by Chris Kempson (MIT License) +* [Owl](https://github.com/sdras/night-owl-vscode-theme) syntax themes by Sarah Drasner (MIT License) +* [Solarized](https://github.com/altercation/solarized) themes by Ethan Schoonover (MIT License) ## Special Mentions From 55e91f08dda2a4a0a2b04a3e3f9e8ac926529836 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Tue, 20 Dec 2022 11:54:45 +0100 Subject: [PATCH 06/24] Add a credits page to the About dialog --- i18n/nw_base.ts | 568 +++++++++++-------------- novelwriter/assets/text/credits_en.htm | 69 +++ novelwriter/dialogs/about.py | 89 +--- tests/test_dialogs/test_dlg_about.py | 2 + 4 files changed, 349 insertions(+), 379 deletions(-) create mode 100644 novelwriter/assets/text/credits_en.htm diff --git a/i18n/nw_base.ts b/i18n/nw_base.ts index 333f4afc..4ea4ee03 100644 --- a/i18n/nw_base.ts +++ b/i18n/nw_base.ts @@ -342,448 +342,396 @@ GuiAbout - + About novelWriter - + About - + Release - - - - - Licence - - - - - Website: {0} - - - - + Credits - - Developer + + Licence - - Concept + + Website: {0} - i18n - - - - novelWriter is a markdown-like text editor designed for organising and writing novels. It is written in Python 3 with a Qt5 GUI, using PyQt5. - + novelWriter is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - + novelWriter is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - + See the Licence tab for the full licence text, or visit the GNU website at {0} for more details. - - - Translations - - - - - Theme: {0} - - - - - - - Author - - - - - - - Credit - - - - - Icons: {0} - - - - - Syntax: {0} - - GuiBuildNovel - + Build Novel Project - + Title Formats for Novel Files - + Formatting Codes: - + {0} for the title as set in the document - + {0} for chapter number (1, 2, 3) - + {0} for chapter number as a word (one, two) - + {0} for chapter number in upper case Roman - + {0} for chapter number in lower case Roman - + {0} for scene number within chapter - + {0} for scene number within novel - + Leave blank to skip this heading, or set to a static text, like for instance '{0}', to make a separator. The separator will be centred automatically and only appear between sections of the same type. - + Not Set - + Title - + Chapter - + Unnumbered - + Scene - + Section - + Language - + Hide scene - + Hide section - + Font Options - + Font family - + Font size - + Line height - + Justify text - + Disable styling - + Styling Options - + Include Options - + Include synopsis - + Include comments - + Include keywords - + Include body text - + Root Filter Options - + File Filter Options - + Include novel files - + Include note files - + Include inactive files - + Export Options - + Replace tabs with spaces - + Replace Unicode in HTML - + Build Preview - + Print - + Print Preview - + Print to PDF - + Save As - + Open Document (.odt) - + Flat Open Document (.fodt) - + novelWriter HTML (.htm) - + novelWriter Markdown (.nwd) - + Standard Markdown (.md) - + GitHub Markdown (.md) - + JSON + novelWriter HTML (.json) - + JSON + novelWriter Markdown (.json) - + Close - + Failed to generate preview. The result is too big. - + There were problems when building the project: - + Open Document - + Flat Open Document - + Plain HTML - + novelWriter Markdown - + Standard Markdown - + GitHub Markdown - + JSON + novelWriter HTML - + JSON + novelWriter Markdown - + PDF - + Save Document As - + {0} file successfully written to: - + Failed to write {0} file. {1} @@ -791,17 +739,17 @@ GuiBuildNovelDocView - + This area will show the content of the document to be exported or printed. Press the "Build Preview" button to generate content. - + Unknown - + Build Time: @@ -809,32 +757,32 @@ GuiDocEditFooter - + Status - + Line: {0} ({1}) - + Words: {0} ({1}) - + Document size is {0} bytes - + Words: {0} selected - + Character count: {0} @@ -842,22 +790,22 @@ GuiDocEditHeader - + Edit document label - + Search document - + Toggle Focus Mode - + Close the document @@ -865,58 +813,58 @@ GuiDocEditSearch - - + + Search - + Replace - + Case Sensitive - + Whole Words Only - + RegEx Mode - + Loop Search - + Search Next File - + Preserve Case - + Close Search - + Find in current document - + Find and replace in current document @@ -924,117 +872,117 @@ GuiDocEditor - + The document you are trying to open is too big. The document size is {0} MB. The maximum size allowed is {1} MB. - + Opened Document: {0} - + The text you are trying to add is too big. The text size is {0} MB. The maximum size allowed is {1} MB. - + File Changed on Disk - + This document has been changed outside of novelWriter while it was open. Overwrite the file on disk? - + Could not save document. - + Saved Document: {0} - + Spell checking requires the package PyEnchant. It does not appear to be installed. - + Spell check complete - + File Location - + The currently open file is saved in: - + The document has grown too big and you cannot add more text to it. The maximum size of a single novelWriter document is {0} MB. - + Follow Tag - + Cut - + Copy - + Paste - + Select All - + Select Word - + Select Paragraph - + Spelling Suggestion(s) - + No Suggestions - + Add Word to Dictionary - + Please select some text before calling replace quotes. @@ -1291,173 +1239,173 @@ GuiMain - + You are running an untested development version of novelWriter. Please be careful when working on a live project and make sure you take regular backups. - + novelWriter is ready ... - + Cannot create a new project when another project is open. - + A project already exists in that location. Please choose another folder. - + Close Project - + Close the current project? - - + + Changes are saved automatically. - + Backup Project - + Backup the current project? - + The project was locked by the computer '{0}' ({1} {2}), last active on {3}. - + Project Locked - + The project is already open by another instance of novelWriter, and is therefore locked. Override lock and continue anyway? - + Note: If the program or the computer previously crashed, the lock can safely be overridden. However, overriding it is not recommended if the project is open in another instance of novelWriter. Doing so may corrupt the project. - + The project index is outdated or broken. Rebuilding index. - + Text files ({0}) - + Markdown files ({0}) - + novelWriter files ({0}) - + All files ({0}) - + Import File - + Could not read file. The file must be an existing text file. - + Please open a document to import the text file into. - + Import Document - + Importing the file will overwrite the current content of the document. Do you want to proceed? - + Indexing completed in {0} ms - + The project index has been successfully rebuilt. - + Some changes will not be applied until novelWriter has been restarted. - + Information - + Warning - + Error - + This is a bug! - + Internal Error - + Exit - + Do you want to exit novelWriter? - + Could not find the reference for tag '{0}'. It either doesn't exist, or the index is out of date. The index can be updated from the Tools menu, or by pressing {1}. @@ -2288,103 +2236,103 @@ GuiPreferencesAutomation - + Automatic Features - + Auto-select word under cursor - + Apply formatting to word under cursor if no selection is made. - + Auto-replace text as you type - + Allow the editor to replace symbols as you type. - + Replace as You Type - + Auto-replace single quotes - - + + Try to guess which is an opening or a closing quote. - + Auto-replace double quotes - + Auto-replace dashes - + Double and triple hyphens become short and long dashes. - + Auto-replace dots - + Three consecutive dots become ellipsis. - + Automatic Padding - + Insert non-breaking space before - + Automatically add space before any of these symbols. - + Insert non-breaking space after - + Automatically add space after any of these symbols. - + Use thin space instead - + Inserts a thin space instead of a regular space. @@ -2810,47 +2758,47 @@ GuiPreferencesQuotes - + Quotation Style - + Single quote open style - + The symbol to use for a leading single quote. - + Single quote close style - + The symbol to use for a trailing single quote. - + Double quote open style - + The symbol to use for a leading double quote. - + Double quote close style - + The symbol to use for a trailing double quote. @@ -2858,59 +2806,59 @@ GuiPreferencesSyntax - + Quotes & Dialogue - + Highlight text wrapped in quotes - - - + + + Applies to the document editor only. - + Allow open-ended single quotes - + Highlight single-quoted line with no closing quote. - + Allow open-ended double quotes - + Highlight double-quoted line with no closing quote. - + Text Emphasis - + Add highlight colour to emphasised text - + Text Errors - + Highlight multiple or trailing spaces @@ -3295,52 +3243,52 @@ GuiProjectToolBar - + Project Content - + Quick Links - + Move Up - + Move Down - + Add Item - + Expand All - + Collapse All - + Undo Move - + Empty Trash - + More Options @@ -3348,201 +3296,201 @@ GuiProjectTree - + Active - + Inactive - + Did not find anywhere to add the file or folder! - + Cannot add new files or folders to the Trash folder. - + New Note - + New Chapter - + New Scene - + New Document - + New Folder - + There is currently no Trash folder in this project. - + The Trash folder is already empty. - - + + Empty Trash - + Permanently delete {0} file(s) from Trash? - - + + Delete - + Move '{0}' to Trash? - + Root folders can only be deleted when they are empty. - + Permanently delete '{0}'? - + Open Document - + View Document - + Change Label - + Toggle Active - + Set Status to ... - + Set Importance to ... - + Transform - - + + Convert to {0} - + Merge Child Items into Self - + Merge Child Items into New - + Merge Documents in Folder - + Split Document by Headers - + Expand All - + Collapse All - + Delete Permanently - + Move to Trash - + Convert Folder - + Do you want to convert the folder to a {0}? This action cannot be reversed. - + No documents selected for merging. - + Merged - - + + Could not write document content. - + There is nowhere to add item with name '{0}'. diff --git a/novelwriter/assets/text/credits_en.htm b/novelwriter/assets/text/credits_en.htm new file mode 100644 index 00000000..d2a2825d --- /dev/null +++ b/novelwriter/assets/text/credits_en.htm @@ -0,0 +1,69 @@ + + + + +

Credits

+ +

Main Developer

+

Veronica Berglyd Olsen (@vkbo)

+ +

Contributors

+ +

+ Concept: Marian Lückhof (@Number042)
+ Internationalisation: Bruno Meneguello (@bkmeneguello)
+ Setup and Packaging: Rachel Powers (@Ryex) +

+

For other contributions, see the project's +Contributors page.

+ +

Translations

+ +

The default language is English (UK) with English (US) as an option. These are the original +translators for the languages currently available:

+

+ Dutch: Martijn van der Kleijn (@mvdkleijn)
+ French: Jan Lüdke (@jyhelle)
+ German: Myian (@heymyian)
+ Latin American Spanish: Tommy Marplatt (@tmarplatt)
+ Norwegian: Veronica Berglyd Olsen (@vkbo)
+ Portuguese: Bruno Meneguello (@bkmeneguello)
+ Simplified Chinese: Qianzhi Long (@longqzh) +

+ +

Additional larger translation contributions:

+

+ French: Albert Aribaud (@aaribaud) +

+ +

Translations are managed on Crowdin, and +more contributions are listed on the project's Members page.

+ +

Libraries

+ +

The following libraries are dependencies of novelWriter:

+

+ Qt5 by Qt Company
+ PyQt5 by Riverbank Computing
+ lxml by Martijn Faassen
+ Enchant by Dom Lachowicz
+ PyEnchant by Dimitri Merejkowsky +

+ +

Assets

+ +

Some of the assets bundled with novelWriter were adapted from the following sources:

+

+ Typicons icons by Stephen Hutchings (CC BY-SA 4.0)
+ Tomorrow syntax themes by Chris Kempson (MIT License)
+ Owl syntax themes by Sarah Drasner (MIT License)
+ Solarized themes by Ethan Schoonover (MIT License) +

+ +

Special Mentions

+ +

Additional thanks to @johnblommers who was an early user and who has provided a lot +of very useful feedback over the years.

+ + + diff --git a/novelwriter/dialogs/about.py b/novelwriter/dialogs/about.py index a9a45e84..18dec83b 100644 --- a/novelwriter/dialogs/about.py +++ b/novelwriter/dialogs/about.py @@ -85,6 +85,10 @@ class GuiAbout(QDialog): self.pageNotes.setOpenExternalLinks(True) self.pageNotes.document().setDocumentMargin(self.mainConf.pxInt(16)) + self.pageCredits = QTextBrowser() + self.pageCredits.setOpenExternalLinks(True) + self.pageCredits.document().setDocumentMargin(self.mainConf.pxInt(16)) + self.pageLicense = QTextBrowser() self.pageLicense.setOpenExternalLinks(True) self.pageLicense.document().setDocumentMargin(self.mainConf.pxInt(16)) @@ -93,6 +97,7 @@ class GuiAbout(QDialog): self.tabBox = QTabWidget() self.tabBox.addTab(self.pageAbout, self.tr("About")) self.tabBox.addTab(self.pageNotes, self.tr("Release")) + self.tabBox.addTab(self.pageCredits, self.tr("Credits")) self.tabBox.addTab(self.pageLicense, self.tr("Licence")) self.innerBox.addWidget(self.tabBox) @@ -115,6 +120,7 @@ class GuiAbout(QDialog): self._setStyleSheet() self._fillAboutPage() self._fillNotesPage() + self._fillCreditsPage() self._fillLicensePage() qApp.restoreOverrideCursor() return @@ -140,20 +146,12 @@ class GuiAbout(QDialog): "

{license1}

" "

{license2}

" "

{license3}

" - "

{title2}

" - "

{credits}

" ).format( title1=self.tr("About novelWriter"), copy=novelwriter.__copyright__, link=self.tr("Website: {0}").format( f"{novelwriter.__domain__}" ), - title2=self.tr("Credits"), - credits=self._wrapTable([ - (self.tr("Developer"), "Veronica Berglyd Olsen"), - (self.tr("Concept"), "Veronica Berglyd Olsen, Marian Lückhof"), - (self.tr("i18n"), "Bruno Meneguello"), - ]), intro=self.tr( "novelWriter is a markdown-like text editor designed for organising and " "writing novels. It is written in Python 3 with a Qt5 GUI, using PyQt5." @@ -177,55 +175,6 @@ class GuiAbout(QDialog): ), ) - aboutMsg += "

{0}

{1}

".format( - self.tr("Translations"), - self._wrapTable([ - ("Deutsch", "Myian"), - ("English", "Veronica Berglyd Olsen"), - ("Español Latinoamericano", "Tommy Marplatt"), - ("Français", "Jan Lüdke (jyhelle)"), - ("Nederlands", "Martijn van der Kleijn"), - ("Norsk Bokmål", "Veronica Berglyd Olsen"), - ("Português", "Bruno Meneguello"), - ("简体中文", "Qianzhi Long"), - ]) - ) - - mainTheme = self.mainGui.mainTheme - iconCache = self.mainGui.mainTheme.iconCache - if mainTheme.themeName and mainTheme.themeAuthor != "N/A": - licURL = f"{mainTheme.themeLicense}" - aboutMsg += "

{0}

{1}

".format( - self.tr("Theme: {0}").format(mainTheme.themeName), - self._wrapTable([ - (self.tr("Author"), mainTheme.themeAuthor), - (self.tr("Credit"), mainTheme.themeCredit), - (self.tr("Licence"), licURL), - ]) - ) - - if iconCache.themeName: - licURL = f"{iconCache.themeLicense}" - aboutMsg += "

{0}

{1}

".format( - self.tr("Icons: {0}").format(iconCache.themeName), - self._wrapTable([ - (self.tr("Author"), iconCache.themeAuthor), - (self.tr("Credit"), iconCache.themeCredit), - (self.tr("Licence"), licURL), - ]) - ) - - if mainTheme.syntaxName: - licURL = f"{mainTheme.syntaxLicense}" - aboutMsg += "

{0}

{1}

".format( - self.tr("Syntax: {0}").format(mainTheme.syntaxName), - self._wrapTable([ - (self.tr("Author"), mainTheme.syntaxAuthor), - (self.tr("Credit"), mainTheme.syntaxCredit), - (self.tr("Licence"), licURL), - ]) - ) - self.pageAbout.setHtml(aboutMsg) return @@ -241,6 +190,17 @@ class GuiAbout(QDialog): self.pageNotes.setHtml("Error loading release notes text ...") return + def _fillCreditsPage(self): + """Load the content for the Credits page. + """ + docPath = self.mainConf.assetPath("text") / "credits_en.htm" + docText = readTextFile(docPath) + if docText: + self.pageCredits.setHtml(docText) + else: + self.pageCredits.setHtml("Error loading credits text ...") + return + def _fillLicensePage(self): """Load the content for the Licence page. """ @@ -252,16 +212,6 @@ class GuiAbout(QDialog): self.pageLicense.setHtml("Error loading licence text ...") return - def _wrapTable(self, theData): - """Wrap a list of label/value tuples in an html table. - """ - theTable = [] - for aLabel, aValue in theData: - theTable.append( - f"{aLabel}:{aValue}" - ) - return "{0}
".format("".join(theTable)) - def _setStyleSheet(self): """Set stylesheet for all browser tabs """ @@ -275,8 +225,8 @@ class GuiAbout(QDialog): ".alt {{" " color: rgb({kColR},{kColG},{kColB});" "}}\n" - "td {{" - " padding-right: 0.8em;" + "ul, li {{" + " margin-left: 0; padding-left: 0;" "}}\n" ).format( hColR=self.mainGui.mainTheme.colHead[0], @@ -288,6 +238,7 @@ class GuiAbout(QDialog): ) self.pageAbout.document().setDefaultStyleSheet(styleSheet) self.pageNotes.document().setDefaultStyleSheet(styleSheet) + self.pageCredits.document().setDefaultStyleSheet(styleSheet) self.pageLicense.document().setDefaultStyleSheet(styleSheet) return diff --git a/tests/test_dialogs/test_dlg_about.py b/tests/test_dialogs/test_dlg_about.py index 1b650ec1..8567b07c 100644 --- a/tests/test_dialogs/test_dlg_about.py +++ b/tests/test_dialogs/test_dlg_about.py @@ -51,6 +51,8 @@ def testDlgAbout_NWDialog(qtbot, monkeypatch, nwGUI): mp.setattr("novelwriter.config.Config.assetPath", lambda *a: Path("whatever")) msgAbout._fillNotesPage() assert msgAbout.pageNotes.toPlainText() == "Error loading release notes text ..." + msgAbout._fillCreditsPage() + assert msgAbout.pageCredits.toPlainText() == "Error loading credits text ..." msgAbout._fillLicensePage() assert msgAbout.pageLicense.toPlainText() == "Error loading licence text ..." From 1c4256ff4cbc3ad7075bc8d15652791281569d44 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Tue, 20 Dec 2022 12:03:25 +0100 Subject: [PATCH 07/24] Make links consistent --- CREDITS.md | 10 +++++----- novelwriter/assets/text/credits_en.htm | 18 +++++++++--------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/CREDITS.md b/CREDITS.md index 72ab722d..16e1dbba 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -36,11 +36,11 @@ contributions are listed on the project's [Members](https://crowdin.com/project/ The following libraries are dependencies of novelWriter: -* Qt5 by [Qt Company](https://www.qt.io/) -* PyQt5 by [Riverbank Computing](https://www.riverbankcomputing.com/software/pyqt/) -* lxml by [Martijn Faassen](https://lxml.de/) -* Enchant by [Dom Lachowicz](https://abiword.github.io/enchant/) -* PyEnchant by [Dimitri Merejkowsky](https://pyenchant.github.io/pyenchant/) +* [Qt5](https://www.qt.io) by Qt Company +* [PyQt5](https://www.riverbankcomputing.com/software/pyqt) by Riverbank Computing +* [lxml](https://lxml.de) by Martijn Faassen +* [Enchant](https://abiword.github.io/enchant) by Dom Lachowicz +* [PyEnchant](https://pyenchant.github.io/pyenchant) by Dimitri Merejkowsky ## Assets diff --git a/novelwriter/assets/text/credits_en.htm b/novelwriter/assets/text/credits_en.htm index d2a2825d..26cd3dab 100644 --- a/novelwriter/assets/text/credits_en.htm +++ b/novelwriter/assets/text/credits_en.htm @@ -43,21 +43,21 @@ more contributions are listed on the project's Qt Company
- PyQt5 by Riverbank Computing
- lxml by Martijn Faassen
- Enchant by Dom Lachowicz
- PyEnchant by Dimitri Merejkowsky + Qt5 by Qt Company
+ PyQt5 by Riverbank Computing
+ lxml by Martijn Faassen
+ Enchant by Dom Lachowicz
+ PyEnchant by Dimitri Merejkowsky

Assets

Some of the assets bundled with novelWriter were adapted from the following sources:

- Typicons icons by Stephen Hutchings (CC BY-SA 4.0)
- Tomorrow syntax themes by Chris Kempson (MIT License)
- Owl syntax themes by Sarah Drasner (MIT License)
- Solarized themes by Ethan Schoonover (MIT License) + Typicons icons by Stephen Hutchings (CC BY-SA 4.0)
+ Tomorrow syntax themes by Chris Kempson (MIT License)
+ Owl syntax themes by Sarah Drasner (MIT License)
+ Solarized themes by Ethan Schoonover (MIT License)

Special Mentions

From 670aab5224b013574b0bde8f4eeae0cb9297de17 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Tue, 20 Dec 2022 12:06:14 +0100 Subject: [PATCH 08/24] Remove redundant CSS --- novelwriter/dialogs/about.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/novelwriter/dialogs/about.py b/novelwriter/dialogs/about.py index 18dec83b..f3af1cbf 100644 --- a/novelwriter/dialogs/about.py +++ b/novelwriter/dialogs/about.py @@ -225,9 +225,6 @@ class GuiAbout(QDialog): ".alt {{" " color: rgb({kColR},{kColG},{kColB});" "}}\n" - "ul, li {{" - " margin-left: 0; padding-left: 0;" - "}}\n" ).format( hColR=self.mainGui.mainTheme.colHead[0], hColG=self.mainGui.mainTheme.colHead[1], From b7744bbda24692b337b0d17268523f9fec1c2b94 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Tue, 20 Dec 2022 12:25:15 +0100 Subject: [PATCH 09/24] Correct paths for input-none icons (#1297) --- .../assets/icons/typicons_dark/mixed_input-none.svg | 7 +++---- .../assets/icons/typicons_light/mixed_input-none.svg | 7 +++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/novelwriter/assets/icons/typicons_dark/mixed_input-none.svg b/novelwriter/assets/icons/typicons_dark/mixed_input-none.svg index 105e1d8f..f4b1ae67 100644 --- a/novelwriter/assets/icons/typicons_dark/mixed_input-none.svg +++ b/novelwriter/assets/icons/typicons_dark/mixed_input-none.svg @@ -25,10 +25,9 @@ + id="path2927" + style="fill:#848484;fill-opacity:1" + d="M 6.2851562,2 C 3.9296438,1.9318024 1.8530839,4.1116184 2,6.4548618 2.0068983,10.304935 1.9861657,14.15563 2.0104329,18.005313 2.1401885,20.174302 4.0868901,22.059322 6.2851562,22 c 3.8832648,-0.0037 7.7667178,0.0074 11.6498648,-0.0056 C 20.253096,21.935675 22.190613,19.73469 22,17.432001 21.996299,13.643017 22.007418,9.8538453 21.994414,6.0649793 21.935675,3.7469037 19.734691,1.8093866 17.432001,2 13.716386,2 10.000771,2 6.2851562,2 Z m 7.1621098,2.8554688 c 1.517767,0.018193 3.040205,-0.037158 4.55493,0.029088 0.831903,0.1432784 1.247019,1.0200413 1.140382,1.796579 -0.0049,3.726426 0.0098,7.453347 -0.0074,11.179464 -0.06228,0.897202 -0.990183,1.406807 -1.816343,1.281978 -3.726391,-0.005 -7.4532932,0.0099 -11.1793638,-0.0075 -0.8893499,-0.06498 -1.4061831,-0.991209 -1.2820783,-1.81622 0.00424,-3.720679 -0.00847,-7.4417768 0.00635,-11.1621953 0.056947,-0.8627405 0.9413144,-1.4230927 1.7608001,-1.2992468 2.2741995,-0.00131 4.5486615,0.00261 6.8226985,-0.00195 z" /> + id="path969" + style="fill:#333333;fill-opacity:1" + d="M 6.2851562,2 C 3.9296438,1.9318024 1.8530839,4.1116184 2,6.4548618 2.0068983,10.304935 1.9861657,14.15563 2.0104329,18.005313 2.1401885,20.174302 4.0868901,22.059322 6.2851562,22 c 3.8832648,-0.0037 7.7667178,0.0074 11.6498648,-0.0056 C 20.253096,21.935675 22.190613,19.73469 22,17.432001 21.996299,13.643017 22.007418,9.8538453 21.994414,6.0649793 21.935675,3.7469037 19.734691,1.8093866 17.432001,2 13.716386,2 10.000771,2 6.2851562,2 Z m 7.1621098,2.8554688 c 1.517767,0.018193 3.040205,-0.037158 4.55493,0.029088 0.831903,0.1432784 1.247019,1.0200413 1.140382,1.796579 -0.0049,3.726426 0.0098,7.453347 -0.0074,11.179464 -0.06228,0.897202 -0.990183,1.406807 -1.816343,1.281978 -3.726391,-0.005 -7.4532932,0.0099 -11.1793638,-0.0075 -0.8893499,-0.06498 -1.4061831,-0.991209 -1.2820783,-1.81622 0.00424,-3.720679 -0.00847,-7.4417768 0.00635,-11.1621953 0.056947,-0.8627405 0.9413144,-1.4230927 1.7608001,-1.2992468 2.2741995,-0.00131 4.5486615,0.00261 6.8226985,-0.00195 z" /> Date: Tue, 20 Dec 2022 12:32:42 +0100 Subject: [PATCH 10/24] Remove Inkscape meta data from a bunch of icons --- .../assets/icons/typicons_dark/mixed_edit.svg | 35 +++------------ .../typicons_dark/typ_arrow-maximise.svg | 24 ----------- .../typicons_dark/typ_arrow-minimise.svg | 24 ----------- .../icons/typicons_dark/typ_refresh.svg | 24 ----------- .../icons/typicons_dark/typ_th-list-grey.svg | 28 +----------- .../icons/typicons_light/mixed_edit.svg | 35 +++------------ .../typicons_light/typ_arrow-maximise.svg | 27 +----------- .../typicons_light/typ_arrow-minimise.svg | 24 ----------- .../icons/typicons_light/typ_export.svg | 43 ++++++++----------- .../icons/typicons_light/typ_refresh.svg | 27 +----------- .../icons/typicons_light/typ_th-list-grey.svg | 28 +----------- 11 files changed, 38 insertions(+), 281 deletions(-) diff --git a/novelwriter/assets/icons/typicons_dark/mixed_edit.svg b/novelwriter/assets/icons/typicons_dark/mixed_edit.svg index fac03f3e..5ac0581f 100644 --- a/novelwriter/assets/icons/typicons_dark/mixed_edit.svg +++ b/novelwriter/assets/icons/typicons_dark/mixed_edit.svg @@ -1,37 +1,15 @@ - + id="svg7536"> @@ -40,6 +18,7 @@ image/svg+xml + diff --git a/novelwriter/assets/icons/typicons_dark/typ_arrow-maximise.svg b/novelwriter/assets/icons/typicons_dark/typ_arrow-maximise.svg index a5ee7fa0..48990ef7 100644 --- a/novelwriter/assets/icons/typicons_dark/typ_arrow-maximise.svg +++ b/novelwriter/assets/icons/typicons_dark/typ_arrow-maximise.svg @@ -5,10 +5,6 @@ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - inkscape:version="1.0 (4035a4fb49, 2020-05-01)" - sodipodi:docname="arrow-maximise.svg" id="svg7486" viewBox="0 0 24 24" height="24" @@ -28,26 +24,6 @@ - - - - + id="svg5291"> @@ -42,7 +18,7 @@ image/svg+xml - + diff --git a/novelwriter/assets/icons/typicons_light/mixed_edit.svg b/novelwriter/assets/icons/typicons_light/mixed_edit.svg index 982206ed..ded34ef2 100644 --- a/novelwriter/assets/icons/typicons_light/mixed_edit.svg +++ b/novelwriter/assets/icons/typicons_light/mixed_edit.svg @@ -1,37 +1,15 @@ - + id="svg7536"> @@ -40,6 +18,7 @@ image/svg+xml + diff --git a/novelwriter/assets/icons/typicons_light/typ_arrow-maximise.svg b/novelwriter/assets/icons/typicons_light/typ_arrow-maximise.svg index 3ef012fe..cd00423e 100644 --- a/novelwriter/assets/icons/typicons_light/typ_arrow-maximise.svg +++ b/novelwriter/assets/icons/typicons_light/typ_arrow-maximise.svg @@ -5,15 +5,11 @@ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" version="1.2" width="24" height="24" viewBox="0 0 24 24" - id="svg7486" - sodipodi:docname="arrow-maximise.svg" - inkscape:version="1.0 (4035a4fb49, 2020-05-01)"> + id="svg7486"> @@ -28,27 +24,6 @@ - - - + id="svg1169"> + + + + image/svg+xml + + + + + + id="svg6649"> @@ -28,27 +24,6 @@ - - + id="svg5291"> @@ -42,7 +18,7 @@ image/svg+xml - + From 1664f92cc8bcb0534737b2f356714cce052e8633 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Tue, 20 Dec 2022 12:50:21 +0100 Subject: [PATCH 11/24] Also allow custom icon themes --- docs/source/int_customise.rst | 15 +++++++++------ novelwriter/config.py | 3 ++- novelwriter/gui/theme.py | 6 ++++-- tests/test_gui/test_gui_theme.py | 1 - 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/docs/source/int_customise.rst b/docs/source/int_customise.rst index 27b94284..07b130b4 100644 --- a/docs/source/int_customise.rst +++ b/docs/source/int_customise.rst @@ -52,14 +52,16 @@ modify it as you like. `novelwriter/assets/syntax `_. * The existing GUI themes are stored in `novelwriter/assets/themes `_. +* The existing icon themes are stored in + `novelwriter/assets/icons `_. Remember to also change the name of your theme by modifying the ``name`` setting at the top of the file, otherwise you may not be able to distinguish them in :guilabel:`Preferences`. For novelWriter to be able to locate the custom theme files, you must copy them to the :ref:`a_locations_data` location in your home or user area. There should be a folder there named -``syntax`` for syntax themes and just ``themes`` for GUI themes. These folders are created the -first time you start novelWriter. +``syntax`` for syntax themes, just ``themes`` for GUI themes, and ``icons`` for icon themes. These +folders are created the first time you start novelWriter. Once the files are copied there, they should show up in :guilabel:`Preferences` with the label you set as ``name`` inside the file. @@ -70,8 +72,8 @@ set as ``name`` inside the file. theme colour scheme. -Gustom GUI Theme ----------------- +Gustom GUI and Icons Theme +-------------------------- A GUI theme conf file consists of the follwing settings: @@ -109,8 +111,9 @@ A GUI theme conf file consists of the follwing settings: statusunsaved = 100, 100, 100 In the Main section you must at least define the ``name`` and ``icontheme`` settings. The -``icontheme`` settings should correspond to one of the internal icon themes. Either -``typicons_light`` or ``typicons_dark``. +``icontheme`` settings should correspond to one of the internal icon themes, either +``typicons_light`` or ``typicons_dark``, or to an icon theme in your custom icons directory. The +setting must match the icon theme's folder name. The Palette values correspond the the Qt enum values for QPalette::ColorRole, see the `Qt documentation `_ for more details. The diff --git a/novelwriter/config.py b/novelwriter/config.py index b6708add..e60a9444 100644 --- a/novelwriter/config.py +++ b/novelwriter/config.py @@ -461,10 +461,11 @@ class Config: self._confPath.mkdir(exist_ok=True) self._dataPath.mkdir(exist_ok=True) - # Also create the syntax and themes folders if possible + # Also create the syntax, themes and icons folders if possible if self._dataPath.is_dir(): (self._dataPath / "syntax").mkdir(exist_ok=True) (self._dataPath / "themes").mkdir(exist_ok=True) + (self._dataPath / "icons").mkdir(exist_ok=True) # Check if config file exists, and load it. If not, we save defaults if (self._confPath / nwFiles.CONF_FILE).is_file(): diff --git a/novelwriter/gui/theme.py b/novelwriter/gui/theme.py index c3516556..17e58ff4 100644 --- a/novelwriter/gui/theme.py +++ b/novelwriter/gui/theme.py @@ -507,8 +507,10 @@ class GuiIcons: self._themeMap = {} themePath = self._iconPath / iconTheme if not themePath.is_dir(): - logger.warning("No icons loaded for '%s'", iconTheme) - return False + themePath = self.mainConf.dataPath("icons") / iconTheme + if not themePath.is_dir(): + logger.warning("No icons loaded for '%s'", iconTheme) + return False themeConf = themePath / self._confName logger.info("Loading icon theme '%s'", iconTheme) diff --git a/tests/test_gui/test_gui_theme.py b/tests/test_gui/test_gui_theme.py index f5751e7b..c8133f6b 100644 --- a/tests/test_gui/test_gui_theme.py +++ b/tests/test_gui/test_gui_theme.py @@ -282,7 +282,6 @@ def testGuiTheme_Icons(qtbot, caplog, monkeypatch, nwGUI, fncPath): # Load a broken theme file iconsDir = fncPath / "icons" testIcons = iconsDir / "testicons" - iconsDir.mkdir() testIcons.mkdir() writeFile(testIcons / "icons.conf", ( "[Main]\n" From 8749321614fa8f08a01e73581c9bf2b44e71637d Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Fri, 23 Dec 2022 12:28:30 +0100 Subject: [PATCH 12/24] Block opening a non-new project in a non-existing location (#1300) --- novelwriter/core/project.py | 3 +++ novelwriter/core/storage.py | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/novelwriter/core/project.py b/novelwriter/core/project.py index 64c0b148..a9b22312 100644 --- a/novelwriter/core/project.py +++ b/novelwriter/core/project.py @@ -251,6 +251,9 @@ class NWProject(QObject): """ self.clearProject() if not self._storage.openProjectInPlace(projPath): + self.mainGui.makeAlert(self.tr( + "Could not open project with path: {0}" + ).format(projPath), nwAlert.ERROR) return False logger.info("Opening project: %s", projPath) diff --git a/novelwriter/core/storage.py b/novelwriter/core/storage.py index 9d0746c4..3d23efbc 100644 --- a/novelwriter/core/storage.py +++ b/novelwriter/core/storage.py @@ -102,6 +102,10 @@ class NWStorage: # but it can point to a folder containing files inPath = inPath.parent + if not (inPath.is_dir() or newProject): + # If the project is not new, the folder must already exist. + return False + self._storagePath = inPath self._runtimePath = inPath self._lockFilePath = inPath / nwFiles.PROJ_LOCK @@ -114,7 +118,9 @@ class NWStorage: return True def openProjectArchive(self, path): # pragma: no cover - pass + """Placeholder for later implementation. See #977. + """ + return False def runPostSaveTasks(self, autoSave=False): # pragma: no cover """Run tasks after the project has been saved. From 3b95b2838c91df29132e63c064a88e3816756b64 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Fri, 23 Dec 2022 12:28:48 +0100 Subject: [PATCH 13/24] Update test and translation file --- i18n/nw_base.ts | 71 +++++++++++++++------------- tests/test_core/test_core_storage.py | 5 +- 2 files changed, 42 insertions(+), 34 deletions(-) diff --git a/i18n/nw_base.ts b/i18n/nw_base.ts index 4ea4ee03..40a0a839 100644 --- a/i18n/nw_base.ts +++ b/i18n/nw_base.ts @@ -3777,163 +3777,168 @@
- + + Could not open project with path: {0} + + + + Unknown - + Project file does not appear to be a novelWriterXML file. - + Unknown or unsupported novelWriter project file format. The project cannot be opened by this version of novelWriter. The file was saved with novelWriter version {0}. - + Failed to parse project xml. - + File Version - + The file format of your project is about to be updated. If you proceed, older versions of novelWriter will no longer be able to open this project. Continue? - + Version Conflict - + This project was saved by a newer version of novelWriter, version {0}. This is version {1}. If you continue to open the project, some attributes and settings may not be preserved, but the overall project should be fine. Continue opening the project? - + Opened Project: {0} - + There is no project open. - + Failed to save project. - + Saved Project: {0} - + Backing up project ... - + Cannot backup project because no valid backup path is set. Please set a valid backup location in Preferences. - + Cannot backup project because no project name is set. Please set a Project Name in Project Settings. - + Could not create backup folder. - + Backup from {0} - + Backup archive file written to: {0} - + Could not write backup archive. - + Project backed up to '{0}' - - + + New - + Note - + Draft - + Finished - + Minor - + Major - + Main - + Found {0} orphaned file(s) in project folder. - + Recovered - + [{0}] {1} - + Recovered File {0} - + One or more orphaned files could not be added back into the project. Make sure at least a Novel root folder exists. diff --git a/tests/test_core/test_core_storage.py b/tests/test_core/test_core_storage.py index 7545a870..8986b65e 100644 --- a/tests/test_core/test_core_storage.py +++ b/tests/test_core/test_core_storage.py @@ -64,12 +64,15 @@ def testCoreStorage_OpenProjectInPlace(mockGUI, fncPath, mockRnd): # Open project as a new project should fail assert storage.openProjectInPlace(fncPath, newProject=True) is False - # Opening as a no-new project is fine + # Opening as a non-new project is fine assert storage.openProjectInPlace(fncPath, newProject=False) is True # Opening the project file is also fine assert storage.openProjectInPlace(fncPath / nwFiles.PROJ_FILE, newProject=False) is True + # Opening as a non-new project on a non-existing folder should fail + assert storage.openProjectInPlace(fncPath / "foobar", newProject=False) is False + # Check settings assert storage.storagePath == fncPath assert storage.runtimePath == fncPath From 748d76dca67975895723a9d48d3e4c2816cc7c87 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Thu, 5 Jan 2023 23:45:48 +0100 Subject: [PATCH 14/24] Fix converting folder to file (#1305) --- novelwriter/gui/projtree.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/novelwriter/gui/projtree.py b/novelwriter/gui/projtree.py index 434c5852..5faa85b2 100644 --- a/novelwriter/gui/projtree.py +++ b/novelwriter/gui/projtree.py @@ -1251,18 +1251,30 @@ class GuiProjectTree(QTreeWidget): isDocFile = isFile and tItem.isDocumentLayout() isNoteFile = isFile and tItem.isNoteLayout() - if (isNoteFile or isFolder) and tItem.documentAllowed(): + if isNoteFile and tItem.documentAllowed(): aConvert1 = mTrans.addAction(self.tr("Convert to {0}").format(trDoc)) aConvert1.triggered.connect( lambda: self._changeItemLayout(tHandle, nwItemLayout.DOCUMENT) ) - if isDocFile or isFolder: + if isDocFile: aConvert2 = mTrans.addAction(self.tr("Convert to {0}").format(trNote)) aConvert2.triggered.connect( lambda: self._changeItemLayout(tHandle, nwItemLayout.NOTE) ) + if isFolder and tItem.documentAllowed(): + aConvert3 = mTrans.addAction(self.tr("Convert to {0}").format(trDoc)) + aConvert3.triggered.connect( + lambda: self._covertFolderToFile(tHandle, nwItemLayout.DOCUMENT) + ) + + if isFolder: + aConvert4 = mTrans.addAction(self.tr("Convert to {0}").format(trNote)) + aConvert4.triggered.connect( + lambda: self._covertFolderToFile(tHandle, nwItemLayout.NOTE) + ) + if hasChild and isFile: aMerge1 = mTrans.addAction(self.tr("Merge Child Items into Self")) aMerge1.triggered.connect(lambda: self._mergeDocuments(tHandle, False)) From 3b9e3762d3802b8754b5f0c768d59b513ba9d0be Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Thu, 5 Jan 2023 23:50:27 +0100 Subject: [PATCH 15/24] Make sure editor/viewer is visible on open doc request (#1291) --- novelwriter/guimain.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/novelwriter/guimain.py b/novelwriter/guimain.py index 019539bb..740a3d73 100644 --- a/novelwriter/guimain.py +++ b/novelwriter/guimain.py @@ -1512,8 +1512,10 @@ class GuiMain(QMainWindow): hItem = self.theProject.index.getItemHeader(tHandle, sTitle) if hItem is not None: tLine = hItem.line + self.mainStack.setCurrentWidget(self.splitMain) self.openDocument(tHandle, tLine=tLine, changeFocus=setFocus) elif tMode == nwDocMode.VIEW: + self.mainStack.setCurrentWidget(self.splitMain) self.viewDocument(tHandle=tHandle, sTitle=sTitle) return From 31403b4299ef7bb50fc83275f73b154630b04680 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Thu, 5 Jan 2023 23:54:51 +0100 Subject: [PATCH 16/24] Fix it again, but now also for enter key (#1291) --- novelwriter/guimain.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/novelwriter/guimain.py b/novelwriter/guimain.py index 740a3d73..4b89e03b 100644 --- a/novelwriter/guimain.py +++ b/novelwriter/guimain.py @@ -610,6 +610,7 @@ class GuiMain(QMainWindow): logger.debug("Requested item '%s' is not a document", tHandle) return False + self._changeView(nwView.EDITOR) cHandle = self.docEditor.docHandle() if cHandle == tHandle: self.docEditor.setCursorLine(tLine) @@ -618,7 +619,6 @@ class GuiMain(QMainWindow): return True self.closeDocument(beforeOpen=True) - self._changeView(nwView.EDITOR) if self.docEditor.loadText(tHandle, tLine): self.theProject.data.setLastHandle(tHandle, "editor") self.projView.setSelectedHandle(tHandle, doScroll=doScroll) @@ -1512,10 +1512,8 @@ class GuiMain(QMainWindow): hItem = self.theProject.index.getItemHeader(tHandle, sTitle) if hItem is not None: tLine = hItem.line - self.mainStack.setCurrentWidget(self.splitMain) self.openDocument(tHandle, tLine=tLine, changeFocus=setFocus) elif tMode == nwDocMode.VIEW: - self.mainStack.setCurrentWidget(self.splitMain) self.viewDocument(tHandle=tHandle, sTitle=sTitle) return From 9529a79707335883fc4fe9fa348ad94df88361c1 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Sun, 8 Jan 2023 17:16:27 +0100 Subject: [PATCH 17/24] Clear the staus/import form when no item is selected (#1290) --- novelwriter/dialogs/projsettings.py | 57 ++++++++++++++++++----------- 1 file changed, 36 insertions(+), 21 deletions(-) diff --git a/novelwriter/dialogs/projsettings.py b/novelwriter/dialogs/projsettings.py index 0688bb70..ff39c835 100644 --- a/novelwriter/dialogs/projsettings.py +++ b/novelwriter/dialogs/projsettings.py @@ -338,16 +338,18 @@ class GuiProjectEditStatus(QWidget): self.editName = QLineEdit() self.editName.setMaxLength(40) - self.editName.setEnabled(False) self.editName.setPlaceholderText(self.tr("Select item to edit")) + self.editName.setEnabled(False) self.colPixmap = QPixmap(self.iPx, self.iPx) self.colPixmap.fill(QColor(100, 100, 100)) self.colButton = QPushButton(QIcon(self.colPixmap), self.tr("Colour")) self.colButton.setIconSize(self.colPixmap.rect().size()) + self.colButton.setEnabled(False) self.colButton.clicked.connect(self._selectColour) self.saveButton = QPushButton(self.tr("Save")) + self.saveButton.setEnabled(False) self.saveButton.clicked.connect(self._saveItem) # Assemble @@ -446,14 +448,15 @@ class GuiProjectEditStatus(QWidget): """Save changes made to a status item. """ selItem = self._getSelectedItem() - if selItem is not None: - selItem.setText(self.COL_LABEL, simplified(self.editName.text())) - selItem.setIcon(self.COL_LABEL, self.colButton.icon()) - selItem.setData(self.COL_LABEL, self.COL_ROLE, ( - self.selColour.red(), self.selColour.green(), self.selColour.blue() - )) - self.editName.setEnabled(False) - self.colChanged = True + if selItem is None: + return + + selItem.setText(self.COL_LABEL, simplified(self.editName.text())) + selItem.setIcon(self.COL_LABEL, self.colButton.icon()) + selItem.setData(self.COL_LABEL, self.COL_ROLE, ( + self.selColour.red(), self.selColour.green(), self.selColour.blue() + )) + self.colChanged = True return @@ -503,20 +506,32 @@ class GuiProjectEditStatus(QWidget): boxes and button. """ selItem = self._getSelectedItem() - if selItem is None: - return + if isinstance(selItem, QTreeWidgetItem): + cols = selItem.data(self.COL_LABEL, self.COL_ROLE) + name = selItem.text(self.COL_LABEL) - cols = selItem.data(self.COL_LABEL, self.COL_ROLE) - name = selItem.text(self.COL_LABEL) + pixmap = QPixmap(self.iPx, self.iPx) + pixmap.fill(QColor(*cols)) + self.selColour = QColor(*cols) + self.editName.setText(name) + self.colButton.setIcon(QIcon(pixmap)) + self.editName.selectAll() + self.editName.setFocus() - pixmap = QPixmap(self.iPx, self.iPx) - pixmap.fill(QColor(*cols)) - self.selColour = QColor(*cols) - self.editName.setText(name) - self.colButton.setIcon(QIcon(pixmap)) - self.editName.setEnabled(True) - self.editName.selectAll() - self.editName.setFocus() + self.editName.setEnabled(True) + self.colButton.setEnabled(True) + self.saveButton.setEnabled(True) + + else: + pixmap = QPixmap(self.iPx, self.iPx) + pixmap.fill(QColor(100, 100, 100)) + self.selColour = QColor(100, 100, 100) + self.editName.setText("") + self.colButton.setIcon(QIcon(pixmap)) + + self.editName.setEnabled(False) + self.colButton.setEnabled(False) + self.saveButton.setEnabled(False) return From be1894ab97dfcf0990271edfb680253054bdcfdf Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Sun, 8 Jan 2023 17:24:36 +0100 Subject: [PATCH 18/24] Clean up the status/import form code a bit --- novelwriter/dialogs/projsettings.py | 119 ++++++++++++++-------------- 1 file changed, 60 insertions(+), 59 deletions(-) diff --git a/novelwriter/dialogs/projsettings.py b/novelwriter/dialogs/projsettings.py index ff39c835..be469385 100644 --- a/novelwriter/dialogs/projsettings.py +++ b/novelwriter/dialogs/projsettings.py @@ -26,8 +26,8 @@ along with this program. If not, see . import logging import novelwriter -from PyQt5.QtGui import QIcon, QPixmap, QColor, QBrush -from PyQt5.QtCore import Qt, QLocale +from PyQt5.QtGui import QIcon, QPixmap, QColor +from PyQt5.QtCore import Qt, QLocale, pyqtSlot from PyQt5.QtWidgets import ( QColorDialog, QComboBox, QDialogButtonBox, QHBoxLayout, QLabel, QLineEdit, QPushButton, QTreeWidget, QTreeWidgetItem, QVBoxLayout, QWidget @@ -300,7 +300,7 @@ class GuiProjectEditStatus(QWidget): self.colDeleted = [] self.colChanged = False - self.selColour = QColor(100, 100, 100) + self.selColour = QColor(100, 100, 100) self.iPx = self.mainTheme.baseIconSize @@ -401,9 +401,10 @@ class GuiProjectEditStatus(QWidget): return [], [] ## - # User Actions + # Private Slots ## + @pyqtSlot() def _selectColour(self): """Open a dialog to select the status icon colour. """ @@ -419,20 +420,20 @@ class GuiProjectEditStatus(QWidget): self.colButton.setIconSize(pixmap.rect().size()) return + @pyqtSlot() def _newItem(self): """Create a new status item. """ - newItem = self._addItem(None, self.tr("New Item"), (100, 100, 100), 0) - newItem.setBackground(self.COL_LABEL, QBrush(QColor(0, 255, 0, 70))) - newItem.setBackground(self.COL_USAGE, QBrush(QColor(0, 255, 0, 70))) + self._addItem(None, self.tr("New Item"), (100, 100, 100), 0) self.colChanged = True return + @pyqtSlot() def _delItem(self): """Delete a status item. """ selItem = self._getSelectedItem() - if selItem is not None: + if isinstance(selItem, QTreeWidgetItem): iRow = self.listBox.indexOfTopLevelItem(selItem) if selItem.data(self.COL_LABEL, self.NUM_ROLE) > 0: self.mainGui.makeAlert(self.tr( @@ -444,66 +445,25 @@ class GuiProjectEditStatus(QWidget): self.colChanged = True return + @pyqtSlot() def _saveItem(self): """Save changes made to a status item. """ selItem = self._getSelectedItem() - if selItem is None: - return - - selItem.setText(self.COL_LABEL, simplified(self.editName.text())) - selItem.setIcon(self.COL_LABEL, self.colButton.icon()) - selItem.setData(self.COL_LABEL, self.COL_ROLE, ( - self.selColour.red(), self.selColour.green(), self.selColour.blue() - )) - self.colChanged = True - - return - - def _addItem(self, key, name, cols, count): - """Add a status item to the list. - """ - pixmap = QPixmap(self.iPx, self.iPx) - pixmap.fill(QColor(*cols)) - - item = QTreeWidgetItem() - item.setText(self.COL_LABEL, name) - item.setIcon(self.COL_LABEL, QIcon(pixmap)) - item.setData(self.COL_LABEL, self.KEY_ROLE, key) - item.setData(self.COL_LABEL, self.COL_ROLE, cols) - item.setData(self.COL_LABEL, self.NUM_ROLE, count) - item.setText(self.COL_USAGE, self._usageString(count)) - - self.listBox.addTopLevelItem(item) - - return item - - def _moveItem(self, step): - """Move and item up or down step. - """ - selItem = self._getSelectedItem() - if selItem is None: - return - - tIndex = self.listBox.indexOfTopLevelItem(selItem) - nChild = self.listBox.topLevelItemCount() - nIndex = tIndex + step - if nIndex < 0 or nIndex >= nChild: - return - - cItem = self.listBox.takeTopLevelItem(tIndex) - self.listBox.insertTopLevelItem(nIndex, cItem) - self.listBox.clearSelection() - - if cItem is not None: - cItem.setSelected(True) - self.colChanged = True + if isinstance(selItem, QTreeWidgetItem): + selItem.setText(self.COL_LABEL, simplified(self.editName.text())) + selItem.setIcon(self.COL_LABEL, self.colButton.icon()) + selItem.setData(self.COL_LABEL, self.COL_ROLE, ( + self.selColour.red(), self.selColour.green(), self.selColour.blue() + )) + self.colChanged = True return + @pyqtSlot() def _selectedItem(self): """Extract the info of a selected item and populate the settings - boxes and button. + boxes and button. If no item is selected, clear the form. """ selItem = self._getSelectedItem() if isinstance(selItem, QTreeWidgetItem): @@ -539,6 +499,47 @@ class GuiProjectEditStatus(QWidget): # Internal Functions ## + def _addItem(self, key, name, cols, count): + """Add a status item to the list. + """ + pixmap = QPixmap(self.iPx, self.iPx) + pixmap.fill(QColor(*cols)) + + item = QTreeWidgetItem() + item.setText(self.COL_LABEL, name) + item.setIcon(self.COL_LABEL, QIcon(pixmap)) + item.setData(self.COL_LABEL, self.KEY_ROLE, key) + item.setData(self.COL_LABEL, self.COL_ROLE, cols) + item.setData(self.COL_LABEL, self.NUM_ROLE, count) + item.setText(self.COL_USAGE, self._usageString(count)) + + self.listBox.addTopLevelItem(item) + + return + + def _moveItem(self, step): + """Move and item up or down step. + """ + selItem = self._getSelectedItem() + if selItem is None: + return + + tIndex = self.listBox.indexOfTopLevelItem(selItem) + nChild = self.listBox.topLevelItemCount() + nIndex = tIndex + step + if nIndex < 0 or nIndex >= nChild: + return + + cItem = self.listBox.takeTopLevelItem(tIndex) + self.listBox.insertTopLevelItem(nIndex, cItem) + self.listBox.clearSelection() + + if cItem is not None: + cItem.setSelected(True) + self.colChanged = True + + return + def _getSelectedItem(self): """Get the currently selected item. """ From 22d761dea321305199c1d1048cd57d377b4de6d7 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Sun, 8 Jan 2023 17:57:47 +0100 Subject: [PATCH 19/24] Improve handling of unexpected project items (#1283) --- novelwriter/gui/projtree.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/novelwriter/gui/projtree.py b/novelwriter/gui/projtree.py index 5faa85b2..96af1ecd 100644 --- a/novelwriter/gui/projtree.py +++ b/novelwriter/gui/projtree.py @@ -1693,19 +1693,23 @@ class GuiProjectTree(QTreeWidget): del self._treeMap[tHandle] return None - else: + elif pHandle in self._treeMap: byIndex = -1 if nHandle is not None and nHandle in self._treeMap: - try: - byIndex = self._treeMap[pHandle].indexOfChild(self._treeMap[nHandle]) - except Exception: - logger.error("Failed to get index of item with handle '%s'", nHandle) + byIndex = self._treeMap[pHandle].indexOfChild(self._treeMap[nHandle]) if byIndex >= 0: self._treeMap[pHandle].insertChild(byIndex + 1, newItem) else: self._treeMap[pHandle].addChild(newItem) self.propagateCount(tHandle, nwItem.wordCount, countChildren=True) + else: + self.mainGui.makeAlert(self.tr( + "There is nowhere to add item with name '{0}'." + ).format(nwItem.itemName), nwAlert.ERROR) + del self._treeMap[tHandle] + return None + self.setTreeItemValues(tHandle) newItem.setExpanded(nwItem.isExpanded) From 65bfd20cedffc240ed0fbb002e154bdc40ba7cf8 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Sun, 8 Jan 2023 18:11:06 +0100 Subject: [PATCH 20/24] Update tests --- tests/test_gui/test_gui_projtree.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/test_gui/test_gui_projtree.py b/tests/test_gui/test_gui_projtree.py index cbf607d8..684f4dd3 100644 --- a/tests/test_gui/test_gui_projtree.py +++ b/tests/test_gui/test_gui_projtree.py @@ -885,6 +885,11 @@ def testGuiProjTree_Other(qtbot, monkeypatch, nwGUI, projPath, mockRnd): nwGUI.theProject.tree[nHandle].setParent(None) assert projTree.revealNewTreeItem(nHandle) is False + # Try to add an item with unknown parent to the tree + nHandle = nwGUI.theProject.newFile("Test", C.hNovelRoot) + nwGUI.theProject.tree[nHandle].setParent(C.hInvalid) + assert projTree.revealNewTreeItem(nHandle) is False + # Method: undoLastMove # ==================== From 073a945b8e598caa2c372ebdbd519fc9a064012e Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Sun, 8 Jan 2023 18:42:28 +0100 Subject: [PATCH 21/24] Update translations --- i18n/nw_base.ts | 59 ++-- i18n/nw_de_DE.ts | 672 +++++++++++++++++++--------------------- i18n/nw_en_US.ts | 672 +++++++++++++++++++--------------------- i18n/nw_es_419.ts | 760 ++++++++++++++++++++++------------------------ i18n/nw_fr_FR.ts | 294 ++++++++---------- i18n/nw_nb_NO.ts | 672 +++++++++++++++++++--------------------- i18n/nw_nl_NL.ts | 672 +++++++++++++++++++--------------------- i18n/nw_pt_BR.ts | 672 +++++++++++++++++++--------------------- i18n/nw_zh_CN.ts | 208 +++++-------- 9 files changed, 2166 insertions(+), 2515 deletions(-) diff --git a/i18n/nw_base.ts b/i18n/nw_base.ts index 40a0a839..9d384af0 100644 --- a/i18n/nw_base.ts +++ b/i18n/nw_base.ts @@ -3055,27 +3055,27 @@ GuiProjectEditReplace - + Text Replace List for Preview and Export - + Keyword - + Replace With - + Select item to edit - + Save @@ -3103,7 +3103,7 @@
- + Select item to edit @@ -3113,37 +3113,37 @@
- + Save - + Select Colour - + New Item - + Cannot delete a status item that is in use. - + Not in use - + Used once - + Used by {0} items @@ -3418,79 +3418,82 @@ + + Convert to {0} - + Merge Child Items into Self - + Merge Child Items into New - + Merge Documents in Folder - + Split Document by Headers - + Expand All - + Collapse All - + Delete Permanently - + Move to Trash - + Convert Folder - + Do you want to convert the folder to a {0}? This action cannot be reversed. - + No documents selected for merging. - + Merged - - + + Could not write document content. - + + There is nowhere to add item with name '{0}'. diff --git a/i18n/nw_de_DE.ts b/i18n/nw_de_DE.ts index d6d8ce99..6cd62475 100644 --- a/i18n/nw_de_DE.ts +++ b/i18n/nw_de_DE.ts @@ -342,448 +342,396 @@ GuiAbout - + About novelWriter Über novelWriter - + About Über - + Release Version - - - - - Licence - Lizenz - - - - Website: {0} - Website: {0} - - - + Credits Mitwirkende - - Developer - Entwicklung + + Licence + Lizenz - - Concept - Konzeption + + Website: {0} + Website: {0} - i18n - i18n - - - novelWriter is a markdown-like text editor designed for organising and writing novels. It is written in Python 3 with a Qt5 GUI, using PyQt5. novelWriter ist ein Markdown-Editor für das Organisieren und Schreiben von Romanen. Entwickelt in Python 3 mit einer Qt5-Benutzeroberfläche (PyQt5). - + novelWriter is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. novelWriter ist kostenlose und frei verfügbare Software. Unter den Bedingungen der GNU General Public Licence (herausgegeben von der Free Software Foundation; Version 3 oder jede neuere Version) können Sie novelWriter weiterverteilen und/oder modifizieren. - + novelWriter is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. novelWriter wird in der Hoffnung vertrieben, für den Anwender nützlich zu sein. Es besteht jedoch KEINERLEI GARANTIE, auch keine stillschweigende Garantie der VERKEHRSREIFE oder der EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. - + See the Licence tab for the full licence text, or visit the GNU website at {0} for more details. Die vollständige Lizenz können Sie unter dem Registerreiter „Lizenz“ einsehen. Weitere Informationen finden Sie auf der GNU-Website ({0}). - - - Translations - Übersetzung - - - - Theme: {0} - Theme: {0} - - - - - - Author - Ersteller - - - - - - Credit - Urheber - - - - Icons: {0} - Icons: {0} - - - - Syntax: {0} - Syntax: {0} - GuiBuildNovel - + Build Novel Project Romanprojekt zusammenbauen - + Title Formats for Novel Files Überschriftenformate - + Formatting Codes: Formatierungscodes: - + {0} for the title as set in the document {0} Titel wie im Dokument - + {0} for chapter number (1, 2, 3) {0} Kapitelnummer (1, 2, 3) - + {0} for chapter number as a word (one, two) {0} Kapitelnummer (eins, zwei, drei) - + {0} for chapter number in upper case Roman {0} Kapitelnummer in Römischen Ziffern (Majuskel) - + {0} for chapter number in lower case Roman {0} Kapitelnummer in Römischen Ziffern (Minuskel) - + {0} for scene number within chapter {0} Szenenummer im Kapitel - + {0} for scene number within novel {0} Szenenummer im Roman - + Leave blank to skip this heading, or set to a static text, like for instance '{0}', to make a separator. The separator will be centred automatically and only appear between sections of the same type. Feld frei lassen, um diese Überschrift auszulassen. Falls Sie im Feld keine Variablen verwenden, z.B. nur „{0}“, so werden zwischen gleichartigen Abschnitten automatisch zentrierte Trenner eingefügt. - + Not Set Nicht definiert - + Title Titel - + Chapter Kapitel - + Unnumbered Nicht nummeriert - + Scene Szene - + Section Abschnitt - + Language Sprache - + Hide scene Szene verbergen - + Hide section Abschnitt verbergen - + Font Options Schrift - + Font family Schriftart - + Font size Schriftgröße - + Line height Zeilenhöhe - + Justify text Blocksatz - + Disable styling Stile deaktivieren - + Styling Options Stil - + Include Options Mit einbeziehen - + Include synopsis Zusammenfassung - + Include comments Kommentare - + Include keywords Stichwörter - + Include body text Dokumententext - + Root Filter Options Filtern - + File Filter Options Filtern - + Include novel files Romandokumente - + Include note files Projektnotizen - + Include inactive files Inaktive Dateien einbeziehen - + Export Options Exportoptionen - + Replace tabs with spaces Tabs durch Leerzeichen ersetzen - + Replace Unicode in HTML Unicode in HTML ersetzen - + Build Preview Vorschau erstellen - + Print Drucken - + Print Preview Druckvorschau - + Print to PDF Als PDF drucken - + Save As Speichern als - + Open Document (.odt) Open Document (.odt) - + Flat Open Document (.fodt) Flat Open Document (.fodt) - + novelWriter HTML (.htm) novelWriter-HTML (.htm) - + novelWriter Markdown (.nwd) novelWriter-Markdown (.nwd) - + Standard Markdown (.md) Standard-Markdown (.md) - + GitHub Markdown (.md) GitHub-Markdown (.md) - + JSON + novelWriter HTML (.json) JSON + NovelWriter-HTML (.json) - + JSON + novelWriter Markdown (.json) JSON + NovelWriter-Markdown (.json) - + Close Schließen - + Failed to generate preview. The result is too big. Vorschau konnte nicht erstellt werden - zu groß. - + There were problems when building the project: Probleme beim Erstellen des Projekts: - + Open Document Open Document - + Flat Open Document Flat Open Document - + Plain HTML Reines HTML - + novelWriter Markdown novelWriter-Markdown - + Standard Markdown Standard-Markdown - + GitHub Markdown GitHub-Markdown - + JSON + novelWriter HTML JSON + novelWriter-HTML - + JSON + novelWriter Markdown JSON + novelWriter-Markdown - + PDF PDF - + Save Document As Datei speichern unter - + {0} file successfully written to: {0} erfolgreich gespeichert unter: - + Failed to write {0} file. {1} Fehler beim Speichern der {0}-Datei. {1} @@ -791,17 +739,17 @@ GuiBuildNovelDocView - + This area will show the content of the document to be exported or printed. Press the "Build Preview" button to generate content. Dieser Bereich dient der Export- und Druckvorschau. Klicke auf „Vorschau erstellen“, um den Inhalt anzuzeigen. - + Unknown Unbekannt - + Build Time: Vorschau erstellt am: @@ -809,32 +757,32 @@ GuiDocEditFooter - + Status Status - + Line: {0} ({1}) Zeile: {0} ({1}) - + Words: {0} ({1}) Wörter: {0} ({1}) - + Document size is {0} bytes Dateigröße: {0} bytes - + Words: {0} selected Wörter: {0} markiert - + Character count: {0} Zeichenanzahl: {0} @@ -842,22 +790,22 @@ GuiDocEditHeader - + Edit document label Name des Dokuments ändern - + Search document Dokument durchsuchen - + Toggle Focus Mode Ablenkungsfrei ein/aus - + Close the document Dokument schließen @@ -865,58 +813,58 @@ GuiDocEditSearch - - + + Search Suchen - + Replace Ersetzen - + Case Sensitive Groß-/Kleinschreibung beachten - + Whole Words Only Nur ganze Wörter - + RegEx Mode RegEx-Modus - + Loop Search Suche am Anfang fortsetzen - + Search Next File Nächstes Dokument durchsuchen - + Preserve Case Groß-/Kleinschreibung beibehalten - + Close Search Suche schließen - + Find in current document Im geöffneten Dokument suchen - + Find and replace in current document Im geöffneten Dokument suchen und ersetzen @@ -924,117 +872,117 @@ GuiDocEditor - + The document you are trying to open is too big. The document size is {0} MB. The maximum size allowed is {1} MB. Das zu öffnende Dokument ist zu groß ({0} MB). Die maximal zulässige Größe ist {1} MB. - + Opened Document: {0} Dokument geöffnet: {0} - + The text you are trying to add is too big. The text size is {0} MB. The maximum size allowed is {1} MB. Zuviel Text. Die Größe Ihrer Datei ist {0} MB. Die maximal zulässige Größe ist {1} MB. - + File Changed on Disk Datei auf der Festplatte geändert - + This document has been changed outside of novelWriter while it was open. Overwrite the file on disk? Dieses Dokument wurde außerhalb von novelWriter geändert, während es hier geöffnet war. Möchten Sie die externen Änderungen überschreiben? - + Could not save document. Dokument konnte nicht gespeichert werden. - + Saved Document: {0} Dokument gespeichert: {0} - + Spell checking requires the package PyEnchant. It does not appear to be installed. Die Rechtschreibprüfung erfordert das Paket PyEnchant. Es scheint nicht installiert zu sein. - + Spell check complete Rechtschreibprüfung abgeschlossen - + File Location Dateispeicherort - + The currently open file is saved in: Das geöffnete Dokument ist hier gespeichert: - + The document has grown too big and you cannot add more text to it. The maximum size of a single novelWriter document is {0} MB. Dokument ist zu groß - Sie können keinen Text mehr hinzufügen. Die maximale Größe für ein novelWriter-Dokument ist {0} MB. - + Follow Tag Schlagwort öffnen - + Cut Ausschneiden - + Copy Kopieren - + Paste Einfügen - + Select All Alles markieren - + Select Word Wort markieren - + Select Paragraph Absatz markieren - + Spelling Suggestion(s) Korrekturvorschläge - + No Suggestions Keine Vorschläge - + Add Word to Dictionary Zum Wörterbuch hinzufügen - + Please select some text before calling replace quotes. Bitte markieren Sie den Text, in dem die Anführungszeichen ersetzt werden sollen. @@ -1291,173 +1239,173 @@ GuiMain - + You are running an untested development version of novelWriter. Please be careful when working on a live project and make sure you take regular backups. Sie arbeiten mit einer nicht getesteten Entwicklungsversion von novelWriter. Bitte seien Sie vorsichtig mit wichtigen Projekten und erstellen Sie regelmäßig Backups. - + novelWriter is ready ... novelWriter ist bereit ... - + Cannot create a new project when another project is open. Solange ein Projekt geöffnet ist, kann kein neues Projekt erstellt werden. - + A project already exists in that location. Please choose another folder. In diesem Verzeichnis existiert bereits ein Projekt. Bitte wählen Sie ein anderes Verzeichnis aus. - + Close Project Projekt schließen - + Close the current project? Geöffnetes Projekt schließen? - - + + Changes are saved automatically. Alle Änderungen werden automatisch gespeichert. - + Backup Project Backup erstellen - + Backup the current project? Backup des geöffneten Projektes erstellen? - + The project was locked by the computer '{0}' ({1} {2}), last active on {3}. Projekt gesperrt von Computer '{0}' ({1} {2}), letzte Aktivität war am {3}. - + Project Locked Projekt gesperrt - + The project is already open by another instance of novelWriter, and is therefore locked. Override lock and continue anyway? Das Projekt ist bereits in einer anderen Instanz von novelWriter geöffnet und daher gesperrt. Sperre aufheben und fortfahren? - + Note: If the program or the computer previously crashed, the lock can safely be overridden. However, overriding it is not recommended if the project is open in another instance of novelWriter. Doing so may corrupt the project. Hinweis: Nach einem Computer- oder Programmabsturz können Sie die Sperre einfach überschreiben. Falls das Projekt bereits in einer anderen Instanz von novelWriter geöffnet ist, könnte ein Überschreiben der Sperre zu fehlerhaften Daten führen. - + The project index is outdated or broken. Rebuilding index. Der Index ist nicht aktuell oder defekt. Index wird aktualisiert. - + Text files ({0}) Textdateien ({0}) - + Markdown files ({0}) Markdown-Dateien ({0}) - + novelWriter files ({0}) novelWriter-Dateien ({0}) - + All files ({0}) Alle Dateien ({0}) - + Import File Textdatei importieren - + Could not read file. The file must be an existing text file. Datei konnte nicht gelesen werden. Bitte wählen Sie eine gültige Datei mit Text aus. - + Please open a document to import the text file into. Bitte öffnen Sie zuerst ein Dokument in novelWriter, in welches Sie den Text importieren möchten. - + Import Document Dokument importieren - + Importing the file will overwrite the current content of the document. Do you want to proceed? Das Importieren einer Datei überschreibt den Inhalt des geöffneten Dokuments. Fortfahren? - + Indexing completed in {0} ms Index erstellt in {0} ms - + The project index has been successfully rebuilt. Index wurde erfolgreich aktualisiert. - + Some changes will not be applied until novelWriter has been restarted. Einige Änderungen können erst nach Neustart von novelWriter angewendet werden. - + Information Information - + Warning Warnung - + Error Fehler - + This is a bug! Dies ist ein Fehler! - + Internal Error Interner Fehler - + Exit Programm beenden - + Do you want to exit novelWriter? Möchten Sie novelWriter beenden? - + Could not find the reference for tag '{0}'. It either doesn't exist, or the index is out of date. The index can be updated from the Tools menu, or by pressing {1}. Der Verweis für das Schlagwort „{0}“ konnte nicht gefunden werden. Entweder es existiert nicht oder der Index ist veraltet. Aktualisieren Sie den Index über den Menüpunkt „Extras“ oder mit der Taste {1}. @@ -2288,103 +2236,103 @@ GuiPreferencesAutomation - + Automatic Features Automatische Funktionen - + Auto-select word under cursor Wort mit Eingabezeiger gilt als „markiert“ - + Apply formatting to word under cursor if no selection is made. Wenn nichts markiert ist, werden Formatierung auf das Wort mit dem Eingabezeiger angewendet. - + Auto-replace text as you type Text automatisch ersetzen - + Allow the editor to replace symbols as you type. Während der Eingabe automatisch ersetzen. Siehe unten für Optionen. - + Replace as You Type Automatisch ersetzen - + Auto-replace single quotes Einfache Anführungszeichen - - + + Try to guess which is an opening or a closing quote. Öffnende und schließende Anführungszeichen werden automatisch erkannt. - + Auto-replace double quotes Doppelte Anführungszeichen - + Auto-replace dashes Querstriche ersetzen - + Double and triple hyphens become short and long dashes. Doppelte und dreifache Bindestriche werden zu Gedankenstrichen und Geviertstrichen umgewandelt. - + Auto-replace dots Drei Punkte ersetzen - + Three consecutive dots become ellipsis. Drei aufeinander folgende Punkte werden zu Auslassungspunkten umgewandelt. - + Automatic Padding Automatische Zwischenräume - + Insert non-breaking space before Geschütztes Leerzeichen einfügen vor - + Automatically add space before any of these symbols. Vor diesen Zeichen wird automatisch ein Leerzeichen eingefügt. - + Insert non-breaking space after Geschütztes Leerzeichen einfügen nach - + Automatically add space after any of these symbols. Nach diesen Zeichen wird automatisch ein Leerzeichen eingefügt. - + Use thin space instead Schmales Leerzeichen verwenden - + Inserts a thin space instead of a regular space. Schmales Leerzeichen anstelle eines normalen Leerzeichens verwenden. @@ -2810,47 +2758,47 @@ GuiPreferencesQuotes - + Quotation Style Bevorzugte Anführungszeichen - + Single quote open style Einfaches Anführungszeichen links - + The symbol to use for a leading single quote. Beginn von wörtlicher Rede mit einfachen Anführungszeichen. - + Single quote close style Einfaches Anführungszeichen rechts - + The symbol to use for a trailing single quote. Ende von wörtlicher Rede mit einfachen Anführungszeichen. - + Double quote open style Doppeltes Anführungszeichen links - + The symbol to use for a leading double quote. Beginn von wörtlicher Rede mit doppelten Anführungszeichen. - + Double quote close style Doppeltes Anführungszeichen rechts - + The symbol to use for a trailing double quote. Ende von wörtlicher Rede mit doppelten Anführungszeichen. @@ -2858,59 +2806,59 @@ GuiPreferencesSyntax - + Quotes & Dialogue Anführungszeichen - + Highlight text wrapped in quotes Text in Anführungszeichen hervorheben - - - + + + Applies to the document editor only. Gilt nur für den Editor. - + Allow open-ended single quotes Erlaube einfache Anführungszeichen ohne Schließung - + Highlight single-quoted line with no closing quote. Hebt Text in einfachen Anführungszeichen hervor, auch wenn kein schließendes Anführungszeichen gefunden wird. - + Allow open-ended double quotes Erlaube doppelte Anführungszeichen ohne Schließung - + Highlight double-quoted line with no closing quote. Hebt Text in doppelten Anführungszeichen hervor, auch wenn kein schließendes Anführungszeichen gefunden wird. - + Text Emphasis Schriftauszeichnung - + Add highlight colour to emphasised text Kursiven und fetten Text hervorheben - + Text Errors Fehler im Text - + Highlight multiple or trailing spaces Mehrere oder nachfolgende Leerzeichen hervorheben @@ -3107,27 +3055,27 @@ GuiProjectEditReplace - + Text Replace List for Preview and Export Textersetzung für Dokumentenansicht und Export - + Keyword Stichwort - + Replace With Ersetzen durch - + Select item to edit Element zum Bearbeiten auswählen - + Save Speichern @@ -3155,7 +3103,7 @@ Vorkommen - + Select item to edit Element zum Bearbeiten auswählen @@ -3165,37 +3113,37 @@ Farbe - + Save Speichern - + Select Colour Farbe wählen - + New Item Neuer Eintrag - + Cannot delete a status item that is in use. Element konnte nicht gelöscht werden, da es von Dokumenten genutzt wird. - + Not in use Nicht verwendet - + Used once Einmal verwendet - + Used by {0} items Verwendet von {0} Elementen @@ -3295,52 +3243,52 @@ GuiProjectToolBar - + Project Content Projektinhalt - + Quick Links Schnellzugriff - + Move Up Nach oben - + Move Down Nach unten - + Add Item Element hinzufügen - + Expand All Alle ausklappen - + Collapse All Alle einklappen - + Undo Move Verschieben rückgängig machen - + Empty Trash Papierkorb leeren - + More Options Weitere Optionen @@ -3348,201 +3296,204 @@ GuiProjectTree - + Active Aktiv - + Inactive Inaktiv - + Did not find anywhere to add the file or folder! Konnte das Dokument oder den Ordner nirgends hinzufügen! - + Cannot add new files or folders to the Trash folder. Im Papierkorb kann kein neuer Ordner erstellt werden. - + New Note Neue Notiz - + New Chapter Neues Kapitel - + New Scene Neue Szene - + New Document Neues Dokument - + New Folder Neuer Ordner - + There is currently no Trash folder in this project. Derzeit gibt es keinen Papierkorb für dieses Projekt. - + The Trash folder is already empty. Papierkorb ist bereits leer. - - + + Empty Trash Papierkorb leeren - + Permanently delete {0} file(s) from Trash? {0} Element(e) endgültig löschen? - - + + Delete Löschen - + Move '{0}' to Trash? „{0}“ in den Papierkorb verschieben? - + Root folders can only be deleted when they are empty. Hauptordner können nur gelöscht werden, wenn sie leer sind. - + Permanently delete '{0}'? „{0}“ endgültig löschen? - + Open Document Dokument öffnen - + View Document Dokument anzeigen - + Change Label Umbenennen - + Toggle Active Aktivieren/Deaktivieren - + Set Status to ... Status ändern zu ... - + Set Importance to ... Wichtigkeit ändern zu ... - + Transform Umwandeln - - + + + + Convert to {0} Umwandeln in {0} - + Merge Child Items into Self Unterelemente in dieses Dokument zusammenführen - + Merge Child Items into New Unterelemente in neues Dokument zusammenführen - + Merge Documents in Folder Dokumente im Ordner zusammenführen - + Split Document by Headers Dokument nach Überschriften aufteilen - + Expand All Alle ausklappen - + Collapse All Alle einklappen - + Delete Permanently Endgültig löschen - + Move to Trash In den Papierkorb verschieben - + Convert Folder Ordner umwandeln - + Do you want to convert the folder to a {0}? This action cannot be reversed. Möchten Sie den Ordner umwandeln zu {0}? Diese Aktion kann nicht rückgängig gemacht werden. - + No documents selected for merging. Keine Dokumente zum Zusammenführen ausgewählt. - + Merged Zusammengeführt - - + + Could not write document content. Inhalt des Dokuments konnte nicht geschrieben werden. - + + There is nowhere to add item with name '{0}'. Konnte das Element mit dem Namen „{0}“ nirgends hinzufügen. @@ -3829,163 +3780,168 @@ Datei konnte nicht gelöscht werden. - + + Could not open project with path: {0} + Konnte das Projekt mit dem Pfad {0} nicht öffnen + + + Unknown Unbekannt - + Project file does not appear to be a novelWriterXML file. Projektdatei scheint keine gültiges novelWriterXML zu sein. - + Unknown or unsupported novelWriter project file format. The project cannot be opened by this version of novelWriter. The file was saved with novelWriter version {0}. Unbekanntes oder nicht unterstütztes novelWriter-Projektformat. Das Projekt kann von dieser novelWriter-Version nicht geöffnet werden. Die Datei wurde gespeichert in Version {0}. - + Failed to parse project xml. XML-Datei des Projektes konnte nicht gelesen werden. - + File Version Dateiversion - + The file format of your project is about to be updated. If you proceed, older versions of novelWriter will no longer be able to open this project. Continue? Das Dateiformat Ihres Projekts soll aktualisiert werden. Wenn Sie fortfahren, werden ältere Versionen von novelWriter dieses Projekt nicht mehr öffnen können. Fortfahren? - + Version Conflict Versionskonflikt - + This project was saved by a newer version of novelWriter, version {0}. This is version {1}. If you continue to open the project, some attributes and settings may not be preserved, but the overall project should be fine. Continue opening the project? Dieses Projekt wurde in einer aktuelleren novelWriter-Version gespeichert ({0}). Die installierte Version ist {1}. Falls Sie das Projekt dennoch öffnen möchten, könnten einige Eigenschaften und Einstellungen möglicherweise nicht beibehalten werden. Abgesehen davon sollte das Projekt jedoch in Ordnung sein. Projekt öffnen? - + Opened Project: {0} Projekt geöffnet: {0} - + There is no project open. Es ist kein Projekt offen. - + Failed to save project. Projekt konnte nicht gespeichert werden. - + Saved Project: {0} Projekt gespeichert: {0} - + Backing up project ... Backup wird erstellt ... - + Cannot backup project because no valid backup path is set. Please set a valid backup location in Preferences. Ein Backup konnte nicht erstellt werden, da kein gültiger Speicherort festgelegt ist. Bitte geben Sie in den Einstellungen einen gültigen Speicherort an. - + Cannot backup project because no project name is set. Please set a Project Name in Project Settings. Ein Backup konnte nicht erstellt werden, da kein Projektname angegeben ist. Bitte legen Sie einen Projektnamen in den Projekteinstellungen fest. - + Could not create backup folder. Backup-Verzeichnis konnte nicht erstellt werden. - + Backup from {0} Backup vom {0} - + Backup archive file written to: {0} Backup erstellt: {0} - + Could not write backup archive. Backup-Archiv konnte nicht erstellt werden. - + Project backed up to '{0}' Backup erstellt: {0} - - + + New Neu - + Note Notiz - + Draft Entwurf - + Finished Fertig - + Minor Unwesentlich - + Major Wichtig - + Main Zentral - + Found {0} orphaned file(s) in project folder. {0} verwaiste Datei(en) im Projektverzeichnis gefunden. - + Recovered Wiederhergestellt - + [{0}] {1} [{0}] {1} - + Recovered File {0} Wiederhergestelltes Dokument {0} - + One or more orphaned files could not be added back into the project. Make sure at least a Novel root folder exists. Ein oder mehrere verwaiste Dokumente konnte nicht wieder in das Projekt eingefügt werden. Stellen Sie sicher, dass mindestens der Hauptordner „Roman“ existiert. diff --git a/i18n/nw_en_US.ts b/i18n/nw_en_US.ts index 67780a41..40b5694d 100644 --- a/i18n/nw_en_US.ts +++ b/i18n/nw_en_US.ts @@ -342,448 +342,396 @@ GuiAbout - + About novelWriter About novelWriter - + About About - + Release Release - - - - - Licence - License - - - - Website: {0} - Website: {0} - - - + Credits Credits - - Developer - Developer + + Licence + License - - Concept - Concept + + Website: {0} + Website: {0} - i18n - i18n - - - novelWriter is a markdown-like text editor designed for organising and writing novels. It is written in Python 3 with a Qt5 GUI, using PyQt5. novelWriter is a markdown-like text editor designed for organising and writing novels. It is written in Python 3 with a Qt5 GUI, using PyQt5. - + novelWriter is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. novelWriter is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - + novelWriter is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. novelWriter is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - + See the Licence tab for the full licence text, or visit the GNU website at {0} for more details. See the License tab for the full license text, or visit the GNU website at {0} for more details. - - - Translations - Translations - - - - Theme: {0} - Theme: {0} - - - - - - Author - Author - - - - - - Credit - Credit - - - - Icons: {0} - Icons: {0} - - - - Syntax: {0} - Syntax: {0} - GuiBuildNovel - + Build Novel Project Build Novel Project - + Title Formats for Novel Files Title Formats for Novel Files - + Formatting Codes: Formatting Codes: - + {0} for the title as set in the document {0} for the title as set in the document - + {0} for chapter number (1, 2, 3) {0} for chapter number (1, 2, 3) - + {0} for chapter number as a word (one, two) {0} for chapter number as a word (one, two) - + {0} for chapter number in upper case Roman {0} for chapter number in upper case Roman - + {0} for chapter number in lower case Roman {0} for chapter number in lower case Roman - + {0} for scene number within chapter {0} for scene number within chapter - + {0} for scene number within novel {0} for scene number within novel - + Leave blank to skip this heading, or set to a static text, like for instance '{0}', to make a separator. The separator will be centred automatically and only appear between sections of the same type. Leave blank to skip this heading, or set to a static text, like for instance '{0}', to make a separator. The separator will be centered automatically and only appear between sections of the same type. - + Not Set Not Set - + Title Title - + Chapter Chapter - + Unnumbered Unnumbered - + Scene Scene - + Section Section - + Language Language - + Hide scene Hide scene - + Hide section Hide section - + Font Options Font Options - + Font family Font family - + Font size Font size - + Line height Line height - + Justify text Justify text - + Disable styling Disable styling - + Styling Options Styling Options - + Include Options Include Options - + Include synopsis Include synopsis - + Include comments Include comments - + Include keywords Include keywords - + Include body text Include body text - + Root Filter Options Root Filter Options - + File Filter Options File Filter Options - + Include novel files Include novel files - + Include note files Include note files - + Include inactive files Include inactive files - + Export Options Export Options - + Replace tabs with spaces Replace tabs with spaces - + Replace Unicode in HTML Replace Unicode in HTML - + Build Preview Build Preview - + Print Print - + Print Preview Print Preview - + Print to PDF Print to PDF - + Save As Save As - + Open Document (.odt) Open Document (.odt) - + Flat Open Document (.fodt) Flat Open Document (.fodt) - + novelWriter HTML (.htm) novelWriter HTML (.htm) - + novelWriter Markdown (.nwd) novelWriter Markdown (.nwd) - + Standard Markdown (.md) Standard Markdown (.md) - + GitHub Markdown (.md) GitHub Markdown (.md) - + JSON + novelWriter HTML (.json) JSON + novelWriter HTML (.json) - + JSON + novelWriter Markdown (.json) JSON + novelWriter Markdown (.json) - + Close Close - + Failed to generate preview. The result is too big. Failed to generate preview. The result is too big. - + There were problems when building the project: There were problems when building the project: - + Open Document Open Document - + Flat Open Document Flat Open Document - + Plain HTML Plain HTML - + novelWriter Markdown novelWriter Markdown - + Standard Markdown Standard Markdown - + GitHub Markdown GitHub Markdown - + JSON + novelWriter HTML JSON + novelWriter HTML - + JSON + novelWriter Markdown JSON + novelWriter Markdown - + PDF PDF - + Save Document As Save Document As - + {0} file successfully written to: {0} file successfully written to: - + Failed to write {0} file. {1} Failed to write {0} file. {1} @@ -791,17 +739,17 @@ GuiBuildNovelDocView - + This area will show the content of the document to be exported or printed. Press the "Build Preview" button to generate content. This area will show the content of the document to be exported or printed. Press the "Build Preview" button to generate content. - + Unknown Unknown - + Build Time: Build Time: @@ -809,32 +757,32 @@ GuiDocEditFooter - + Status Status - + Line: {0} ({1}) Line: {0} ({1}) - + Words: {0} ({1}) Words: {0} ({1}) - + Document size is {0} bytes Document size is {0} bytes - + Words: {0} selected Words: {0} selected - + Character count: {0} Character count: {0} @@ -842,22 +790,22 @@ GuiDocEditHeader - + Edit document label Edit document label - + Search document Search document - + Toggle Focus Mode Toggle Focus Mode - + Close the document Close the document @@ -865,58 +813,58 @@ GuiDocEditSearch - - + + Search Search - + Replace Replace - + Case Sensitive Case Sensitive - + Whole Words Only Whole Words Only - + RegEx Mode RegEx Mode - + Loop Search Loop Search - + Search Next File Search Next File - + Preserve Case Preserve Case - + Close Search Close Search - + Find in current document Find in current document - + Find and replace in current document Find and replace in current document @@ -924,117 +872,117 @@ GuiDocEditor - + The document you are trying to open is too big. The document size is {0} MB. The maximum size allowed is {1} MB. The document you are trying to open is too big. The document size is {0} MB. The maximum size allowed is {1} MB. - + Opened Document: {0} Opened Document: {0} - + The text you are trying to add is too big. The text size is {0} MB. The maximum size allowed is {1} MB. The text you are trying to add is too big. The text size is {0} MB. The maximum size allowed is {1} MB. - + File Changed on Disk File Changed on Disk - + This document has been changed outside of novelWriter while it was open. Overwrite the file on disk? This document has been changed outside of novelWriter while it was open. Overwrite the file on disk? - + Could not save document. Could not save document. - + Saved Document: {0} Saved Document: {0} - + Spell checking requires the package PyEnchant. It does not appear to be installed. Spell checking requires the package PyEnchant. It does not appear to be installed. - + Spell check complete Spell check complete - + File Location File Location - + The currently open file is saved in: The currently open file is saved in: - + The document has grown too big and you cannot add more text to it. The maximum size of a single novelWriter document is {0} MB. The document has grown too big and you cannot add more text to it. The maximum size of a single novelWriter document is {0} MB. - + Follow Tag Follow Tag - + Cut Cut - + Copy Copy - + Paste Paste - + Select All Select All - + Select Word Select Word - + Select Paragraph Select Paragraph - + Spelling Suggestion(s) Spelling Suggestion(s) - + No Suggestions No Suggestions - + Add Word to Dictionary Add Word to Dictionary - + Please select some text before calling replace quotes. Please select some text before calling replace quotes. @@ -1291,173 +1239,173 @@ GuiMain - + You are running an untested development version of novelWriter. Please be careful when working on a live project and make sure you take regular backups. You are running an untested development version of novelWriter. Please be careful when working on a live project and make sure you take regular backups. - + novelWriter is ready ... novelWriter is ready ... - + Cannot create a new project when another project is open. Cannot create a new project when another project is open. - + A project already exists in that location. Please choose another folder. A project already exists in that location. Please choose another folder. - + Close Project Close Project - + Close the current project? Close the current project? - - + + Changes are saved automatically. Changes are saved automatically. - + Backup Project Backup Project - + Backup the current project? Backup the current project? - + The project was locked by the computer '{0}' ({1} {2}), last active on {3}. The project was locked by the computer '{0}' ({1} {2}), last active on {3}. - + Project Locked Project Locked - + The project is already open by another instance of novelWriter, and is therefore locked. Override lock and continue anyway? The project is already open by another instance of novelWriter, and is therefore locked. Override lock and continue anyway? - + Note: If the program or the computer previously crashed, the lock can safely be overridden. However, overriding it is not recommended if the project is open in another instance of novelWriter. Doing so may corrupt the project. Note: If the program or the computer previously crashed, the lock can safely be overridden. However, overriding it is not recommended if the project is open in another instance of novelWriter. Doing so may corrupt the project. - + The project index is outdated or broken. Rebuilding index. The project index is outdated or broken. Rebuilding index. - + Text files ({0}) Text files ({0}) - + Markdown files ({0}) Markdown files ({0}) - + novelWriter files ({0}) novelWriter files ({0}) - + All files ({0}) All files ({0}) - + Import File Import File - + Could not read file. The file must be an existing text file. Could not read file. The file must be an existing text file. - + Please open a document to import the text file into. Please open a document to import the text file into. - + Import Document Import Document - + Importing the file will overwrite the current content of the document. Do you want to proceed? Importing the file will overwrite the current content of the document. Do you want to proceed? - + Indexing completed in {0} ms Indexing completed in {0} ms - + The project index has been successfully rebuilt. The project index has been successfully rebuilt. - + Some changes will not be applied until novelWriter has been restarted. Some changes will not be applied until novelWriter has been restarted. - + Information Information - + Warning Warning - + Error Error - + This is a bug! This is a bug! - + Internal Error Internal Error - + Exit Exit - + Do you want to exit novelWriter? Do you want to exit novelWriter? - + Could not find the reference for tag '{0}'. It either doesn't exist, or the index is out of date. The index can be updated from the Tools menu, or by pressing {1}. Could not find the reference for tag '{0}'. It either doesn't exist, or the index is out of date. The index can be updated from the Tools menu, or by pressing {1}. @@ -2288,103 +2236,103 @@ GuiPreferencesAutomation - + Automatic Features Automatic Features - + Auto-select word under cursor Auto-select word under cursor - + Apply formatting to word under cursor if no selection is made. Apply formatting to word under cursor if no selection is made. - + Auto-replace text as you type Auto-replace text as you type - + Allow the editor to replace symbols as you type. Allow the editor to replace symbols as you type. - + Replace as You Type Replace as You Type - + Auto-replace single quotes Auto-replace single quotes - - + + Try to guess which is an opening or a closing quote. Try to guess which is an opening or a closing quote. - + Auto-replace double quotes Auto-replace double quotes - + Auto-replace dashes Auto-replace dashes - + Double and triple hyphens become short and long dashes. Double and triple hyphens become short and long dashes. - + Auto-replace dots Auto-replace dots - + Three consecutive dots become ellipsis. Three consecutive dots become ellipsis. - + Automatic Padding Automatic Padding - + Insert non-breaking space before Insert non-breaking space before - + Automatically add space before any of these symbols. Automatically add space before any of these symbols. - + Insert non-breaking space after Insert non-breaking space after - + Automatically add space after any of these symbols. Automatically add space after any of these symbols. - + Use thin space instead Use thin space instead - + Inserts a thin space instead of a regular space. Inserts a thin space instead of a regular space. @@ -2810,47 +2758,47 @@ GuiPreferencesQuotes - + Quotation Style Quotation Style - + Single quote open style Single quote open style - + The symbol to use for a leading single quote. The symbol to use for a leading single quote. - + Single quote close style Single quote close style - + The symbol to use for a trailing single quote. The symbol to use for a trailing single quote. - + Double quote open style Double quote open style - + The symbol to use for a leading double quote. The symbol to use for a leading double quote. - + Double quote close style Double quote close style - + The symbol to use for a trailing double quote. The symbol to use for a trailing double quote. @@ -2858,59 +2806,59 @@ GuiPreferencesSyntax - + Quotes & Dialogue Quotes & Dialogue - + Highlight text wrapped in quotes Highlight text wrapped in quotes - - - + + + Applies to the document editor only. Applies to the document editor only. - + Allow open-ended single quotes Allow open-ended single quotes - + Highlight single-quoted line with no closing quote. Highlight single-quoted line with no closing quote. - + Allow open-ended double quotes Allow open-ended double quotes - + Highlight double-quoted line with no closing quote. Highlight double-quoted line with no closing quote. - + Text Emphasis Text Emphasis - + Add highlight colour to emphasised text Add highlight color to emphasised text - + Text Errors Text Errors - + Highlight multiple or trailing spaces Highlight multiple or trailing spaces @@ -3107,27 +3055,27 @@ GuiProjectEditReplace - + Text Replace List for Preview and Export Text Replace List for Preview and Export - + Keyword Keyword - + Replace With Replace With - + Select item to edit Select item to edit - + Save Save @@ -3155,7 +3103,7 @@ Usage - + Select item to edit Select item to edit @@ -3165,37 +3113,37 @@ Color - + Save Save - + Select Colour Select Color - + New Item New Item - + Cannot delete a status item that is in use. Cannot delete a status item that is in use. - + Not in use Not in use - + Used once Used once - + Used by {0} items Used by {0} items @@ -3295,52 +3243,52 @@ GuiProjectToolBar - + Project Content Project Content - + Quick Links Quick Links - + Move Up Move Up - + Move Down Move Down - + Add Item Add Item - + Expand All Expand All - + Collapse All Collapse All - + Undo Move Undo Move - + Empty Trash Empty Trash - + More Options More Options @@ -3348,201 +3296,204 @@ GuiProjectTree - + Active Active - + Inactive Inactive - + Did not find anywhere to add the file or folder! Did not find anywhere to add the file or folder! - + Cannot add new files or folders to the Trash folder. Cannot add new files or folders to the Trash folder. - + New Note New Note - + New Chapter New Chapter - + New Scene New Scene - + New Document New Document - + New Folder New Folder - + There is currently no Trash folder in this project. There is currently no Trash folder in this project. - + The Trash folder is already empty. The Trash folder is already empty. - - + + Empty Trash Empty Trash - + Permanently delete {0} file(s) from Trash? Permanently delete {0} file(s) from Trash? - - + + Delete Delete - + Move '{0}' to Trash? Move '{0}' to Trash? - + Root folders can only be deleted when they are empty. Root folders can only be deleted when they are empty. - + Permanently delete '{0}'? Permanently delete '{0}'? - + Open Document Open Document - + View Document View Document - + Change Label Change Label - + Toggle Active Toggle Active - + Set Status to ... Set Status to ... - + Set Importance to ... Set Importance to ... - + Transform Transform - - + + + + Convert to {0} Convert to {0} - + Merge Child Items into Self Merge Child Items into Self - + Merge Child Items into New Merge Child Items into New - + Merge Documents in Folder Merge Documents in Folder - + Split Document by Headers Split Document by Headers - + Expand All Expand All - + Collapse All Collapse All - + Delete Permanently Delete Permanently - + Move to Trash Move to Trash - + Convert Folder Convert Folder - + Do you want to convert the folder to a {0}? This action cannot be reversed. Do you want to convert the folder to a {0}? This action cannot be reversed. - + No documents selected for merging. No documents selected for merging. - + Merged Merged - - + + Could not write document content. Could not write document content. - + + There is nowhere to add item with name '{0}'. There is nowhere to add item with name '{0}'. @@ -3829,163 +3780,168 @@ Could not delete document file. - + + Could not open project with path: {0} + Could not open project with path: {0} + + + Unknown Unknown - + Project file does not appear to be a novelWriterXML file. Project file does not appear to be a novelWriterXML file. - + Unknown or unsupported novelWriter project file format. The project cannot be opened by this version of novelWriter. The file was saved with novelWriter version {0}. Unknown or unsupported novelWriter project file format. The project cannot be opened by this version of novelWriter. The file was saved with novelWriter version {0}. - + Failed to parse project xml. Failed to parse project xml. - + File Version File Version - + The file format of your project is about to be updated. If you proceed, older versions of novelWriter will no longer be able to open this project. Continue? The file format of your project is about to be updated. If you proceed, older versions of novelWriter will no longer be able to open this project. Continue? - + Version Conflict Version Conflict - + This project was saved by a newer version of novelWriter, version {0}. This is version {1}. If you continue to open the project, some attributes and settings may not be preserved, but the overall project should be fine. Continue opening the project? This project was saved by a newer version of novelWriter, version {0}. This is version {1}. If you continue to open the project, some attributes and settings may not be preserved, but the overall project should be fine. Continue opening the project? - + Opened Project: {0} Opened Project: {0} - + There is no project open. There is no project open. - + Failed to save project. Failed to save project. - + Saved Project: {0} Saved Project: {0} - + Backing up project ... Backing up project ... - + Cannot backup project because no valid backup path is set. Please set a valid backup location in Preferences. Cannot backup project because no valid backup path is set. Please set a valid backup location in Preferences. - + Cannot backup project because no project name is set. Please set a Project Name in Project Settings. Cannot backup project because no project name is set. Please set a Project Name in Project Settings. - + Could not create backup folder. Could not create backup folder. - + Backup from {0} Backup from {0} - + Backup archive file written to: {0} Backup archive file written to: {0} - + Could not write backup archive. Could not write backup archive. - + Project backed up to '{0}' Project backed up to '{0}' - - + + New New - + Note Note - + Draft Draft - + Finished Finished - + Minor Minor - + Major Major - + Main Main - + Found {0} orphaned file(s) in project folder. Found {0} orphaned file(s) in project folder. - + Recovered Recovered - + [{0}] {1} [{0}] {1} - + Recovered File {0} Recovered File {0} - + One or more orphaned files could not be added back into the project. Make sure at least a Novel root folder exists. One or more orphaned files could not be added back into the project. Make sure at least a Novel root folder exists. diff --git a/i18n/nw_es_419.ts b/i18n/nw_es_419.ts index 71330f01..68af1721 100644 --- a/i18n/nw_es_419.ts +++ b/i18n/nw_es_419.ts @@ -342,448 +342,396 @@ GuiAbout - + About novelWriter Acerca de novelWriter - + About Acerca de - + Release Publicación - - - - - Licence - Licencia - - - - Website: {0} - Sitio web: {0} - - - + Credits Créditos - - Developer - Desarrollador + + Licence + Licencia - - Concept - Concepto + + Website: {0} + Sitio web: {0} - i18n - i18n - - - novelWriter is a markdown-like text editor designed for organising and writing novels. It is written in Python 3 with a Qt5 GUI, using PyQt5. novelWriter es un editor de texto a lo markdown diseñado para organizar y escribir novelas. Se ha escrito en Python 3 con una interfaz gráfica Qt5, usando PyQt5. - + novelWriter is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. novelWriter is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - + novelWriter is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. novelWriter se distribuye con la esperanza de que le sea útil, pero SIN GARANTÍA ALGUNA; sin siquiera la garantía implícita de COMERCIABILIDAD o de ADECUACIÓN A UN PROPÓSITO EN PARTICULAR. - + See the Licence tab for the full licence text, or visit the GNU website at {0} for more details. Acceda a la pestaña Licencia para ver el texto completo (en inglés) de la licencia, o para más detalles visite el sitio web de GNU {0}. - - - Translations - Traducciones - - - - Theme: {0} - Tema: {0} - - - - - - Author - Autores - - - - - - Credit - Crédito - - - - Icons: {0} - Íconos: {0} - - - - Syntax: {0} - Sintaxis: {0} - GuiBuildNovel - + Build Novel Project Compilar el Proyecto de Novela - + Title Formats for Novel Files Formato de Títulos - + Formatting Codes: Códigos de Formato: - + {0} for the title as set in the document {0} para el título tal como esté en el documento - + {0} for chapter number (1, 2, 3) {0} para el capítulo número (1, 2, 3) - + {0} for chapter number as a word (one, two) {0} para el número del capítulo en palabras (uno, dos) - + {0} for chapter number in upper case Roman {0} para el número del capítulo en números romanos en mayúscula - + {0} for chapter number in lower case Roman {0} para el número del capítulo en números romanos en minúscula - + {0} for scene number within chapter {0} para el número de la escena dentro del capítulo - + {0} for scene number within novel {0} para el número de la escena dentro de la novela - + Leave blank to skip this heading, or set to a static text, like for instance '{0}', to make a separator. The separator will be centred automatically and only appear between sections of the same type. Dejar en blanco para omitir este encabezado, o establecer un texto estático, como por ejemplo '{0}', para crear un separador. El separador se centrará automáticamente y sólo aparecerá entre las secciones del mismo tipo. - + Not Set No establecido - + Title Título - + Chapter Capítulo - + Unnumbered Sin numerar - + Scene Escena - + Section Sección - + Language Idioma - + Hide scene Ocultar la escena - + Hide section Ocultar la sección - + Font Options Opciones de tipografía - + Font family Tipografía - + Font size Tamaño - + Line height Altura de línea - + Justify text Justificar el texto - + Disable styling Desactivar los estilos - + Styling Options Opciones de Estilo - + Include Options Opciones de inclusión - + Include synopsis Incluir sinopsis - + Include comments Incluir los comentarios - + Include keywords Incluir las palabras clave - + Include body text Incluir el cuerpo del texto - + Root Filter Options Opciones de Filtrado de Raíces - + File Filter Options Opciones de Filtrado de Archivos - + Include novel files Incluir archivos de la novela - + Include note files Incluir archivos de las notas - + Include inactive files - Include inactive files + Incluir archivos sin uso - + Export Options Opciones de exportado - + Replace tabs with spaces Reemplazar tabulaciones por espacios - + Replace Unicode in HTML Reemplazar el Unicode en HTML - + Build Preview Vista Previa de la Novela - + Print Imprimir - + Print Preview Vista Previa de Impresión - + Print to PDF Imprimir a PDF - + Save As Guardar Como - + Open Document (.odt) Open Document (.odt) - + Flat Open Document (.fodt) Flat Open Document (.fodt) - + novelWriter HTML (.htm) HTML de novelWriter (.htm) - + novelWriter Markdown (.nwd) Markdown de novelWriter (.nwd) - + Standard Markdown (.md) Markdown Estándar (.md) - + GitHub Markdown (.md) Markdown de GitHub (.md) - + JSON + novelWriter HTML (.json) JSON + HTML de novelWriter (.json) - + JSON + novelWriter Markdown (.json) JSON + Markdown de novelWriter (.json) - + Close Cerrar - + Failed to generate preview. The result is too big. No se pudo generar la vista previa. El resultado es demasiado grande. - + There were problems when building the project: Se hallaron problemas al compilar el proyecto: - + Open Document Open Document - + Flat Open Document Flat Open Document - + Plain HTML HTML plano - + novelWriter Markdown Markdown de novelWriter - + Standard Markdown Markdown Estándar - + GitHub Markdown Markdown de GitHub - + JSON + novelWriter HTML JSON + HTML de novelWriter - + JSON + novelWriter Markdown JSON + Markdown de novelWriter - + PDF PDF - + Save Document As Guardar el Documento Como - + {0} file successfully written to: El archivo {0} se ha guardado con éxito en: - + Failed to write {0} file. {1} Hubo un fallo al escribir el archivo {0}. {1} @@ -791,17 +739,17 @@ GuiBuildNovelDocView - + This area will show the content of the document to be exported or printed. Press the "Build Preview" button to generate content. Esta área mostrará el contenido del documento a exportar o imprimir. Pulse el botón "Crear vista previa" para generar el contenido. - + Unknown Desconocido - + Build Time: Tiempo de Compilación: @@ -809,32 +757,32 @@ GuiDocEditFooter - + Status Estado - + Line: {0} ({1}) Línea: {0} ({1}) - + Words: {0} ({1}) Palabras: {0} ({1}) - + Document size is {0} bytes El tamaño del documento es de {0} bytes - + Words: {0} selected Palabras: {0} seleccionadas - + Character count: {0} Total de caracteres: {0} @@ -842,22 +790,22 @@ GuiDocEditHeader - + Edit document label Editar el rótulo del documento - + Search document Buscar en el documento - + Toggle Focus Mode Alternar el Modo Enfocado - + Close the document Cerrar el documento @@ -865,58 +813,58 @@ GuiDocEditSearch - - + + Search Buscar - + Replace Reemplazar - + Case Sensitive Sensibilidad a Mayúsculas y Minúsculas - + Whole Words Only Sólo Palabras Enteras - + RegEx Mode Modo ExReg - + Loop Search Reiniciar la Búsqueda - + Search Next File Buscar en el Siguiente Archivo - + Preserve Case Conservar Mayúsculas y Minúsculas - + Close Search Cerrar la Búsqueda - + Find in current document Buscar en el documento actual - + Find and replace in current document Buscar y reemplazar en el documento actual @@ -924,117 +872,117 @@ GuiDocEditor - + The document you are trying to open is too big. The document size is {0} MB. The maximum size allowed is {1} MB. El documento que intenta abrir es demasiado grande. El tamaño del documento es de {0} MB. El tamaño máximo permitido es de {1} MB. - + Opened Document: {0} Se Abrió el Documento: {0} - + The text you are trying to add is too big. The text size is {0} MB. The maximum size allowed is {1} MB. El texto que intenta añadir es demasiado grande. El tamaño del texto es de {0} MB. El tamaño máximo permitido es de {1} MB. - + File Changed on Disk El Archivo Cambió en el Disco - + This document has been changed outside of novelWriter while it was open. Overwrite the file on disk? Este documento ha cambiado por fuera de novelWriter estando abierto. ¿Sobreescribir en el disco? - + Could not save document. No se puedo guardar el documento. - + Saved Document: {0} Documento Guardado: {0} - + Spell checking requires the package PyEnchant. It does not appear to be installed. Para la corrección ortográfica se requiere del paquete PyEnchant. Parece que no se encuentra instalado. - + Spell check complete Se completó la comprobación ortográfica - + File Location Ubicación del Archivo - + The currently open file is saved in: El archivo actualmente abierto se haya guardado en: - + The document has grown too big and you cannot add more text to it. The maximum size of a single novelWriter document is {0} MB. El documento ha crecido demasiado y no se puede añadirle más texto. El tamaño máximo de un único documento de novelWriter es de {0} MB. - + Follow Tag Continuar a Etiqueta - + Cut Cortar - + Copy Copiar - + Paste Pegar - + Select All Seleccionar Todo - + Select Word Seleccionar Palabra - + Select Paragraph Seleccionar Párrafo - + Spelling Suggestion(s) Sugerencia(s) de Ortografía - + No Suggestions No Hay Sugerencias - + Add Word to Dictionary Añadir Palabra al Diccionario - + Please select some text before calling replace quotes. Por favor seleccione algo del texto antes de intentar reemplazar las comillas. @@ -1112,7 +1060,7 @@ Move split document to Trash - Move split document to Trash + Mover el documento separado a la Papelera @@ -1291,173 +1239,173 @@ GuiMain - + You are running an untested development version of novelWriter. Please be careful when working on a live project and make sure you take regular backups. Usted está ejecutando una versión de desarrollo sin comprobar de novelWriter. Por favor tenga cuidado al trabajar en un proyecto activo y considere realizar frecuentes copias de seguridad de sus datos. - + novelWriter is ready ... novelWriter está listo ... - + Cannot create a new project when another project is open. No se puede crear un nuevo proyecto mientras haya un proyecto abierto. - + A project already exists in that location. Please choose another folder. Ya existe un proyecto en esa ubicación. Por favor elija otra carpeta. - + Close Project Cerrar Proyecto - + Close the current project? ¿Cerrar el proyecto actual? - - + + Changes are saved automatically. Los cambios se guardan automáticamente. - + Backup Project Copia de Seguridad del Proyecto - + Backup the current project? ¿Respaldar datos del proyecto actual? - + The project was locked by the computer '{0}' ({1} {2}), last active on {3}. El proyecto fue bloqueado por el equipo '{0}' ({1} {2}), por última vez activo el {3}. - + Project Locked Proyecto Bloqueado - + The project is already open by another instance of novelWriter, and is therefore locked. Override lock and continue anyway? El proyecto ya se ha abierto en otra instancia de novelWriter, y por lo tanto está bloqueado. ¿Interrumpir el bloqueo y continuar de todos modos? - + Note: If the program or the computer previously crashed, the lock can safely be overridden. However, overriding it is not recommended if the project is open in another instance of novelWriter. Doing so may corrupt the project. Nota: Si el programa o la computadora dejaron de funcionar, se puede quitar el bloqueo con toda seguridad. No se recomienda en el caso de que otra instancia activa de novelWriter haya abierto el proyecto. En tal caso éste podrá entrar en corrupción. - + The project index is outdated or broken. Rebuilding index. El índice del proyecto está dañado o desactualizado. Recomponiendo el índice. - + Text files ({0}) Archivos de texto ({0}) - + Markdown files ({0}) Archivos de Markdown ({0}) - + novelWriter files ({0}) Archivos de novelWriter ({0}) - + All files ({0}) Todos los archivos ({0}) - + Import File Importar un Archivo - + Could not read file. The file must be an existing text file. No se pudo leer el archivo. El archivo debe ser un archivo de texto existente. - + Please open a document to import the text file into. Por favor abra un documento en el cual importar el archivo de texto. - + Import Document Importar un Documento - + Importing the file will overwrite the current content of the document. Do you want to proceed? El contenido actual del documento será sobrescrito al importar el archivo. ¿Desea continuar? - + Indexing completed in {0} ms Se completó el indexado en {0} ms - + The project index has been successfully rebuilt. El índice del proyecto se ha reconstruido con éxito. - + Some changes will not be applied until novelWriter has been restarted. - Some changes will not be applied until novelWriter has been restarted. + Algunos cambios no se aplicarán hasta haber reiniciado novelWriter. - + Information Información - + Warning Advertencia - + Error Error - + This is a bug! ¡Esto es una falla del programa! - + Internal Error Error Interno - + Exit Salir - + Do you want to exit novelWriter? ¿Desea salir de novelWriter? - + Could not find the reference for tag '{0}'. It either doesn't exist, or the index is out of date. The index can be updated from the Tools menu, or by pressing {1}. No se pudo encontrar la referencia para la etiqueta '{0}'. O no existe, o se ha desactualizado el índice. Éste se puede actualizar desde el menú Herramientas, o presionando {1}. @@ -1797,12 +1745,12 @@ Special Comments - Special Comments + Comentarios Especiales Synopsis Comment - Synopsis Comment + Comentario de Sinopsis @@ -2104,7 +2052,7 @@ Outline of {0} - Outline of {0} + Estructura de {0} @@ -2288,103 +2236,103 @@ GuiPreferencesAutomation - + Automatic Features Características Automáticas - + Auto-select word under cursor Seleccionar la palabra bajo el cursor - + Apply formatting to word under cursor if no selection is made. Se aplicará el formato a la palabra situada bajo el cursor si no hay selección. - + Auto-replace text as you type Reemplazar el texto mientras se escribe - + Allow the editor to replace symbols as you type. Permite al editor reemplazar símbolos mientras escriba. - + Replace as You Type Reemplazar Mientras Escriba - + Auto-replace single quotes Reemplazar comillas simples - - + + Try to guess which is an opening or a closing quote. Se intentará adivinar cuáles comillas son de apertura o de cierre. - + Auto-replace double quotes Reemplazar comillas dobles - + Auto-replace dashes Reemplazar guiones - + Double and triple hyphens become short and long dashes. Los guiones dobles y triples se convertirán en rayas cortas y largas. - + Auto-replace dots Reemplazar puntos - + Three consecutive dots become ellipsis. Tres puntos consecutivos se convierten en el carácter de puntos suspensivos. - + Automatic Padding Relleno Automático - + Insert non-breaking space before Insertar un espacio de no separación previo - + Automatically add space before any of these symbols. Añade un espacio automáticamente delante de un símbolo de esta lista. - + Insert non-breaking space after Insertar un espacio de no separación posterior - + Automatically add space after any of these symbols. Añade un espacio automáticamente detrás de un símbolo de esta lista. - + Use thin space instead Usar un espacio angosto - + Inserts a thin space instead of a regular space. Inserta un espacio angosto en lugar de un espacio regular. @@ -2618,7 +2566,7 @@ Requires restart to take effect. - Requires restart to take effect. + Se requiere reiniciar para surtir efecto. @@ -2628,7 +2576,7 @@ General colour theme and icons. - General colour theme and icons. + Tema de color general e íconos. @@ -2810,47 +2758,47 @@ GuiPreferencesQuotes - + Quotation Style Empleo de Comillas - + Single quote open style Estilo de comilla de apertura simple - + The symbol to use for a leading single quote. El símbolo a usar para una comilla de apertura simple. - + Single quote close style Estilo de comilla de cierre simple - + The symbol to use for a trailing single quote. El símbolo a usar para una comilla de cierre simple. - + Double quote open style Estilo de comilla de apertura doble - + The symbol to use for a leading double quote. El símbolo a usar para una comilla de apertura doble. - + Double quote close style Estilo de comilla de cierre doble - + The symbol to use for a trailing double quote. El símbolo a usar para una comilla de cierre doble. @@ -2858,59 +2806,59 @@ GuiPreferencesSyntax - + Quotes & Dialogue Citas y Diálogos - + Highlight text wrapped in quotes Resaltar el texto entrecomillado - - - + + + Applies to the document editor only. A usar en el editor de documentos. - + Allow open-ended single quotes Permitir comillas simples sin cierre - + Highlight single-quoted line with no closing quote. Se resaltará la línea de la comilla simple sin una comilla de cierre. - + Allow open-ended double quotes Permitir comillas dobles sin cierre - + Highlight double-quoted line with no closing quote. Se resaltará la línea de comillas dobles sin comillas de cierre. - + Text Emphasis Énfasis - + Add highlight colour to emphasised text Añadir resalte de color al texto enfatizado - + Text Errors Errores del Texto - + Highlight multiple or trailing spaces Resaltar espacios múltiples o finales @@ -3107,27 +3055,27 @@ GuiProjectEditReplace - + Text Replace List for Preview and Export Lista de Reemplazos de Texto para Previsualizar y Exportar - + Keyword Palabra Clave - + Replace With Reemplazar Con - + Select item to edit Seleccionar el ítem a editar - + Save Guardar @@ -3155,7 +3103,7 @@ Uso - + Select item to edit Seleccionar el ítem a editar @@ -3165,37 +3113,37 @@ Color - + Save Guardar - + Select Colour Escoger un Color - + New Item Nuevo Ítem - + Cannot delete a status item that is in use. No se puede eliminar un ítem de estado actualmente en uso. - + Not in use No está en uso - + Used once Un ítem lo usa - + Used by {0} items {0} ítems lo usan @@ -3295,52 +3243,52 @@ GuiProjectToolBar - + Project Content Contenido del Proyecto - + Quick Links Enlaces Rápidos - + Move Up Mover Arriba - + Move Down Mover Abajo - + Add Item Añadir Ítem - + Expand All Expandir Todo - + Collapse All Contraer Todo - + Undo Move Deshacer Mover - + Empty Trash Vaciar la Papelera - + More Options Más Opciones @@ -3348,201 +3296,204 @@ GuiProjectTree - + Active - Active + En uso - + Inactive - Inactive + Sin uso - + Did not find anywhere to add the file or folder! ¡No se encontró dónde añadir el archivo o carpeta! - + Cannot add new files or folders to the Trash folder. No se puede añadir nuevos archivos o carpetas a la carpeta Papelera. - + New Note Nota nueva - + New Chapter Capítulo Nuevo - + New Scene Escena Nueva - + New Document Documento Nuevo - + New Folder Nueva Carpeta - + There is currently no Trash folder in this project. No hay actualmente una carpeta Papelera en este proyecto. - + The Trash folder is already empty. La carpeta Papelera ya está vacía. - - + + Empty Trash Vaciar la Papelera - + Permanently delete {0} file(s) from Trash? ¿Eliminar {0} archivo(s) permanentemente de la Papelera? - - + + Delete Eliminar - + Move '{0}' to Trash? ¿Mover '{0}' a la Papelera? - + Root folders can only be deleted when they are empty. Las carpetas raíz sólo pueden eliminarse si están vacías. - + Permanently delete '{0}'? ¿Eliminar Permanentemente '{0}'? - + Open Document Abrir Documento - + View Document Visualizar Documento - + Change Label Cambiar el Rótulo - + Toggle Active - Toggle Active + Alternar su Uso - + Set Status to ... Cambiar el Estado a... - + Set Importance to ... Cambiar la Importancia a... - + Transform Transformar - - + + + + Convert to {0} Convertir a {0} - + Merge Child Items into Self Combinar Ítems Descendientes con sí Mismo - + Merge Child Items into New Combinar Ítems Descendientes en uno Nuevo - + Merge Documents in Folder - Merge Documents in Folder + Combinar los Documentos de la Carpeta - + Split Document by Headers - Split Document by Headers + Separar el Documento por Encabezados - + Expand All Expandir Todo - + Collapse All Contraer Todo - + Delete Permanently Eliminar Permanentemente - + Move to Trash Mover a la Papelera - + Convert Folder Convertir la Carpeta - + Do you want to convert the folder to a {0}? This action cannot be reversed. ¿Desea convertir la carpeta a {0}? Esta acción es irreversible. - + No documents selected for merging. No se han seleccionado documentos para combinar. - + Merged Combinado - - + + Could not write document content. No se pudo escribir el contenido del documento. - + + There is nowhere to add item with name '{0}'. No hay ningún lugar en el que añadir un elemento nombrado '{0}'. @@ -3552,67 +3503,67 @@ Project - Project + Proyecto Project Tree View - Project Tree View + Vista de Árbol del Proyecto Novel - Novel + Novela Novel Tree View - Novel Tree View + Vista de Árbol de Novela Outline - Outline + Estructura Novel Outline View - Novel Outline View + Vista de Estructura de la Novela Build - Build + Compilar Build Novel Project - Build Novel Project + Compilar el Proyecto de Novela Details - Details + Detalles Project Details - Project Details + Detalles del Proyecto Stats - Stats + Estadísticas Writing Statistics - Writing Statistics + Estadísticas de Redacción Settings - Settings + Configuración @@ -3829,163 +3780,168 @@ No se puedo eliminar el archivo de documento. - + + Could not open project with path: {0} + No se pudo abrir el proyecto con la ruta: {0} + + + Unknown Desconocido - + Project file does not appear to be a novelWriterXML file. Aparentemente el archivo del proyecto no es un archivo novelWriterXML. - + Unknown or unsupported novelWriter project file format. The project cannot be opened by this version of novelWriter. The file was saved with novelWriter version {0}. Formato de archivo de proyecto novelWriter desconocido, o no soportado. Esta versión de novelWriter no puede abrir el proyecto. El archivo se guardó con la versión {0} de novelWriter. - + Failed to parse project xml. Hubo un fallo al procesar el xml del proyecto. - + File Version Versión de Archivo - + The file format of your project is about to be updated. If you proceed, older versions of novelWriter will no longer be able to open this project. Continue? Se está por actualizar el formato de archivo de su proyecto. De continuar, ninguna versión anterior de novelWriter podrá abrir este proyecto. ¿Continuar? - + Version Conflict Conflicto de Versiones - + This project was saved by a newer version of novelWriter, version {0}. This is version {1}. If you continue to open the project, some attributes and settings may not be preserved, but the overall project should be fine. Continue opening the project? Este proyecto se ha guardado en una versión nueva de novelWriter, la versión {0}. Ésta es la versión {1}. Si procede a abrir el proyecto, algunos atributos y opciones no serán preservadas, pero en general el proyecto no presentará problemas. ¿Continuar abriendo el proyecto? - + Opened Project: {0} Se Abrió el Proyecto: {0} - + There is no project open. - There is no project open. + No hay ningún proyecto abierto. - + Failed to save project. Hubo un fallo al guardar el proyecto. - + Saved Project: {0} Proyecto Guardado: {0} - + Backing up project ... Respaldando el proyecto ... - + Cannot backup project because no valid backup path is set. Please set a valid backup location in Preferences. No se puede crear una copia de seguridad porque no hay una ruta válida para el respaldo. Por favor escoja una ubicación válida en las Preferencias. - + Cannot backup project because no project name is set. Please set a Project Name in Project Settings. - Cannot backup project because no project name is set. Please set a Project Name in Project Settings. + No se puede crear una copia de seguridad porque no se estableció el nombre del proyecto. Por favor escoja un Nombre de Proyecto en la Configuración del Proyecto. - + Could not create backup folder. No se pudo crear la carpeta de respaldo. - + Backup from {0} - Backup from {0} + Copia de seguridad en {0} - + Backup archive file written to: {0} El archivo de respaldo se ha escrito en: {0} - + Could not write backup archive. No se puedo escribir el archivo de respaldo. - + Project backed up to '{0}' Se ha respaldado el proyecto en '{0}' - - + + New Nuevo - + Note Nota - + Draft Borrador - + Finished Terminado - + Minor Menor - + Major Mayor - + Main Principal - + Found {0} orphaned file(s) in project folder. Se encontraron {0} archivo(s) huérfano(s) en la carpeta del proyecto. - + Recovered Restaurado - + [{0}] {1} [{0}] {1} - + Recovered File {0} Se Restauró el Archivo {0} - + One or more orphaned files could not be added back into the project. Make sure at least a Novel root folder exists. No se pudo añadir uno o más archivos huérfanos de vuelta al proyecto. Asegúrese de que exista al menos una carpeta raíz de Novela. @@ -3995,7 +3951,7 @@ All Novel Folders - All Novel Folders + Todas las Carpetas de Novela @@ -4235,73 +4191,73 @@ New Project - New Project + Proyecto Nuevo New Chapter - New Chapter + Capítulo Nuevo New Scene - New Scene + Escena Nueva Title Page - Title Page + Título de la Página By - By + Por Summary of the chapter. - Summary of the chapter. + Resumen del capítulo. Summary of the scene. - Summary of the scene. + Resumen de la escena. Chapter {0} - Chapter {0} + Capítulo {0} Scene {0} - Scene {0} + Escena {0} Main Plot - Main Plot + Argumento Principal Protagonist - Protagonist + Protagonista Main Location - Main Location + Lugar Principal Failed to create a new example project. - Failed to create a new example project. + Hubo un fallo al crear un nuevo proyecto de ejemplo. Failed to create a new example project. Could not find the necessary files. They seem to be missing from this installation. - Failed to create a new example project. Could not find the necessary files. They seem to be missing from this installation. + Hubo un fallo al crear un nuevo proyecto de ejemplo. No se pudieron encontrar los archivos necesarios. Aparentemente esta instalación carece de ellos. diff --git a/i18n/nw_fr_FR.ts b/i18n/nw_fr_FR.ts index 8d3963db..e3345f58 100644 --- a/i18n/nw_fr_FR.ts +++ b/i18n/nw_fr_FR.ts @@ -342,108 +342,56 @@ GuiAbout - + About novelWriter À propos de novelWriter - + About À propos - + Release Version - - - - - Licence - Licence - - - - Website: {0} - Site Web : {0} - - - + Credits Crédits - - Developer - Développeur + + Licence + Licence - - Concept - Concept + + Website: {0} + Site Web : {0} - i18n - Internationalisation - - - novelWriter is a markdown-like text editor designed for organising and writing novels. It is written in Python 3 with a Qt5 GUI, using PyQt5. novelWriter est un éditeur markdown pour organiser et écrire des romans. Il est écrit en Python 3 avec un interface utilisateur Qt5, basé sur PyQt5. - + novelWriter is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. novelWriter est un logiciel libre : vous pouvez le redistribuer et/ou le modifier selon les termes de la licence publique générale GNU telle que publiée par la Free Software Foundation, dans la version 3 de cette licence ou (à votre choix) dans une version plus récente. - + novelWriter is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. novelWriter est diffusé dans l'espoir qu'il sera utile, mais SANS GARANTIE D'AUCUNE SORTE, en particulier concernant sa QUALITÉ MARCHANDE ou son APTITUDE À UN USAGE SPÉCIFIQUE. - + See the Licence tab for the full licence text, or visit the GNU website at {0} for more details. Ouvrez l'onglet Licence pour voir le texte complet de la licence (en anglais), ou visitez le site de GNU à l'adresse {0} pour en lire une traduction ou pour obtenir plus de détails. - - - Translations - Traducteurs - - - - Theme: {0} - Thème : {0} - - - - - - Author - Auteur - - - - - - Credit - Crédits - - - - Icons: {0} - Icônes : {0} - - - - Syntax: {0} - Syntaxe : {0} - GuiBuildNovel @@ -2288,103 +2236,103 @@ GuiPreferencesAutomation - + Automatic Features Automatismes - + Auto-select word under cursor Auto-sélection du mot sous le curseur - + Apply formatting to word under cursor if no selection is made. En l'absence de texte sélectionné la mise en forme s'applique au mot sous le curseur. - + Auto-replace text as you type Auto-remplacement par la frappe - + Allow the editor to replace symbols as you type. Permet à léditeur de remplacer les symboles au fur et à mesure de la frappe. - + Replace as You Type Remplacement par la frappe - + Auto-replace single quotes Auto-remplacement des guillemets simples - - + + Try to guess which is an opening or a closing quote. Tenter de deviner si un guillemet est ouvrant ou fermant. - + Auto-replace double quotes Auto-remplacement des guillemets doubles - + Auto-replace dashes Auto-remplacement des tirets - + Double and triple hyphens become short and long dashes. Deux ou trois tirets successifs deviennent des tirets moyens (semi-cadratins) ou longs (cadratins). - + Auto-replace dots Auto-remplacement des points - + Three consecutive dots become ellipsis. Trois points consécutifs deviennent des points de suspension. - + Automatic Padding Insertion automatique - + Insert non-breaking space before Espace insécable avant - + Automatically add space before any of these symbols. Ajouter lors de la frappe une espace avant chacun de ces caractères. - + Insert non-breaking space after Espace insécable après - + Automatically add space after any of these symbols. Ajouter lors de la frappe une espace après chacun de ces caractères. - + Use thin space instead Utiliser des espaces fines - + Inserts a thin space instead of a regular space. Insérer une espace fine au lieu d'une espace-mot. @@ -2810,47 +2758,47 @@ GuiPreferencesQuotes - + Quotation Style Style de guillemets - + Single quote open style Guillemets simples ouvrants - + The symbol to use for a leading single quote. Symbole à utiliser pour un guillemet simple ouvrant. - + Single quote close style Guillemets simples fermants - + The symbol to use for a trailing single quote. Symbole à utiliser pour un guillemet simple fermant. - + Double quote open style Guillemets doubles ouvrants - + The symbol to use for a leading double quote. Symbole à utiliser pour un guillemet double ouvrant. - + Double quote close style Guillemets doubles fermants - + The symbol to use for a trailing double quote. Symbole à utiliser pour un guillemet double fermant. @@ -2858,59 +2806,59 @@ GuiPreferencesSyntax - + Quotes & Dialogue Dialogues et citations - + Highlight text wrapped in quotes Mettre en évidence le texte situé entre des guillemets - - - + + + Applies to the document editor only. Ne s'applique qu'à l'éditeur de document. - + Allow open-ended single quotes Autoriser les guillemets simples non fermés - + Highlight single-quoted line with no closing quote. Mettre en évidence les lignes avec guillemet simple ouvrant et non fermées. - + Allow open-ended double quotes Autoriser les guillemets doubles non fermés - + Highlight double-quoted line with no closing quote. Mettre en évidence les lignes avec guillemet double ouvrant et non fermées. - + Text Emphasis Texte appuyé - + Add highlight colour to emphasised text Mettre en évidence le texte appuyé - + Text Errors Erreurs de texte - + Highlight multiple or trailing spaces Surligner les espaces multiples ou terminaux @@ -3107,27 +3055,27 @@ GuiProjectEditReplace - + Text Replace List for Preview and Export Remplacements dans le texte pour les aperçus et exportations - + Keyword Mot-clé - + Replace With Remplacer par - + Select item to edit Choisir l'élément à éditer - + Save Enregistrer @@ -3155,7 +3103,7 @@ Utilisation - + Select item to edit Choisir l'élément à éditer @@ -3165,37 +3113,37 @@ Couleur - + Save Enregistrer - + Select Colour Choisir la couleur - + New Item Nouvel élément - + Cannot delete a status item that is in use. On ne peut pas retirer un élément tant qu'il est utilisé. - + Not in use Inutilisé - + Used once Utilisé une fois - + Used by {0} items Utilisé {0} fois @@ -3470,79 +3418,82 @@ Transformer + + Convert to {0} Convertir en {0} - + Merge Child Items into Self Intégrer les éléments enfants - + Merge Child Items into New Créer une fusion des éléments enfants - + Merge Documents in Folder Fusionner des documents du dossier - + Split Document by Headers Diviser le document selon les en-têtes - + Expand All Tout développer - + Collapse All Tout refermer - + Delete Permanently Supprimer définitivement - + Move to Trash Déplacer vers la corbeille - + Convert Folder Convertir le dossier - + Do you want to convert the folder to a {0}? This action cannot be reversed. Voulez-vous convertir le dossier en {0}? Cette action est irréversible. - + No documents selected for merging. Aucun document n'a été sélectionné pour la fusion. - + Merged Fusionné - - + + Could not write document content. Impossible d'écrire le contenu du document. - + + There is nowhere to add item with name '{0}'. Il n'y a pas d'emplacement pour ajouter l'item nommé '{0}'. @@ -3829,163 +3780,168 @@ Impossible de supprimer le fichier du document. - + + Could not open project with path: {0} + + + + Unknown Inconnu - + Project file does not appear to be a novelWriterXML file. Ce fichier projet ne semble pas être un fichier novelWriterXML. - + Unknown or unsupported novelWriter project file format. The project cannot be opened by this version of novelWriter. The file was saved with novelWriter version {0}. Format de projet novelWriter inconnu ou non supporté. Ce projet ne peut pas être ouvert avec cette version de novelWriter, il a été enregistré avec novelWriter version {0}. - + Failed to parse project xml. Impossible de décoder le xml du projet. - + File Version Version du fichier - + The file format of your project is about to be updated. If you proceed, older versions of novelWriter will no longer be able to open this project. Continue? Le format de fichier de votre projet est sur le point d'être mis à jour. Si vous continuez, les anciennes versions de novelWriter ne pourront plus ouvrir ce projet. Continuer ? - + Version Conflict Conflit de version - + This project was saved by a newer version of novelWriter, version {0}. This is version {1}. If you continue to open the project, some attributes and settings may not be preserved, but the overall project should be fine. Continue opening the project? Ce projet a été enregistré par une version plus récente de novelWriter, la version {0}. Ceci est la version {1}. Si vous ouvrez quand même ce projet, certaines propriétés ou certains réglages risquent d'être perdus, toutefois le projet dans son ensemble devrait être intact. Voulez-vous quand même ouvrir ce projet ? - + Opened Project: {0} Projet ouvert : {0} - + There is no project open. Aucun projet n'est ouvert. - + Failed to save project. Impossible d'enregistrer le projet. - + Saved Project: {0} Projet enregistré : {0} - + Backing up project ... Sauvegarde du projet en cours ... - + Cannot backup project because no valid backup path is set. Please set a valid backup location in Preferences. Il est impossible de sauvegarder ce projet car aucun emplacement de sauvegarde n'a été défini. Veuillez en définir un dans Outils Préférences. - + Cannot backup project because no project name is set. Please set a Project Name in Project Settings. Il est impossible de sauvegarder le projet car il n'a pas reçu de nom. Veuillez remplir le nom dans les paramètres du projet. - + Could not create backup folder. Il n'a pas été possible de créer le répertoire de sauvegarde. - + Backup from {0} Sauvegarde depuis {0} - + Backup archive file written to: {0} Archivage du fichier de sauvegarde effectué en : {0} - + Could not write backup archive. Il n'a pas été possible d'écrire l'archive de sauvegarde. - + Project backed up to '{0}' Projet sauvegardé dans {0} - - + + New Nouveau - + Note Note - + Draft Brouillon - + Finished Terminé - + Minor Mineur - + Major Majeur - + Main Principal - + Found {0} orphaned file(s) in project folder. Trouvé {0} fichier(s) orphelin(s) dans le dossier du projet. - + Recovered Récupéré - + [{0}] {1} [{0}] {1} - + Recovered File {0} Fichier récupéré {0} - + One or more orphaned files could not be added back into the project. Make sure at least a Novel root folder exists. Un ou plusieurs fichiers orphelins n'ont pas pu être repris dans le projet. Vérifiez qu'il y a au moins un dossier racine Roman. diff --git a/i18n/nw_nb_NO.ts b/i18n/nw_nb_NO.ts index 0a086d94..55401fd7 100644 --- a/i18n/nw_nb_NO.ts +++ b/i18n/nw_nb_NO.ts @@ -342,448 +342,396 @@ GuiAbout - + About novelWriter Om novelWriter - + About Om - + Release Utgivelse - - - - - Licence - Lisens - - - - Website: {0} - Nettside: {0} - - - + Credits Krediteringer - - Developer - Utvikler + + Licence + Lisens - - Concept - Konsept + + Website: {0} + Nettside: {0} - i18n - i18n - - - novelWriter is a markdown-like text editor designed for organising and writing novels. It is written in Python 3 with a Qt5 GUI, using PyQt5. novelWriter er en markdown-liknende teksteditor laget for å kunne organisere og skrive romaner og noveller. Programmet er skrevet i Python 3 med et brukergrensesnitt i Qt 5 via PyQt5. - + novelWriter is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. novelWriter er gratis programvare: du kan videredistribuere det og/eller modifisere det under vilkårene i GNU General Public License som utgitt av Free Software Foundation, enten versjon 3 av Lisensen, eller (etter eget valg) enhver senere versjon. - + novelWriter is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. novelWriter er distribuert i håp om at det vil være nyttig, men UTEN NOEN GARANTI; uten selv en underforstått garanti vedrørende SALGBARHET eller EGNETHET TIL ET BESTEMT FORMÅL. Se GNU General Public Licence for flere detaljer. - + See the Licence tab for the full licence text, or visit the GNU website at {0} for more details. Se lisens-fanen for fulltekst-versjonen av lisensen (på engelsk), eller besøk GNU sin nettside på {0} for mer informasjon. - - - Translations - Oversettelser - - - - Theme: {0} - Tema: {0} - - - - - - Author - Ansvarlig - - - - - - Credit - Kreditert - - - - Icons: {0} - Ikoner: {0} - - - - Syntax: {0} - Syntaks: {0} - GuiBuildNovel - + Build Novel Project Bygg prosjektet - + Title Formats for Novel Files Tittelformater - + Formatting Codes: Formatteringskoder: - + {0} for the title as set in the document {0} for tittelen slik den er definert i dokumentet - + {0} for chapter number (1, 2, 3) {0} for kapittelnummer (1, 2, 3) - + {0} for chapter number as a word (one, two) {0} for kapittelnummer (én, to, tre) - + {0} for chapter number in upper case Roman {0} for kapittelnummer i store romertall - + {0} for chapter number in lower case Roman {0} for kapittelnummer i små romertall - + {0} for scene number within chapter {0} for scenenummer innad i kapitler - + {0} for scene number within novel {0} for scenenummer innad i boken - + Leave blank to skip this heading, or set to a static text, like for instance '{0}', to make a separator. The separator will be centred automatically and only appear between sections of the same type. La feltet stå tomt for å hoppe over overskriften, eller sett til en statisk tekst, slik som for eksempel {0}, for å lage en separator. Separatoren vil bli sentrert automatisk, og bare satt inn mellom scener av samme type. - + Not Set Ikke satt - + Title Tittel - + Chapter Kapittel - + Unnumbered Unumrert - + Scene Scene - + Section Seksjon - + Language Språk - + Hide scene Skjul scene - + Hide section Skjul seksjon - + Font Options Skriftvalg - + Font family Skriftfamilie - + Font size Skriftstørrelse - + Line height Linjehøyde - + Justify text Rette marger - + Disable styling Slå av styling - + Styling Options Styling - + Include Options Inkluderinger - + Include synopsis Inkluder sammendrag - + Include comments Inkluder kommentarer - + Include keywords Inkluder kodeord - + Include body text Inkluder tekst - + Root Filter Options Filtrer rotmapper - + File Filter Options Fil-filtre - + Include novel files Inkluder romanfiler - + Include note files Inkluder notatfiler - + Include inactive files Inkluder ikke-aktive filer - + Export Options Eksportvalg - + Replace tabs with spaces Erstatt tab med mellomrom - + Replace Unicode in HTML Erstatt Unicode med HTML - + Build Preview Lag forhåndsvisning - + Print Skriv ut - + Print Preview Forhåndsvisning av utskrift - + Print to PDF Skriv ut til PDF - + Save As Lagre som - + Open Document (.odt) Open Document (.odt) - + Flat Open Document (.fodt) Flat Open Document (.fodt) - + novelWriter HTML (.htm) novelWriter HTML (.htm) - + novelWriter Markdown (.nwd) novelWriter Markdown (.nwd) - + Standard Markdown (.md) Standard Markdown (.md) - + GitHub Markdown (.md) GitHub Markdown (.md) - + JSON + novelWriter HTML (.json) JSON + novelWriter HTML (.json) - + JSON + novelWriter Markdown (.json) JSON + novelWriter Markdown (.json) - + Close Lukk - + Failed to generate preview. The result is too big. Kunne ikke generere forhåndsvisning. Resultatet er for stort til å vise. - + There were problems when building the project: Det har oppstått problemer under bygging av prosjektet: - + Open Document Open Document - + Flat Open Document Flat Open Document - + Plain HTML Enkel HTML - + novelWriter Markdown novelWriter Markdown - + Standard Markdown Standard Markdown - + GitHub Markdown GitHub Markdown - + JSON + novelWriter HTML JSON + novelWriter HTML - + JSON + novelWriter Markdown JSON + novelWriter Markdown - + PDF PDF - + Save Document As Lagre dokumentet som - + {0} file successfully written to: Lagring av {0} var vellykket, og filen ble skrevet til: - + Failed to write {0} file. {1} Misslykkes i å skrive {0} til. {1} @@ -791,17 +739,17 @@ GuiBuildNovelDocView - + This area will show the content of the document to be exported or printed. Press the "Build Preview" button to generate content. Dette området vil vise innholdet av dokumentet som skal eksporteres. Trykk på knappen merket med "Lag forhåndsvisning" for å oppdatere innholdet. - + Unknown Ukjent - + Build Time: Bygget: @@ -809,32 +757,32 @@ GuiDocEditFooter - + Status Status - + Line: {0} ({1}) Linje: {0} ({1}) - + Words: {0} ({1}) Ord: {0} ({1}) - + Document size is {0} bytes Dokumentet er {0} byte - + Words: {0} selected Ord: {0} valgt - + Character count: {0} Antall tegn: {0} @@ -842,22 +790,22 @@ GuiDocEditHeader - + Edit document label Endre dokumentnavn - + Search document Søk i dokumentet - + Toggle Focus Mode Slå av/på "Fokus-modus" - + Close the document Lukk dokumentet @@ -865,58 +813,58 @@ GuiDocEditSearch - - + + Search Søk - + Replace Erstatt - + Case Sensitive Skill store/små bokstaver - + Whole Words Only Kun hele ord - + RegEx Mode RegEx-modus - + Loop Search Søk rundt - + Search Next File Søk i neste file - + Preserve Case Behold store/små bokstaver - + Close Search Lukk søk - + Find in current document Søk i det åpne dokumentet - + Find and replace in current document Søk og erstatt i det åpne dokumentet @@ -924,117 +872,117 @@ GuiDocEditor - + The document you are trying to open is too big. The document size is {0} MB. The maximum size allowed is {1} MB. Dokumentet du prøver å åpne er for stort. Dokumenter er på {0} MB. Den maksimale størrelsen tillat er {1} MB. - + Opened Document: {0} Åpnet dokument: {0} - + The text you are trying to add is too big. The text size is {0} MB. The maximum size allowed is {1} MB. Teksten du forsøker å legge til er for stor. Teksten er {0} MB. Den maksimale tillatte størrelsen er {1} MB. - + File Changed on Disk Filen er endret på disk - + This document has been changed outside of novelWriter while it was open. Overwrite the file on disk? Dette dokumentet er endret utenfor novelWriter mens det var åpent. Overskrive filen på disken? - + Could not save document. Kunne ikke lagre dokumentet. - + Saved Document: {0} Lagret dokument: {0} - + Spell checking requires the package PyEnchant. It does not appear to be installed. Stavekontroll krever at pakken PyEnchant er installert. Det ser det ikke ut til at den er. - + Spell check complete Stavekontrollen er ferdig - + File Location Filens plassering - + The currently open file is saved in: Det åpne dokumentet er lagret på følgende sted: - + The document has grown too big and you cannot add more text to it. The maximum size of a single novelWriter document is {0} MB. Dokumentet har blitt for stort og du kan ikke legge til mer tekst. Den maksimale tillatte størrelsen for et novelWriter-dokument er {0} MB. - + Follow Tag Følg knagg - + Cut Klipp - + Copy Kopier - + Paste Lim inn - + Select All Velg hele teksten - + Select Word Velg hele ordet - + Select Paragraph Velg hele avsnittet - + Spelling Suggestion(s) Forslag fra stavekontrollen - + No Suggestions Ingen forslag - + Add Word to Dictionary Legg til ord i ordbok - + Please select some text before calling replace quotes. Venligst velg en del av teksten før du velger å erstatte sitattegn. @@ -1291,173 +1239,173 @@ GuiMain - + You are running an untested development version of novelWriter. Please be careful when working on a live project and make sure you take regular backups. Du kjører nå en utestet versjon av novelWriter. Vær forsiktig om du jobber med et av dine faktiske prosjekter. Husk å ta backup! - + novelWriter is ready ... novelWriter er klar ... - + Cannot create a new project when another project is open. Kan ikke lage et nytt prosjekt mens et annet prosjekt er åpent. - + A project already exists in that location. Please choose another folder. Et prosjekt finnes allerede i den mappen. Vennligst velg et annet sted å lagre prosjektet. - + Close Project Lukk prosjektet - + Close the current project? Ønsker du å lukke dette prosjektet? - - + + Changes are saved automatically. Endringer lagres automatisk. - + Backup Project Sikkerhetskopiering - + Backup the current project? Ønsker du å ta sikkerhetskopi av dette prosjektet? - + The project was locked by the computer '{0}' ({1} {2}), last active on {3}. Prosjektet er låst av datamaskinen {0} ({1} {2}), siste registrerte aktivitet var {3}. - + Project Locked Prosjektlås - + The project is already open by another instance of novelWriter, and is therefore locked. Override lock and continue anyway? Prosjektet er allerede åpent av en annen instans av novelWriter, og er derfor låst. Vil du overstyre denne låsen og fortsette likevel? - + Note: If the program or the computer previously crashed, the lock can safely be overridden. However, overriding it is not recommended if the project is open in another instance of novelWriter. Doing so may corrupt the project. Merk: Hvis programmet eller datamaskinen tidligere krasjet, kan fil-låsen trygt overstyres. Det anbefales imidlertid ikke å overstyre den hvis prosjektet er åpent i en annen instans av novelWriter. Å gjøre det kan skape konflikter i prosjektets filer. - + The project index is outdated or broken. Rebuilding index. Prosjektets indeks er utdatert eller skadet. Bygger indeksen på nytt. - + Text files ({0}) Tekstfiler ({0}) - + Markdown files ({0}) Markdown-filer ({0}) - + novelWriter files ({0}) novelWriter-filer ({0}) - + All files ({0}) Alle filer ({0}) - + Import File Importer fil - + Could not read file. The file must be an existing text file. Kunne ikke lese filen. Filen må eksistere fra før av. - + Please open a document to import the text file into. Vennligst åpne et dokument hvor teksten i filen kan importeres. - + Import Document Importer dokument - + Importing the file will overwrite the current content of the document. Do you want to proceed? Å importere filen vil overskrive all eksisterende tekst i dokumentet. Ønsker du å fortsette? - + Indexing completed in {0} ms Indekseringen tok {0} ms - + The project index has been successfully rebuilt. Prosjektets indeks har blitt bygget på nytt. - + Some changes will not be applied until novelWriter has been restarted. Noen endringer vil ikke tas i bruk før neste gang novelWriter startes. - + Information Informasjon - + Warning Advarsel - + Error Feil - + This is a bug! Dette er en systemfeil! - + Internal Error Intern feil - + Exit Avslutt - + Do you want to exit novelWriter? Ønsker du å avslutte novelWriter? - + Could not find the reference for tag '{0}'. It either doesn't exist, or the index is out of date. The index can be updated from the Tools menu, or by pressing {1}. Kunne ikke finne referansen til knagg {0}. Enten finnes den ikke, eller så er prosjektets indeks ikke oppdatert. Indeksen kan oppdateres fra Verktøy-menyen eller ved å trykke på {1}. @@ -2288,103 +2236,103 @@ GuiPreferencesAutomation - + Automatic Features Automatiske funksjoner - + Auto-select word under cursor Auto-velg ord under markør - + Apply formatting to word under cursor if no selection is made. Hvis ingen tekst er valgt, formatter ordet hvor markøren står. - + Auto-replace text as you type Erstatt mens du skriver - + Allow the editor to replace symbols as you type. La editoren erstatte symboler mens du skriver. - + Replace as You Type Erstatt mens du skriver - + Auto-replace single quotes Erstatt enkle sitattegn - - + + Try to guess which is an opening or a closing quote. Prøv å gjette om det er et åpne- eller lukketegn. - + Auto-replace double quotes Erstatt doble sitattegn - + Auto-replace dashes Erstatt bindestreker - + Double and triple hyphens become short and long dashes. To og tre bindestreker erstattes med kort og lang bindestrek. - + Auto-replace dots Erstatt tre punktum - + Three consecutive dots become ellipsis. Tre punktum på rad erstattes med ellipsis. - + Automatic Padding Automatisk mellomrom - + Insert non-breaking space before Sett inn hardt mellomrom foran - + Automatically add space before any of these symbols. Legg til mellomrom automatisk foran disse tegnene. - + Insert non-breaking space after Sett inn hardt mellomrom etter - + Automatically add space after any of these symbols. Legg til mellomrom automatisk etter disse tegnene. - + Use thin space instead Bruk tynt mellomrom istedet - + Inserts a thin space instead of a regular space. Sett inn et tynt mellomrom istedenfor et vanlig et. @@ -2810,47 +2758,47 @@ GuiPreferencesQuotes - + Quotation Style Sitattegn - + Single quote open style Enkelt sitat, venstre side - + The symbol to use for a leading single quote. Symbol for enkelt sitattegn før et sitat. - + Single quote close style Enkelt sitat, høyre side - + The symbol to use for a trailing single quote. Symbol for enkelt sitattegn etter et sitat. - + Double quote open style Dobbelt sitat, venstre side - + The symbol to use for a leading double quote. Symbol for dobbelt sitattegn før et sitat. - + Double quote close style Dobbelt sitat, høyre side - + The symbol to use for a trailing double quote. Symbol for dobbelt sitattegn etter et sitat. @@ -2858,59 +2806,59 @@ GuiPreferencesSyntax - + Quotes & Dialogue Sitattegn & dialog - + Highlight text wrapped in quotes Fremhev tekst mellom sitattegn - - - + + + Applies to the document editor only. Gjelder bare for redigeringsvindu. - + Allow open-ended single quotes Tillat enkle sitattegn som ikke lukkes - + Highlight single-quoted line with no closing quote. Fremhev sitater som ikke er lukket i samme avsnitt. - + Allow open-ended double quotes Tillat doble sitattegn som ikke lukkes - + Highlight double-quoted line with no closing quote. Fremhev sitater som ikke er lukket i samme avsnitt. - + Text Emphasis Fremheving av tekst - + Add highlight colour to emphasised text Fremhev formattert tekst - + Text Errors Feil i tekst - + Highlight multiple or trailing spaces Fremhev flere eller etterfølgende mellomrom @@ -3107,27 +3055,27 @@ GuiProjectEditReplace - + Text Replace List for Preview and Export Erstatningsliste for forhåndsvisning og eksport - + Keyword Kodeord - + Replace With Erstatt med - + Select item to edit Velg enhet å redigere - + Save Lagre @@ -3155,7 +3103,7 @@ Bruk - + Select item to edit Velg enhet å redigere @@ -3165,37 +3113,37 @@ Farge - + Save Lagre - + Select Colour Velg farge - + New Item Legg til - + Cannot delete a status item that is in use. Kan ikke slette status som er i bruk. - + Not in use Ikke i bruk - + Used once Brukt ett sted - + Used by {0} items Brukt {0} steder @@ -3295,52 +3243,52 @@ GuiProjectToolBar - + Project Content Prosjektets innhold - + Quick Links Hurtiglenker - + Move Up Flytt opp - + Move Down Flytt ned - + Add Item Legg til element - + Expand All Utvid alle - + Collapse All Lukk alle - + Undo Move Angre flytting - + Empty Trash Tøm papirkurven - + More Options Flere valg @@ -3348,201 +3296,204 @@ GuiProjectTree - + Active Aktiv - + Inactive Inaktiv - + Did not find anywhere to add the file or folder! Fant ikke noe sted å legge til filen eller mappen! - + Cannot add new files or folders to the Trash folder. Kan ikke legge til nye filer eller mapper i papirkurvmappen. - + New Note Nytt notat - + New Chapter Nytt kapittel - + New Scene Ny scene - + New Document Nytt dokument - + New Folder Ny mappe - + There is currently no Trash folder in this project. Det er for øyeblikket ingen papirkurv i dette prosjektet. - + The Trash folder is already empty. Papirkurven er allerede tom. - - + + Empty Trash Tøm papirkurven - + Permanently delete {0} file(s) from Trash? Vil du slette {0} filer i papirkurven for godt? - - + + Delete Slett - + Move '{0}' to Trash? Vil du flytte filen "{0}" til søpla? - + Root folders can only be deleted when they are empty. Rotmapper kan bare slettes når de er tomme. - + Permanently delete '{0}'? Slette filen "{0}" for godt? - + Open Document Åpne dokument - + View Document Vis dokument - + Change Label Endre navn - + Toggle Active Aktiver/deaktiver - + Set Status to ... Sett status til ... - + Set Importance to ... Sett viktighetsnivå til ... - + Transform Transformer - - + + + + Convert to {0} Konverter til {0} - + Merge Child Items into Self Lim inn underelementer i dette dokumentet - + Merge Child Items into New Lim inn underelementer i nytt dokument - + Merge Documents in Folder Slå sammen dokumenter i mappen - + Split Document by Headers Del dokumentet etter overskrift - + Expand All Utvid alle - + Collapse All Lukk alle - + Delete Permanently Slett permanent - + Move to Trash Flytt til papirkurv - + Convert Folder Konverter mappe - + Do you want to convert the folder to a {0}? This action cannot be reversed. Vil du konvertere mappen til et {0}? Denne handlingen kan ikke angres. - + No documents selected for merging. Ingen dokumenter er valgt for sammenslåing. - + Merged Sammenslått - - + + Could not write document content. Kan ikke skrive til dokumentet. - + + There is nowhere to add item with name '{0}'. Fant ikke noe sted å legge til enheten med navn {0}'. @@ -3829,163 +3780,168 @@ Kunne ikke slette dokumentets fil. - + + Could not open project with path: {0} + Kunne ikke åpne prosjekt med filbane: {0} + + + Unknown Ukjent - + Project file does not appear to be a novelWriterXML file. Prosjektfilen later ikke til å være en novelWriterXML-fil. - + Unknown or unsupported novelWriter project file format. The project cannot be opened by this version of novelWriter. The file was saved with novelWriter version {0}. Prosjektfilen har et ukjent eller ikke støttet format, og kan ikke åpnes med denne versjonen av novelWriter. Prosjektet ble lagret av novelWriter versjon {0}. - + Failed to parse project xml. Kunne ikke lese prosjektets xml-data. - + File Version Filversjon - + The file format of your project is about to be updated. If you proceed, older versions of novelWriter will no longer be able to open this project. Continue? Filformatet til prosjektet ditt er i ferd med å bli oppdatert. Hvis du fortsetter, vil ikke eldre versjoner av novelWriter lenger kunne åpne dette prosjektet. Fortsette? - + Version Conflict Versjonskonflikt - + This project was saved by a newer version of novelWriter, version {0}. This is version {1}. If you continue to open the project, some attributes and settings may not be preserved, but the overall project should be fine. Continue opening the project? Dette prosjektet ble lagret av en nyere versjon av novelWriter, versjon {0}. Dette er versjon {1}. Hvis du ønsker å fortsette med å åpne prosjektet, kan noen av innstillingene bli borte, men selve prosjektet vil være i orden. Vil du fortsatt åpne prosjektet? - + Opened Project: {0} Åpnet prosjekt: {0} - + There is no project open. Det er ikke noe prosjekter åpent. - + Failed to save project. Kunne ikke lagre prosjektet. - + Saved Project: {0} Lagret prosjekt: {0} - + Backing up project ... Lager sikkerhetskopi ... - + Cannot backup project because no valid backup path is set. Please set a valid backup location in Preferences. Kan ikke ta sikkerhetskopi av prosjektet da ingen filbane er satt. Du må først sette en gyldig filbane i Innstillinger. - + Cannot backup project because no project name is set. Please set a Project Name in Project Settings. Kan ikke ta sikkerhetskopi av prosjektet da prosjektnavn ikke er satt. Du må først sette et prosjektnavn i Prosjektinnstillinger. - + Could not create backup folder. Kunne ikke lage mappe til sikkerhetskopi. - + Backup from {0} Sikkerhetskopi fra {0} - + Backup archive file written to: {0} Sikkerhetskopi skrevet til: {0} - + Could not write backup archive. Kunne ikke lage sikkerhetskopi. - + Project backed up to '{0}' Sikkerhetskopi skrevet til '{0}' - - + + New Ny - + Note Notat - + Draft Utkast - + Finished Ferdig - + Minor Mindre - + Major Større - + Main Hoved - + Found {0} orphaned file(s) in project folder. Fant {0} tapte filer i prosjektmappen. - + Recovered Gjennopprettet - + [{0}] {1} [{0}] {1} - + Recovered File {0} Gjennopprettet fil {0} - + One or more orphaned files could not be added back into the project. Make sure at least a Novel root folder exists. Én eller flere gjennopprettede filer kunne ikke bli lagt til i posjektet. Pass på at "Roman"-mappen i det minste eksisterer. diff --git a/i18n/nw_nl_NL.ts b/i18n/nw_nl_NL.ts index 23779a7d..bc3d3738 100644 --- a/i18n/nw_nl_NL.ts +++ b/i18n/nw_nl_NL.ts @@ -342,448 +342,396 @@ GuiAbout - + About novelWriter Over novelWriter - + About Over - + Release Uitgave - - - - - Licence - Licentie - - - - Website: {0} - Website: {0} - - - + Credits Bijdragen - - Developer - Ontwikkelaar + + Licence + Licentie - - Concept - Concept + + Website: {0} + Website: {0} - i18n - i18n - - - novelWriter is a markdown-like text editor designed for organising and writing novels. It is written in Python 3 with a Qt5 GUI, using PyQt5. novelWriter is een markdown-achtige tekstbewerker, ontworpen voor het organiseren en schrijven van romans. Het is geschreven in Python 3 met een Qt5 GUI met behulp van PyQt5. - + novelWriter is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. novelWriter is gratis software: u kunt het herdistribueren en/of aanpassen onder de voorwaarden van de GNU General Public License zoals gepubliceerd door de Free Software Foundation, óf versie 3 van de Licentie, óf (naar uw keuze) elke latere versie. - + novelWriter is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. novelWriter wordt verspreid in de hoop dat het nuttig is, maar ZONDER ENIGE GARANTIE; zonder zelfs de geïmpliceerde garantie van VERKOOPBAARHEID of GESCHIKTHEID VOOR EEN BEPAALD DOEL. - + See the Licence tab for the full licence text, or visit the GNU website at {0} for more details. Zie het tabblad Licentie voor de volledige licentietekst, of bezoek de GNU-website op {0} voor meer details. - - - Translations - Vertalingen - - - - Theme: {0} - Thema: {0} - - - - - - Author - Auteur - - - - - - Credit - Dank aan - - - - Icons: {0} - Pictogrammen: {0} - - - - Syntax: {0} - Syntaxis: {0} - GuiBuildNovel - + Build Novel Project Bouw Roman Project - + Title Formats for Novel Files Titel Indelingen voor Roman Bestanden - + Formatting Codes: Opmaak codes: - + {0} for the title as set in the document {0} voor de titel zoals ingesteld in het document - + {0} for chapter number (1, 2, 3) {0} voor hoofdstuk nummer (1, 2, 3) - + {0} for chapter number as a word (one, two) {0} voor hoofdstuk nummer als een woord (één, twee) - + {0} for chapter number in upper case Roman {0} voor hoofdstuknummer in Romeinse hoofdletters - + {0} for chapter number in lower case Roman {0} voor hoofdstuknummer in Romeinse kleine letters - + {0} for scene number within chapter {0} voor scène nummer binnen hoofdstuk - + {0} for scene number within novel {0} voor scènenummer in de roman - + Leave blank to skip this heading, or set to a static text, like for instance '{0}', to make a separator. The separator will be centred automatically and only appear between sections of the same type. Laat leeg om deze kop over te slaan, of stel een statische tekst in, zoals bijvoorbeeld '{0}', om een scheiding te maken. De scheiding wordt automatisch gecentreerd en verschijnt alleen tussen secties van hetzelfde type. - + Not Set Niet ingesteld - + Title Titel - + Chapter Hoofdstuk - + Unnumbered Ongenummerd - + Scene Scène - + Section Sectie - + Language Taal - + Hide scene Verberg scène - + Hide section Verberg sectie - + Font Options Lettertype Opties - + Font family Lettertype familie - + Font size Lettertypegrootte - + Line height Regelhoogte - + Justify text Tekst uitvullen - + Disable styling Opmaak uitschakelen - + Styling Options Opmaak Opties - + Include Options Invoeg Opties - + Include synopsis Inclusief synopsis - + Include comments Inclusief opmerkingen - + Include keywords Inclusief trefwoorden - + Include body text Inclusief inhoudstekst - + Root Filter Options Root Filter Opties - + File Filter Options Bestand Filter Opties - + Include novel files Inclusief roman bestanden - + Include note files Inclusief notitie bestanden - + Include inactive files Inactieve bestanden invoegen - + Export Options Export Opties - + Replace tabs with spaces Vervang tabs door spaties - + Replace Unicode in HTML Unicode in HTML vervangen - + Build Preview Bouw voorbeeld - + Print Afdrukken - + Print Preview Afdrukvoorbeeld - + Print to PDF Afdrukken naar PDF - + Save As Opslaan als - + Open Document (.odt) Open Document (.odt) - + Flat Open Document (.fodt) Flat Open Document (.fodt) - + novelWriter HTML (.htm) novelWriter HTML (.htm) - + novelWriter Markdown (.nwd) novelWriter Markdown (.nwd) - + Standard Markdown (.md) Standaard Markdown (.md) - + GitHub Markdown (.md) GitHub Markdown (.md) - + JSON + novelWriter HTML (.json) JSON + novelWriter HTML (.json) - + JSON + novelWriter Markdown (.json) JSON + novelWriter Markdown (.json) - + Close Sluiten - + Failed to generate preview. The result is too big. Genereren van voorbeeld mislukt. Het resultaat is te groot. - + There were problems when building the project: Er waren problemen bij het bouwen van het project: - + Open Document Open Document - + Flat Open Document Flat Open Document - + Plain HTML Plain HTML - + novelWriter Markdown novelWriter Markdown - + Standard Markdown Standaard Markdown - + GitHub Markdown GitHub Markdown - + JSON + novelWriter HTML JSON + novelWriter HTML - + JSON + novelWriter Markdown JSON + novelWriter Markdown - + PDF PDF - + Save Document As Document opslaan als - + {0} file successfully written to: {0} bestand succesvol weggeschreven naar: - + Failed to write {0} file. {1} Wegschrijven van {0} bestand mislukt. {1} @@ -791,17 +739,17 @@ GuiBuildNovelDocView - + This area will show the content of the document to be exported or printed. Press the "Build Preview" button to generate content. In dit gebied wordt de inhoud van het document getoond die geëxporteerd of afgedrukt moet worden. Druk op de knop "Bouw voorbeeld" om inhoud te genereren. - + Unknown Onbekend - + Build Time: Bouw tijd: @@ -809,32 +757,32 @@ GuiDocEditFooter - + Status Status - + Line: {0} ({1}) Regel: {0} ({1}) - + Words: {0} ({1}) Woorden: {0} ({1}) - + Document size is {0} bytes Document grootte is {0} bytes - + Words: {0} selected Woorden: {0} geselecteerd - + Character count: {0} Aantal tekens: {0} @@ -842,22 +790,22 @@ GuiDocEditHeader - + Edit document label Bewerk document label - + Search document Doorzoek document - + Toggle Focus Mode Schakel focus modus in/uit - + Close the document Sluit het document @@ -865,58 +813,58 @@ GuiDocEditSearch - - + + Search Zoek - + Replace Vervang - + Case Sensitive Hoofdlettergevoelig - + Whole Words Only Alleen hele woorden - + RegEx Mode RegEx modus - + Loop Search Zoekopdracht lus - + Search Next File Doorzoek volgend bestand - + Preserve Case Behoud hoofd/kleine letters - + Close Search Zoekopdracht afsluiten - + Find in current document Zoeken in huidige document - + Find and replace in current document Zoek en vervang in huidig document @@ -924,117 +872,117 @@ GuiDocEditor - + The document you are trying to open is too big. The document size is {0} MB. The maximum size allowed is {1} MB. Het document dat u probeert te openen is te groot. De documentgrootte is {0} MB. De maximaal toegestane grootte is {1} MB. - + Opened Document: {0} Geopend document: {0} - + The text you are trying to add is too big. The text size is {0} MB. The maximum size allowed is {1} MB. De tekst die u probeert toe te voegen is te groot. De tekst is {0} MB. De maximaal toegestane grootte is {1} MB. - + File Changed on Disk Bestand gewijzigd op schijf - + This document has been changed outside of novelWriter while it was open. Overwrite the file on disk? Dit document is gewijzigd buiten de openstaande novelWriter instantie. Het bestand op de schijf overschrijven? - + Could not save document. Kon document niet opslaan. - + Saved Document: {0} Document opgeslagen: {0} - + Spell checking requires the package PyEnchant. It does not appear to be installed. Spellingscontrole vereist het pakket PyEnchant. Het lijkt niet geïnstalleerd te zijn. - + Spell check complete Spellingscontrole compleet - + File Location Bestandslocatie - + The currently open file is saved in: Het momenteel geopende bestand is opgeslagen in: - + The document has grown too big and you cannot add more text to it. The maximum size of a single novelWriter document is {0} MB. Het document is te groot geworden en u kunt er niet meer tekst aan toevoegen. De maximale grootte van een enkel novelWriter document is {0} MB. - + Follow Tag Volg label - + Cut Knippen - + Copy Kopiëren - + Paste Plakken - + Select All Selecteer alles - + Select Word Selecteer woord - + Select Paragraph Selecteer paragraaf - + Spelling Suggestion(s) Spelling suggestie(s) - + No Suggestions Geen suggesties - + Add Word to Dictionary Woord toevoegen aan woordenboek - + Please select some text before calling replace quotes. Selecteer a.u.b. een tekst voordat u vervang aanhalingstekens aanroept. @@ -1291,173 +1239,173 @@ GuiMain - + You are running an untested development version of novelWriter. Please be careful when working on a live project and make sure you take regular backups. Je gebruikt een ongeteste ontwikkelingsversie van novelWriter. Wees voorzichtig bij het werken aan een live project en zorg ervoor dat je regelmatige reservekopieën maakt. - + novelWriter is ready ... novelWriter is klaar ... - + Cannot create a new project when another project is open. Kan geen nieuw project maken als een ander project geopend is. - + A project already exists in that location. Please choose another folder. Er bestaat al een project op die locatie. Kies een andere map. - + Close Project Sluit project - + Close the current project? Sluit het huidige project? - - + + Changes are saved automatically. Wijzigingen worden automatisch opgeslagen. - + Backup Project Project reservekopie maken - + Backup the current project? Reservekopie maken van het huidige project? - + The project was locked by the computer '{0}' ({1} {2}), last active on {3}. Het project is vergrendeld door de computer '{0}' ({1} {2}), voor het laatst actief op {3}. - + Project Locked Project vergrendeld - + The project is already open by another instance of novelWriter, and is therefore locked. Override lock and continue anyway? Het project is al geopend door een andere instantie van novelWriter, en is daarom vergrendeld. Vergrendeling negeren en toch verder gaan? - + Note: If the program or the computer previously crashed, the lock can safely be overridden. However, overriding it is not recommended if the project is open in another instance of novelWriter. Doing so may corrupt the project. Opmerking: als het programma of de computer eerder is vastgelopen, kan de vergrendeling veilig worden genegeerd. Het wordt echter niet aanbevolen als het project open is in een andere instantie van novelWriter. Toch doen kan het project beschadigen. - + The project index is outdated or broken. Rebuilding index. De projectindex is verouderd of gebroken. De index wordt herbouwd. - + Text files ({0}) Tekst bestanden ({0}) - + Markdown files ({0}) Markdown bestanden ({0}) - + novelWriter files ({0}) novelWriter bestanden ({0}) - + All files ({0}) Alle bestanden ({0}) - + Import File Importeer bestand - + Could not read file. The file must be an existing text file. Kon het bestand niet lezen. Het bestand moet een bestaand tekst bestand zijn. - + Please open a document to import the text file into. Open a.u.b. een document om het tekst bestand in te importeren. - + Import Document Importeer document - + Importing the file will overwrite the current content of the document. Do you want to proceed? Het importeren van het bestand overschrijft de huidige inhoud van het document. Wilt u doorgaan? - + Indexing completed in {0} ms Indexeren voltooid in {0} ms - + The project index has been successfully rebuilt. De projectindex is succesvol opnieuw opgebouwd. - + Some changes will not be applied until novelWriter has been restarted. Sommige wijzigingen zullen niet worden toegepast totdat novelWriter opnieuw is gestart. - + Information Informatie - + Warning Waarschuwing - + Error Foutmelding - + This is a bug! Dit is een bug! - + Internal Error Interne Foutmelding - + Exit Afsluiten - + Do you want to exit novelWriter? Wil je novelWriter afsluiten? - + Could not find the reference for tag '{0}'. It either doesn't exist, or the index is out of date. The index can be updated from the Tools menu, or by pressing {1}. Kon de verwijzing voor tag '{0}' niet vinden. Hij bestaat niet of de index is verouderd. De index kan worden bijgewerkt in het Hulpmiddelen menu, of door op {1} te drukken. @@ -2288,103 +2236,103 @@ GuiPreferencesAutomation - + Automatic Features Automatische Functies - + Auto-select word under cursor Automatisch woord onder cursor selecteren - + Apply formatting to word under cursor if no selection is made. Opmaak toepassen op woord onder de cursor als er geen selectie is gemaakt. - + Auto-replace text as you type Automatisch tekst vervangen terwijl u typt - + Allow the editor to replace symbols as you type. Sta de editor toe om symbolen te vervangen terwijl u typt. - + Replace as You Type Vervang Terwijl U Typt - + Auto-replace single quotes Automatisch enkele aanhalingstekens vervangen - - + + Try to guess which is an opening or a closing quote. Probeer te raden wat een openend of afsluitend aanhalingsteken is. - + Auto-replace double quotes Automatisch dubbele aanhalingstekens vervangen - + Auto-replace dashes Automatisch streepjes vervangen - + Double and triple hyphens become short and long dashes. Dubbele en drievoudige koppeltekens worden korte en lange streepjes. - + Auto-replace dots Automatisch stippen vervangen - + Three consecutive dots become ellipsis. Drie opeenvolgende stippen worden ellips. - + Automatic Padding Automatische Opvulling - + Insert non-breaking space before Vaste spatie invoegen voor - + Automatically add space before any of these symbols. Voeg automatisch een spatie toe voor één van deze symbolen. - + Insert non-breaking space after Vaste spatie invoegen na - + Automatically add space after any of these symbols. Voeg automatisch een spatie toe na één van deze symbolen. - + Use thin space instead Gebruik dunne spatie in plaats van - + Inserts a thin space instead of a regular space. Voegt een dunne spatie toe in plaats van een normale spatie. @@ -2810,47 +2758,47 @@ GuiPreferencesQuotes - + Quotation Style Citeer Stijl - + Single quote open style Enkel aanhalingsteken open stijl - + The symbol to use for a leading single quote. Het symbool om te gebruiken voor een leidend enkel aanhalingsteken. - + Single quote close style Enkel aanhalingsteken sluit stijl - + The symbol to use for a trailing single quote. Het symbool om te gebruiken voor een afsluitend enkel aanhalingsteken. - + Double quote open style Dubbele aanhalingsteken open stijl - + The symbol to use for a leading double quote. Het symbool om te gebruiken voor een leidend dubbel aanhalingsteken. - + Double quote close style Dubbel aanhalingsteken sluit stijl - + The symbol to use for a trailing double quote. Het symbool om te gebruiken voor een afsluitend dubbel aanhalingsteken. @@ -2858,59 +2806,59 @@ GuiPreferencesSyntax - + Quotes & Dialogue Aanhalingstekens & Dialoog - + Highlight text wrapped in quotes Markeer tekst verpakt in aanhalingstekens - - - + + + Applies to the document editor only. Alleen van toepassing op de tekst bewerker. - + Allow open-ended single quotes Toestaan van open einde enkele aanhalingstekens - + Highlight single-quoted line with no closing quote. Markeer regel zonder afsluitend enkel aanhalingsteken. - + Allow open-ended double quotes Toestaan van open einde dubbele aanhalingstekens - + Highlight double-quoted line with no closing quote. Markeer regel zonder afsluitend dubbel aanhalingsteken. - + Text Emphasis Tekst Nadruk - + Add highlight colour to emphasised text Voeg markeerkleur toe aan geaccentueerde tekst - + Text Errors Tekst Foutmeldingen - + Highlight multiple or trailing spaces Markeer meerdere of afsluitende spaties @@ -3107,27 +3055,27 @@ GuiProjectEditReplace - + Text Replace List for Preview and Export Tekst Vervang Lijst voor Voorbeeld en Export - + Keyword Sleutelwoord - + Replace With Vervang door - + Select item to edit Selecteer te bewerken item - + Save Opslaan @@ -3155,7 +3103,7 @@ Gebruik - + Select item to edit Selecteer te bewerken item @@ -3165,37 +3113,37 @@ Kleur - + Save Opslaan - + Select Colour Selecteer kleur - + New Item Nieuw item - + Cannot delete a status item that is in use. Kan status item dat in gebruik is niet verwijderen. - + Not in use Niet in gebruik - + Used once Eenmalig gebruikt - + Used by {0} items Gebruikt door {0} items @@ -3295,52 +3243,52 @@ GuiProjectToolBar - + Project Content Project Inhoud - + Quick Links Snelle Koppelingen - + Move Up Omhoog Schuiven - + Move Down Omlaag Schuiven - + Add Item Item Toevoegen - + Expand All Alles Uitklappen - + Collapse All Alles Samenvouwen - + Undo Move Herstel Verplaatsen - + Empty Trash Leeg Prullenbak - + More Options Meer Opties @@ -3348,201 +3296,204 @@ GuiProjectTree - + Active Actief - + Inactive Inactief - + Did not find anywhere to add the file or folder! Kon geen plek vinden om het bestand of de map aan toe te voegen! - + Cannot add new files or folders to the Trash folder. Kan geen nieuwe bestanden of mappen toevoegen aan de Prullenbak map. - + New Note Nieuwe notitie - + New Chapter Nieuw Hoofdstuk - + New Scene Nieuwe Scène - + New Document Nieuw document - + New Folder Nieuwe map - + There is currently no Trash folder in this project. Er is momenteel geen Prullenbak map in dit project. - + The Trash folder is already empty. De Prullenbak map is al leeg. - - + + Empty Trash Prullenbak legen - + Permanently delete {0} file(s) from Trash? {0} bestand(en) permanent verwijderen uit de prullenbak? - - + + Delete Verwijderen - + Move '{0}' to Trash? Verplaats '{0}' naar Prullenbak? - + Root folders can only be deleted when they are empty. Root mappen kunnen alleen verwijderd worden wanneer ze leeg zijn. - + Permanently delete '{0}'? '{0}' permanent verwijderen? - + Open Document Open Document - + View Document Bekijk Document - + Change Label Wijzig Label - + Toggle Active Schakel Actief - + Set Status to ... Status instellen op ... - + Set Importance to ... Belangrijkheid instellen op ... - + Transform Transformeer - - + + + + Convert to {0} Converteer naar {0} - + Merge Child Items into Self Onderliggende items samenvoegen in zelf - + Merge Child Items into New Onderliggende items samenvoegen in nieuw - + Merge Documents in Folder Documenten in Map Samenvoegen - + Split Document by Headers Document Splitsen op Koptekst - + Expand All Alles Uitklappen - + Collapse All Alles Samenvouwen - + Delete Permanently Permanent Verwijderen - + Move to Trash Verplaatsen naar Prullenbak - + Convert Folder Converteer Map - + Do you want to convert the folder to a {0}? This action cannot be reversed. Wilt u de map converteren naar een {0}? Deze actie kan niet ongedaan worden gemaakt. - + No documents selected for merging. Geen documenten geselecteerd voor samenvoegen. - + Merged Samengevoegd - - + + Could not write document content. Kon documenteninhoud niet schrijven. - + + There is nowhere to add item with name '{0}'. Er is geen plek om item toe te voegen met de naam '{0}'. @@ -3829,163 +3780,168 @@ Kon documentbestand niet verwijderen. - + + Could not open project with path: {0} + + + + Unknown Onbekend - + Project file does not appear to be a novelWriterXML file. Projectbestand lijkt geen novelWriter XML-bestand te zijn. - + Unknown or unsupported novelWriter project file format. The project cannot be opened by this version of novelWriter. The file was saved with novelWriter version {0}. Onbekend of niet ondersteund bestandsformaat van novelWriter. Het project kan niet worden geopend door deze versie van novelWriter. Het bestand was opgeslagen met versie {0} van novelWriter. - + Failed to parse project xml. Parsen van project xml mislukt. - + File Version Bestandsversie - + The file format of your project is about to be updated. If you proceed, older versions of novelWriter will no longer be able to open this project. Continue? De bestandsindeling van uw project zal worden bijgewerkt. Als u doorgaat, kunnen oudere versies van novelWriter dit project niet meer openen. Doorgaan? - + Version Conflict Versie conflict - + This project was saved by a newer version of novelWriter, version {0}. This is version {1}. If you continue to open the project, some attributes and settings may not be preserved, but the overall project should be fine. Continue opening the project? Dit project was aangemaakt door een nieuwere versie van novelWriter, versie {0}. Dit is versie {1}. Als je het project blijft openen, kunnen sommige kenmerken en instellingen niet worden behouden, maar over het algemeen moet het project goed zijn. Doorgaan met het openen van het project? - + Opened Project: {0} Geopend project: {0} - + There is no project open. Er is geen project open. - + Failed to save project. Opslaan project mislukt. - + Saved Project: {0} Project opgeslagen: {0} - + Backing up project ... Reservekopie van project wordt gemaakt... - + Cannot backup project because no valid backup path is set. Please set a valid backup location in Preferences. Kan geen reservekopie maken van project omdat er geen geldig reservekopie pad is ingesteld. Stel een geldige reservekopie locatie in onder Voorkeuren. - + Cannot backup project because no project name is set. Please set a Project Name in Project Settings. Kan geen back-up maken van het project omdat er geen projectnaam is ingesteld. Stel een projectnaam in in Projectinstellingen. - + Could not create backup folder. Kon de reservekopie map niet maken. - + Backup from {0} Reservekopie van {0} - + Backup archive file written to: {0} Reservekopie archief bestand weggeschreven naar: {0} - + Could not write backup archive. Kon reservekopie archief niet wegschrijven. - + Project backed up to '{0}' Project reservekopie gemaakt naar '{0}' - - + + New Nieuw - + Note Notitie - + Draft Concept - + Finished Voltooid - + Minor Klein - + Major Groot - + Main Hoofd - + Found {0} orphaned file(s) in project folder. {0} weesbestand(en) gevonden in de projectmap. - + Recovered Hersteld - + [{0}] {1} [{0}] {1} - + Recovered File {0} Hersteld bestand {0} - + One or more orphaned files could not be added back into the project. Make sure at least a Novel root folder exists. Een of meer verweesde bestanden konden niet terug aan het project worden toegevoegd. Zorg ervoor dat er tenminste een Roman hoofdmap bestaat. diff --git a/i18n/nw_pt_BR.ts b/i18n/nw_pt_BR.ts index bb39d4da..b91f0a94 100644 --- a/i18n/nw_pt_BR.ts +++ b/i18n/nw_pt_BR.ts @@ -342,448 +342,396 @@ GuiAbout - + About novelWriter Sobre o novelWriter - + About Sobre - + Release Lançamento - - - - - Licence - Licença - - - - Website: {0} - Website: {0} - - - + Credits Créditos - - Developer - Desenvolvimento + + Licence + Licença - - Concept - Conceito + + Website: {0} + Website: {0} - i18n - i18n - - - novelWriter is a markdown-like text editor designed for organising and writing novels. It is written in Python 3 with a Qt5 GUI, using PyQt5. novelWriter é um editor de texto som sintaxe semelhante ao markdown, projetado para a escrita e organização de livros. É escrito em Python 3 com interface de usuário em Qr5, usando PyQt5. - + novelWriter is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. novelWriter é um software livre: você pode redistribuí-lo e/ou modificá-lo sob os termos da GNU Licença Pública Geral, assim como publicada pela Free Software Foundation, tanto na versão 3 da licença, ou (à sua escolha) qualquer versão subsequente. - + novelWriter is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. novelWriter é distribuído na especativa de que seja útil, mas SEM NENHUMA GARANTIA, nem mesmo a garantia implícita de COMERCIALIZAÇÃO ou ADEQUAÇÃO PARA UM PROPÓSITO ESPECÍFICO. - + See the Licence tab for the full licence text, or visit the GNU website at {0} for more details. Veja a aba de Licença para o texto completo de licença, ou visite o website da GNU em {0} para mais detalhes. - - - Translations - Traduções - - - - Theme: {0} - Tema: {0} - - - - - - Author - Autor - - - - - - Credit - Créditos - - - - Icons: {0} - Ícones: {0} - - - - Syntax: {0} - Sintaxe: {0} - GuiBuildNovel - + Build Novel Project Construção do Projeto do Livro - + Title Formats for Novel Files Formatos de Título para Arquivos do Livro - + Formatting Codes: Códigos de Formatação: - + {0} for the title as set in the document {0} para o titulo como definido no documento - + {0} for chapter number (1, 2, 3) {0} para o numero do capítulo (1, 2, 3) - + {0} for chapter number as a word (one, two) {0} para o numero do capítulo por extenso (um, dois) - + {0} for chapter number in upper case Roman {0} para o número do capítulo em numerais romanos maiúsculos - + {0} for chapter number in lower case Roman {0} para o número do capítulo em numerais romanos minúsculos - + {0} for scene number within chapter {0} para o número da cena no capítulo - + {0} for scene number within novel {0} para o número da cena no livro - + Leave blank to skip this heading, or set to a static text, like for instance '{0}', to make a separator. The separator will be centred automatically and only appear between sections of the same type. Deixe em branco para ignorar este cabeçalho ou defina um texto estático como '{0}', por exemplo, para fazer um separador. O separador será centralizado automaticamente e aparecerá apenas entre seções do mesmo tipo. - + Not Set Não definido - + Title Título - + Chapter Capítulo - + Unnumbered Sem Numeração - + Scene Cena - + Section Seção - + Language Idioma - + Hide scene Ocultar cena - + Hide section Ocultar seção - + Font Options Opções de Fonte - + Font family Família da fonte - + Font size Tamanho da fonte - + Line height Altura da linha - + Justify text Texto justificado - + Disable styling Desabilita a estilização - + Styling Options Opções de Estilo - + Include Options Opções de Inclusão - + Include synopsis Inclui a sinopse - + Include comments Inclui comentários - + Include keywords Inclui palavras-chave - + Include body text Inclui o corpo do texto - + Root Filter Options Opções de Filtro Raiz - + File Filter Options Opções de Filtro de Arquivos - + Include novel files Inclui arquivos do livro - + Include note files Inclui arquivos de notas - + Include inactive files Incluir arquivos inativos - + Export Options Opções de Exportação - + Replace tabs with spaces Substitui tabulações com espaços - + Replace Unicode in HTML Substituir Unicode no HTML - + Build Preview Construir Prévia - + Print Imprimir - + Print Preview Imprimir Prévia - + Print to PDF Imprimir para PDF - + Save As Salvar Como - + Open Document (.odt) Open Document (.odt) - + Flat Open Document (.fodt) Flat Open Document (.fodt) - + novelWriter HTML (.htm) HTML do novelWriter (.htm) - + novelWriter Markdown (.nwd) Markdown do novelWriter (.nwd) - + Standard Markdown (.md) Markdown Padrão (.md) - + GitHub Markdown (.md) Markdown do GitHub (.md) - + JSON + novelWriter HTML (.json) JSON + HTML do novelWriter (.json) - + JSON + novelWriter Markdown (.json) JSON + Markdown do novelWriter (.json) - + Close Fechar - + Failed to generate preview. The result is too big. A geração do rascunho falhou. O resultado é muito grande. - + There were problems when building the project: Houve problemas ao construir o projeto: - + Open Document Abrir Documento - + Flat Open Document Flat Open Document - + Plain HTML HTML Simples - + novelWriter Markdown Markdown do novelWriter - + Standard Markdown Markdown Padrão - + GitHub Markdown Markdown do GitHub - + JSON + novelWriter HTML JSON + HTML do novelWriter - + JSON + novelWriter Markdown JSON + Markdown do novelWriter - + PDF PDF - + Save Document As Salvar Documento Como - + {0} file successfully written to: Arquivo {0} escrito com sucesso para: - + Failed to write {0} file. {1} Falhou para escrever o arquivo {0}. {1} @@ -791,17 +739,17 @@ GuiBuildNovelDocView - + This area will show the content of the document to be exported or printed. Press the "Build Preview" button to generate content. Esta área vai mostrar o conteúdo do documento a ser exportado ou impresso. Clique no botão "Construir Prévia" para gerar o conteúdo. - + Unknown Desconhecido - + Build Time: Data da Compilação: @@ -809,32 +757,32 @@ GuiDocEditFooter - + Status Estado - + Line: {0} ({1}) Linha: {0} ({1}) - + Words: {0} ({1}) Palavras: {0} ({1}) - + Document size is {0} bytes O tamanho do documento é {0} bytes - + Words: {0} selected Palavras: {0} selecionadas - + Character count: {0} Contagem de carecteres: {0} @@ -842,22 +790,22 @@ GuiDocEditHeader - + Edit document label Editar etiqueta do documento - + Search document Procurar no documento - + Toggle Focus Mode Alternar o "Modo Foco" - + Close the document Fechar o documento @@ -865,58 +813,58 @@ GuiDocEditSearch - - + + Search Pesquisa - + Replace Substituir - + Case Sensitive Diferenciar Maiúsculas e Minúsculas - + Whole Words Only Apenas Palavras Inteiras - + RegEx Mode Expressão Regular - + Loop Search Pesquisa do Início - + Search Next File Busca no Próximo Arquivo - + Preserve Case Preserva Maiúsculas e Minúsculas - + Close Search Fechar a Busca - + Find in current document Encontrar no documento atual - + Find and replace in current document Encontrar e substituir no documento atual @@ -924,117 +872,117 @@ GuiDocEditor - + The document you are trying to open is too big. The document size is {0} MB. The maximum size allowed is {1} MB. O documento que você está tentando abrir é muito grande. O tamanho do documento é {0} MB. O tamanho máximo permitido é {1} MB. - + Opened Document: {0} Documento Aberto: {0} - + The text you are trying to add is too big. The text size is {0} MB. The maximum size allowed is {1} MB. O texto que você está tentando adicionar é muito grande. O tamanho do texto é {0} MB. O tamanho máximo permitido é {1} MB. - + File Changed on Disk Arquivo Modificado no Disco - + This document has been changed outside of novelWriter while it was open. Overwrite the file on disk? Este documento foi alterado fora do novelWriter enquanto estava aberto. Sobrescrever o arquivo no disco? - + Could not save document. Não foi possível salvar o documento. - + Saved Document: {0} Documento Salvo: {0} - + Spell checking requires the package PyEnchant. It does not appear to be installed. A verificação ortográfica requer o pacote PyEnchant. Ele parece não estar instalado. - + Spell check complete Verificação ortográfica completa - + File Location Localização do Arquivo - + The currently open file is saved in: O arquivo aberto atualmente está salvo em: - + The document has grown too big and you cannot add more text to it. The maximum size of a single novelWriter document is {0} MB. O tamanho do documento aumentou muito e você não pode adicionar mais texto nele. O tamanho máximo de um único documento do novelWriter é {0} MB. - + Follow Tag Seguir Etiqueta - + Cut Recortar - + Copy Copiar - + Paste Colar - + Select All Selecionar Tudo - + Select Word Selecionar Palavra - + Select Paragraph Selecionar Parágrafo - + Spelling Suggestion(s) Sugestão de Ortografia - + No Suggestions Sem Sugestões - + Add Word to Dictionary Adicionar Palavra ao Dicionário - + Please select some text before calling replace quotes. Por favor, selecione algum texto antes de invocar a substituição de aspas. @@ -1291,173 +1239,173 @@ GuiMain - + You are running an untested development version of novelWriter. Please be careful when working on a live project and make sure you take regular backups. Você está executando uma versão de desenvolvimento e não testada do novelWriter. Por favor, tenha cuidado ao trabalhar em um projeto em desenvolvimento e certifique-se de fazer backups regulares. - + novelWriter is ready ... O novelWriter está pronto ... - + Cannot create a new project when another project is open. Não é possível criar um novo projeto quando outro projeto está aberto. - + A project already exists in that location. Please choose another folder. Um projeto já existe neste local. Por favor escolha outro diretório. - + Close Project Fechar Projeto - + Close the current project? Fechar o projeto atual? - - + + Changes are saved automatically. As alterações serão salvas automaticamente. - + Backup Project Cria uma cópia de segurança do diretório do projeto - + Backup the current project? Criar cópia de segurança do projeto atual? - + The project was locked by the computer '{0}' ({1} {2}), last active on {3}. O projeto foi bloqueado pelo computador '{0}' ({1} {2}), ativo pela última vez em {3}. - + Project Locked Projeto Bloqueado - + The project is already open by another instance of novelWriter, and is therefore locked. Override lock and continue anyway? O projeto já está aberto em outra instância do novelWriter, e portanto foi bloqueado. Deseja sobrescrever o bloqueio e continuar mesmo assim? - + Note: If the program or the computer previously crashed, the lock can safely be overridden. However, overriding it is not recommended if the project is open in another instance of novelWriter. Doing so may corrupt the project. Nota: Se o programa ou o computador travaram anteriormente, o bloqueio pode ser substituído com segurança. No entanto, sobrescrevê-lo não é recomendado se o projeto estiver aberto em outra instância do novelWriter. Fazer isso pode corromper o projeto. - + The project index is outdated or broken. Rebuilding index. O índice do projeto está desatualizado ou quebrado. Reconstruíndo o indice. - + Text files ({0}) Arquivos de texto ({0}) - + Markdown files ({0}) Arquivos Markdown ({0}) - + novelWriter files ({0}) Arquivos do novelWriter ({0}) - + All files ({0}) Todos os arquivos ({0}) - + Import File Importar Arquivo - + Could not read file. The file must be an existing text file. Não foi possível ler o arquivo. O arquivo deve ser um arquivo de texto existente. - + Please open a document to import the text file into. Por favor, abra um documento para importar o text nele. - + Import Document Importar Documento - + Importing the file will overwrite the current content of the document. Do you want to proceed? Importar o arquivo vai sobrescrever o conteúdo atual do documento. Você deseja continuar? - + Indexing completed in {0} ms Indexação completa em {0} ms - + The project index has been successfully rebuilt. O índice do projeto foi reconstruído com sucesso. - + Some changes will not be applied until novelWriter has been restarted. Algumas alterações não serão aplicadas enquanto o novelWriter não for reiniciado. - + Information Informação - + Warning Alerta - + Error Erro - + This is a bug! Isto é um bug! - + Internal Error Erro Interno - + Exit Sair - + Do you want to exit novelWriter? Você deseja realmente sair do novelWriter? - + Could not find the reference for tag '{0}'. It either doesn't exist, or the index is out of date. The index can be updated from the Tools menu, or by pressing {1}. Não foi possível encontrar a referência para a etiqueta '{0}'. Pode ser que ela não exista ou que o índice esteja desatualizado. O índice pode ser atualizado à partir do menu Ferramentas ou pressionando {1}. @@ -2288,103 +2236,103 @@ GuiPreferencesAutomation - + Automatic Features Funcionalidades Automáticas - + Auto-select word under cursor Selecionar automaticamente a palavra sob o cursor - + Apply formatting to word under cursor if no selection is made. Aplicar a formatação à palavra sob o cursor se nenhuma seleção for feita. - + Auto-replace text as you type Substituir automaticamente o texto enquanto digita - + Allow the editor to replace symbols as you type. Permite que o editor substituia símbolos emquanto você digita. - + Replace as You Type Substituição Durante a Digitação - + Auto-replace single quotes Substituir automaticamente aspas simples - - + + Try to guess which is an opening or a closing quote. Tenta adivinhar se a aspa é de abertura ou de fechamento. - + Auto-replace double quotes Subsitituir automaticamente aspas duplas - + Auto-replace dashes Substituir automaticamente os travessões - + Double and triple hyphens become short and long dashes. Hífens duplos ou triplos se tornam travessões curtos ou longos. - + Auto-replace dots Substituir automaticamente os pontos - + Three consecutive dots become ellipsis. Três pontos consecutivos se tornam uma reticência. - + Automatic Padding Espaçamento Automático - + Insert non-breaking space before Insere um espaço não-separável antes - + Automatically add space before any of these symbols. Adicionar automaticamente um espaço antes de cada um desses símbolos. - + Insert non-breaking space after Insere um espaço não-separável após - + Automatically add space after any of these symbols. Adicionar automaticamente um espaço após cada um desses símbolos. - + Use thin space instead Usar um espaço estreito - + Inserts a thin space instead of a regular space. Insere um espaço estreito ao invés de um espaço regular. @@ -2810,47 +2758,47 @@ GuiPreferencesQuotes - + Quotation Style Estilo de Aspas - + Single quote open style Estilo da aspa de abertura simples - + The symbol to use for a leading single quote. O símbolo usado para a aspa simples à esquerda. - + Single quote close style Estilo da aspa de fechamento simples - + The symbol to use for a trailing single quote. O símbolo usado para a aspa simples à esquerda. - + Double quote open style Estilo da aspa de abertura dupla - + The symbol to use for a leading double quote. O símbolo usado para a aspa dupla à esquerda. - + Double quote close style Estilo da aspa de fechamento dupla - + The symbol to use for a trailing double quote. O símbolo usado para a aspa dupla à direita. @@ -2858,59 +2806,59 @@ GuiPreferencesSyntax - + Quotes & Dialogue Citações e Diálogos - + Highlight text wrapped in quotes Destaca o texto em citações - - - + + + Applies to the document editor only. Aplica-se apenas para o editor de documentos. - + Allow open-ended single quotes Permite citações com aspas simples sem fechamento - + Highlight single-quoted line with no closing quote. Destaca a linha com citação de aspas simples sem aspas de fechamento. - + Allow open-ended double quotes Permite citações com aspas duplas sem fechamento - + Highlight double-quoted line with no closing quote. Destaca a linha com citação de aspas duplas sem aspas de fechamento. - + Text Emphasis Ênfase de Texto - + Add highlight colour to emphasised text Adiciona destaque de cor ao texto enfatizado - + Text Errors Erros de Texto - + Highlight multiple or trailing spaces Destacar espaços múltiplos ou no final @@ -3107,27 +3055,27 @@ GuiProjectEditReplace - + Text Replace List for Preview and Export Lista de Substituição de Texto para o Preview ou Exportação - + Keyword Palavra-chave - + Replace With Substituir Com - + Select item to edit Selecione um item para editar - + Save Salvar @@ -3155,7 +3103,7 @@ Uso - + Select item to edit Selecione um item para editar @@ -3165,37 +3113,37 @@ Cor - + Save Salvar - + Select Colour Selecione a Cor - + New Item Novo Item - + Cannot delete a status item that is in use. Não é possível remove um item de status em uso. - + Not in use Não utilizado - + Used once Utilizado uma vez - + Used by {0} items Utilizado por {0} items @@ -3295,52 +3243,52 @@ GuiProjectToolBar - + Project Content Conteúdo do Projeto - + Quick Links Links Rápidos - + Move Up Mover para Cima - + Move Down Mover para Baixo - + Add Item Adicionar Item - + Expand All Expandir Tudo - + Collapse All Recolher Tudo - + Undo Move Desfazer Mover - + Empty Trash Esvaziar a Lixeira - + More Options Mais Opções @@ -3348,201 +3296,204 @@ GuiProjectTree - + Active Ativo - + Inactive Inativo - + Did not find anywhere to add the file or folder! Não foi possível encontrar nenhum lugar para adicionar o arquivo ou diretório! - + Cannot add new files or folders to the Trash folder. Não foi possível adicionar novos arquivos ou diretórios à Lixeira. - + New Note Nova Nota - + New Chapter Novo Capítulo - + New Scene Nova Cena - + New Document Novo Documento - + New Folder Novo Diretório - + There is currently no Trash folder in this project. Não exite um diretório de Lixeira neste projeto. - + The Trash folder is already empty. O diretório de Lixeira já está vazio. - - + + Empty Trash Esvaziar a Lixeira - + Permanently delete {0} file(s) from Trash? Permanentemente remover {0} arquivo(s) da Lixeira? - - + + Delete Excluir - + Move '{0}' to Trash? Mover '{0}' para a Lixeira? - + Root folders can only be deleted when they are empty. Os diretórios-raiz só podem ser excluídos quando estiverem vazios. - + Permanently delete '{0}'? Excluir permanentemente '{0}? - + Open Document Abrir Documento - + View Document Ver Documento - + Change Label Alterar Etiqueta - + Toggle Active Alternar Ativo - + Set Status to ... Definir o Estado para... - + Set Importance to ... Definir a Importância para... - + Transform Transformar - - + + + + Convert to {0} Converter para {0} - + Merge Child Items into Self Mesclar Sub-Itens Neste - + Merge Child Items into New Mesclar Sub-Itens em um Novo - + Merge Documents in Folder Mesclar os Documentos no Diretório - + Split Document by Headers Dividir o Documento por Cabeçalhos - + Expand All Expandir Tudo - + Collapse All Recolher Tudo - + Delete Permanently Excluir Permanentemente - + Move to Trash Mover para o Lixo - + Convert Folder Converter Diretório - + Do you want to convert the folder to a {0}? This action cannot be reversed. Você deseja converter o diretório para {0}? Esta ação não pode ser revertida. - + No documents selected for merging. Nenhum documento selecionado para mesclagem. - + Merged Mesclado - - + + Could not write document content. Não foi possível escrever o conteúdo do documento. - + + There is nowhere to add item with name '{0}'. Não há lugar para adicionar o item com o nome '{0}'. @@ -3829,163 +3780,168 @@ Não foi possível Excluir o arquivo do documento. - + + Could not open project with path: {0} + + + + Unknown Desconhecido - + Project file does not appear to be a novelWriterXML file. O arquivo do projeto não parece ser um arquivo XML do novelWriter. - + Unknown or unsupported novelWriter project file format. The project cannot be opened by this version of novelWriter. The file was saved with novelWriter version {0}. Format de arquivo de projeto do novelWriter desconhecido ou não-suportado. O projeto não pode ser aberto por essa versão do novelWriter. O arquivo foi salvo com a versão {0} do novelWriter. - + Failed to parse project xml. Houve uma falha ao interpretar o conteúdo XML do projeto. - + File Version Versão do Arquivo - + The file format of your project is about to be updated. If you proceed, older versions of novelWriter will no longer be able to open this project. Continue? O formato do arquivo do seu projeto está prestes a ser atualizado. Se você continuar, as versões mais antigas do novelWriter não poderão mais abrir este projeto. Continuar? - + Version Conflict Conflito de Versão - + This project was saved by a newer version of novelWriter, version {0}. This is version {1}. If you continue to open the project, some attributes and settings may not be preserved, but the overall project should be fine. Continue opening the project? O projeto foi salvo por uma versão mais nova do novelWriter, versão {0}. Esta é a versão {1}. Caso deseje continuar a abrir o projeto, alguns atributos e configurações podem não ser preservados, mas o projeto deve funcionar corretamente. Continuar a abrir o projeto? - + Opened Project: {0} Projeto Aberto: {0} - + There is no project open. Não há um projeto aberto. - + Failed to save project. Houve uma falha ao salvar o projeto. - + Saved Project: {0} Projeto Salvo: {0} - + Backing up project ... Realizando uma cópia de segurança do projeto... - + Cannot backup project because no valid backup path is set. Please set a valid backup location in Preferences. Não foi possível fazer uma cópia de segurança do projeto porque o caminho das cópias de segurança não foi definido. Por favor, defina um caminho válido para as cópias de segurança em Preferências. - + Cannot backup project because no project name is set. Please set a Project Name in Project Settings. Não foi possível realizar a cópia de segurança do projeto porque o nome do projeto não está definido. Por favor defina o Nome do Projeto em Configurações do Projeto. - + Could not create backup folder. Não foi possível ler o diretório de cópias de segurança. - + Backup from {0} Cópia de segurança de {0} - + Backup archive file written to: {0} Arquivo da cópia de segurança escrito em: {0} - + Could not write backup archive. Não foi possível escrever o arquivo da cópia de segurança. - + Project backed up to '{0}' Cópia de segurança do projeto realizada em '{0}' - - + + New Novo - + Note Nota - + Draft Rascunho - + Finished Finalizado - + Minor Menor - + Major Maior - + Main Principal - + Found {0} orphaned file(s) in project folder. Foram encontrados {0} arquivos-órfãos no diretório do projeto. - + Recovered Recuperado - + [{0}] {1} [{0}] {1} - + Recovered File {0} Arquivo Recuperado {0} - + One or more orphaned files could not be added back into the project. Make sure at least a Novel root folder exists. Um ou mais arquivos-órfãos não puderam ser readicionados ao projeto. Verifique que pelo menos um diretório-raiz de Livro exista. diff --git a/i18n/nw_zh_CN.ts b/i18n/nw_zh_CN.ts index 936bf19d..275f52e5 100644 --- a/i18n/nw_zh_CN.ts +++ b/i18n/nw_zh_CN.ts @@ -342,108 +342,56 @@ GuiAbout - + About novelWriter 关于 novelWriter - + About 关于 - + Release 发布 - - - - - Licence - 许可证 - - - - Website: {0} - 网站: {0} - - - + Credits 赞助 - - Developer - 开发者 + + Licence + 许可证 - - Concept - 概念 + + Website: {0} + 网站: {0} - i18n - i18n - - - novelWriter is a markdown-like text editor designed for organising and writing novels. It is written in Python 3 with a Qt5 GUI, using PyQt5. novelWriter 是一个类似 Markdown 的文本编辑器,用于组织和编写小说。 它是用 Python 3 编写的,使用 PyQt5提供 Qt5 图形界面。 - + novelWriter is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. novelWriter 是免费软件:您可以根据自由软件基金会发布的 GNU 通用公共许可证(许可证的第 3 版或(由您选择)任何更高版本)的条款重新分发和/或修改它。 - + novelWriter is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 发布novelWriter 是希望它有用,没有任何保证; 甚至没有对适销性或针对特定目的的适用性的暗示保证。 - + See the Licence tab for the full licence text, or visit the GNU website at {0} for more details. 在许可证页面查看完整的许可证内容,或者访问GNU 网站 {0}。 - - - Translations - 翻译 - - - - Theme: {0} - 主题 {0} - - - - - - Author - 作者 - - - - - - Credit - 赞助 - - - - Icons: {0} - 图标: {0} - - - - Syntax: {0} - 语法: {0} - GuiBuildNovel @@ -3107,27 +3055,27 @@ GuiProjectEditReplace - + Text Replace List for Preview and Export 预览和导出的文本替换列表 - + Keyword 关键字 - + Replace With 替换为 - + Select item to edit 选择要修改的条目 - + Save 保存 @@ -3155,7 +3103,7 @@ 用法 - + Select item to edit 选择要修改的条目 @@ -3165,37 +3113,37 @@ 颜色 - + Save 保存 - + Select Colour 选择颜色 - + New Item 新项目 - + Cannot delete a status item that is in use. 无法删除正在使用的状态项。 - + Not in use 未使用 - + Used once 使用过一次 - + Used by {0} items 被 {0} 项目使用 @@ -3470,79 +3418,82 @@ 变换 + + Convert to {0} 转换为 {0} - + Merge Child Items into Self 将子项合并到自己中 - + Merge Child Items into New 将子项合并为新项 - + Merge Documents in Folder 合并文件夹中的文档 - + Split Document by Headers 按标题拆分文档 - + Expand All 全部展开 - + Collapse All 全部折叠 - + Delete Permanently 永久删除 - + Move to Trash 移到废纸篓 - + Convert Folder 转换文件夹 - + Do you want to convert the folder to a {0}? This action cannot be reversed. 您想要将文件夹转换为 {0} 吗?此操作不能被撤销。 - + No documents selected for merging. 未选择要合并的文档。 - + Merged 已合并 - - + + Could not write document content. 无法写入文档内容。 - + + There is nowhere to add item with name '{0}'. 无处可添加名为 '{0}' 的项目。 @@ -3829,163 +3780,168 @@ 无法删除文档文件。 - + + Could not open project with path: {0} + + + + Unknown 未知 - + Project file does not appear to be a novelWriterXML file. 项目文件似乎不是 NovelWriterXML 文件。 - + Unknown or unsupported novelWriter project file format. The project cannot be opened by this version of novelWriter. The file was saved with novelWriter version {0}. 未知或不受支持的 NovelWriter 项目文件格式。 此版本的NovelWriter 无法打开该项目。 该文件是用 NovelWriter 版本 {0} 保存的。 - + Failed to parse project xml. 无法解析项目 xml。 - + File Version 文件版本 - + The file format of your project is about to be updated. If you proceed, older versions of novelWriter will no longer be able to open this project. Continue? 您的项目的文件格式即将更新。 如果您继续,较旧版本的新作家将无法再打开此项目,是否继续? - + Version Conflict 版本冲突 - + This project was saved by a newer version of novelWriter, version {0}. This is version {1}. If you continue to open the project, some attributes and settings may not be preserved, but the overall project should be fine. Continue opening the project? 此项目由较新版本的 novelWriter 版本 {0} 保存。 这是版本 {1}。 如果继续打开项目,可能有些属性和设置不会保留,但整体项目应该没问题。 继续打开项目? - + Opened Project: {0} 已打开的项目:{0} - + There is no project open. 没有打开的项目。 - + Failed to save project. 保存项目失败。 - + Saved Project: {0} 已保存项目: {0} - + Backing up project ... 项目备份中…… - + Cannot backup project because no valid backup path is set. Please set a valid backup location in Preferences. 由于未设置备份路径,无法备份项目。 请在首选项中设置一个有效的备份位置。 - + Cannot backup project because no project name is set. Please set a Project Name in Project Settings. 由于未设置项目名,无法备份项目。 请在项目设置中指定项目名。 - + Could not create backup folder. 无法创建备份文件夹。 - + Backup from {0} 从 {0} 中备份 - + Backup archive file written to: {0} 备份存档文件写入:{0} - + Could not write backup archive. 无法写入备份存档。 - + Project backed up to '{0}' 项目备份到{0} - - + + New 新建 - + Note 笔记 - + Draft 草稿 - + Finished 已完成 - + Minor 次要 - + Major 主要 - + Main 主要的 - + Found {0} orphaned file(s) in project folder. 在项目文件夹中找到 {0} 个孤立文件。 - + Recovered 已复原 - + [{0}] {1} [{0}] {1} - + Recovered File {0} 已复原的文件 {0} - + One or more orphaned files could not be added back into the project. Make sure at least a Novel root folder exists. 无法将一个或多个孤立文件重新添加到项目中。确保至少存在一个 Novel 根文件夹。 From 41a0788b4cff3452fed57ece37db5ca6b548e0d0 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Sun, 8 Jan 2023 18:47:04 +0100 Subject: [PATCH 22/24] Update copyright year to 2023 --- novelwriter/__init__.py | 4 ++-- novelwriter/common.py | 2 +- novelwriter/config.py | 2 +- novelwriter/constants.py | 2 +- novelwriter/core/coretools.py | 2 +- novelwriter/core/document.py | 2 +- novelwriter/core/index.py | 2 +- novelwriter/core/item.py | 2 +- novelwriter/core/options.py | 2 +- novelwriter/core/project.py | 2 +- novelwriter/core/projectdata.py | 2 +- novelwriter/core/projectxml.py | 2 +- novelwriter/core/spellcheck.py | 2 +- novelwriter/core/status.py | 2 +- novelwriter/core/storage.py | 2 +- novelwriter/core/tohtml.py | 2 +- novelwriter/core/tokenizer.py | 2 +- novelwriter/core/tomd.py | 2 +- novelwriter/core/toodt.py | 2 +- novelwriter/core/tree.py | 2 +- novelwriter/custom.py | 2 +- novelwriter/dialogs/about.py | 2 +- novelwriter/dialogs/docmerge.py | 2 +- novelwriter/dialogs/docsplit.py | 2 +- novelwriter/dialogs/editlabel.py | 2 +- novelwriter/dialogs/preferences.py | 2 +- novelwriter/dialogs/projdetails.py | 2 +- novelwriter/dialogs/projload.py | 2 +- novelwriter/dialogs/projsettings.py | 2 +- novelwriter/dialogs/quotes.py | 2 +- novelwriter/dialogs/updates.py | 2 +- novelwriter/dialogs/wordlist.py | 2 +- novelwriter/enum.py | 2 +- novelwriter/error.py | 2 +- novelwriter/gui/components.py | 2 +- novelwriter/gui/doceditor.py | 2 +- novelwriter/gui/dochighlight.py | 2 +- novelwriter/gui/docviewer.py | 2 +- novelwriter/gui/itemdetails.py | 2 +- novelwriter/gui/mainmenu.py | 2 +- novelwriter/gui/outline.py | 2 +- novelwriter/gui/projtree.py | 2 +- novelwriter/gui/sidebar.py | 2 +- novelwriter/gui/statusbar.py | 2 +- novelwriter/gui/theme.py | 2 +- novelwriter/guimain.py | 2 +- novelwriter/tools/build.py | 2 +- novelwriter/tools/lipsum.py | 2 +- novelwriter/tools/projwizard.py | 2 +- novelwriter/tools/writingstats.py | 2 +- sample/nwProject.nwx | 4 ++-- setup.py | 2 +- tests/conftest.py | 2 +- tests/mock.py | 2 +- tests/test_base/test_base_common.py | 2 +- tests/test_base/test_base_config.py | 2 +- tests/test_base/test_base_error.py | 2 +- tests/test_base/test_base_init.py | 2 +- tests/test_core/test_core_coretools.py | 2 +- tests/test_core/test_core_document.py | 2 +- tests/test_core/test_core_index.py | 2 +- tests/test_core/test_core_item.py | 2 +- tests/test_core/test_core_options.py | 2 +- tests/test_core/test_core_project.py | 2 +- tests/test_core/test_core_projectxml.py | 2 +- tests/test_core/test_core_spellcheck.py | 2 +- tests/test_core/test_core_status.py | 2 +- tests/test_core/test_core_storage.py | 2 +- tests/test_core/test_core_tohtml.py | 2 +- tests/test_core/test_core_tokenizer.py | 2 +- tests/test_core/test_core_tomd.py | 2 +- tests/test_core/test_core_toodt.py | 2 +- tests/test_core/test_core_tree.py | 2 +- tests/test_dialogs/test_dlg_about.py | 2 +- tests/test_dialogs/test_dlg_dialogs.py | 2 +- tests/test_dialogs/test_dlg_docmerge.py | 2 +- tests/test_dialogs/test_dlg_docsplit.py | 2 +- tests/test_dialogs/test_dlg_preferences.py | 2 +- tests/test_dialogs/test_dlg_projdetails.py | 2 +- tests/test_dialogs/test_dlg_projload.py | 2 +- tests/test_dialogs/test_dlg_projsettings.py | 2 +- tests/test_dialogs/test_dlg_wordlist.py | 2 +- tests/test_gui/test_gui_doceditor.py | 2 +- tests/test_gui/test_gui_docviewer.py | 2 +- tests/test_gui/test_gui_guimain.py | 2 +- tests/test_gui/test_gui_i18n.py | 2 +- tests/test_gui/test_gui_mainmenu.py | 2 +- tests/test_gui/test_gui_noveltree.py | 2 +- tests/test_gui/test_gui_outline.py | 2 +- tests/test_gui/test_gui_projtree.py | 2 +- tests/test_gui/test_gui_statusbar.py | 2 +- tests/test_gui/test_gui_theme.py | 2 +- tests/test_tools/test_tools_build.py | 2 +- tests/test_tools/test_tools_lipsum.py | 2 +- tests/test_tools/test_tools_projwizard.py | 2 +- tests/test_tools/test_tools_writingstats.py | 2 +- tests/tools.py | 2 +- 97 files changed, 99 insertions(+), 99 deletions(-) diff --git a/novelwriter/__init__.py b/novelwriter/__init__.py index 1f24c66c..e4ffb61c 100644 --- a/novelwriter/__init__.py +++ b/novelwriter/__init__.py @@ -7,7 +7,7 @@ File History: Created: 2018-09-22 [0.0.1] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -54,7 +54,7 @@ from novelwriter.config import Config ## __package__ = "novelwriter" -__copyright__ = "Copyright 2018–2022, Veronica Berglyd Olsen" +__copyright__ = "Copyright 2018–2023, Veronica Berglyd Olsen" __license__ = "GPLv3" __author__ = "Veronica Berglyd Olsen" __maintainer__ = "Veronica Berglyd Olsen" diff --git a/novelwriter/common.py b/novelwriter/common.py index 5db4752d..ea38d841 100644 --- a/novelwriter/common.py +++ b/novelwriter/common.py @@ -7,7 +7,7 @@ File History: Created: 2019-05-12 [0.1] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/config.py b/novelwriter/config.py index e60a9444..1f45b58d 100644 --- a/novelwriter/config.py +++ b/novelwriter/config.py @@ -7,7 +7,7 @@ File History: Created: 2018-09-22 [0.0.1] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/constants.py b/novelwriter/constants.py index 3d13d1f2..ed7604ca 100644 --- a/novelwriter/constants.py +++ b/novelwriter/constants.py @@ -7,7 +7,7 @@ File History: Created: 2019-04-28 [0.0.1] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/core/coretools.py b/novelwriter/core/coretools.py index 8434626d..f31c9709 100644 --- a/novelwriter/core/coretools.py +++ b/novelwriter/core/coretools.py @@ -8,7 +8,7 @@ Created: 2022-10-02 [2.0rc1] DocMerger Created: 2022-10-11 [2.0rc1] DocSplitter This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/core/document.py b/novelwriter/core/document.py index ab9b8ac9..d71f2309 100644 --- a/novelwriter/core/document.py +++ b/novelwriter/core/document.py @@ -7,7 +7,7 @@ File History: Created: 2018-09-29 [0.0.1] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/core/index.py b/novelwriter/core/index.py index 15bc4e8d..9a83f9c4 100644 --- a/novelwriter/core/index.py +++ b/novelwriter/core/index.py @@ -12,7 +12,7 @@ Created: 2022-05-29 [2.0rc1] TagsIndex Created: 2022-05-29 [2.0rc1] ItemIndex This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/core/item.py b/novelwriter/core/item.py index 155e31b0..e04d7c25 100644 --- a/novelwriter/core/item.py +++ b/novelwriter/core/item.py @@ -7,7 +7,7 @@ File History: Created: 2018-10-27 [0.0.1] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/core/options.py b/novelwriter/core/options.py index cbf3fe14..2432e0c9 100644 --- a/novelwriter/core/options.py +++ b/novelwriter/core/options.py @@ -8,7 +8,7 @@ Created: 2019-10-21 [0.3.1] Rewritten: 2020-02-19 [0.4.5] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/core/project.py b/novelwriter/core/project.py index a9b22312..dea9737d 100644 --- a/novelwriter/core/project.py +++ b/novelwriter/core/project.py @@ -7,7 +7,7 @@ File History: Created: 2018-09-29 [0.0.1] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/core/projectdata.py b/novelwriter/core/projectdata.py index 599855e4..12176901 100644 --- a/novelwriter/core/projectdata.py +++ b/novelwriter/core/projectdata.py @@ -7,7 +7,7 @@ File History: Created: 2022-10-30 [2.0rc2] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/core/projectxml.py b/novelwriter/core/projectxml.py index a264570f..d3855cf0 100644 --- a/novelwriter/core/projectxml.py +++ b/novelwriter/core/projectxml.py @@ -9,7 +9,7 @@ Created: 2022-09-28 [2.0rc2] ProjectXMLReader Created: 2022-10-31 [2.0rc2] ProjectXMLWriter This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/core/spellcheck.py b/novelwriter/core/spellcheck.py index 30396d0d..884de15f 100644 --- a/novelwriter/core/spellcheck.py +++ b/novelwriter/core/spellcheck.py @@ -7,7 +7,7 @@ File History: Created: 2019-06-11 [0.1.5] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/core/status.py b/novelwriter/core/status.py index 2dbd5568..edfede2c 100644 --- a/novelwriter/core/status.py +++ b/novelwriter/core/status.py @@ -8,7 +8,7 @@ Created: 2019-05-19 [0.1.3] Rewritten: 2022-04-05 [2.0b1] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/core/storage.py b/novelwriter/core/storage.py index 3d23efbc..d1cb0b87 100644 --- a/novelwriter/core/storage.py +++ b/novelwriter/core/storage.py @@ -7,7 +7,7 @@ File History: Created: 2022-11-01 [2.0rc2] NWStorage This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/core/tohtml.py b/novelwriter/core/tohtml.py index db458a07..d95d217a 100644 --- a/novelwriter/core/tohtml.py +++ b/novelwriter/core/tohtml.py @@ -7,7 +7,7 @@ File History: Created: 2019-05-07 [0.0.1] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/core/tokenizer.py b/novelwriter/core/tokenizer.py index 0b2ab376..f6434fcf 100644 --- a/novelwriter/core/tokenizer.py +++ b/novelwriter/core/tokenizer.py @@ -7,7 +7,7 @@ File History: Created: 2019-05-05 [0.0.1] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/core/tomd.py b/novelwriter/core/tomd.py index 14698cd1..e37c47e3 100644 --- a/novelwriter/core/tomd.py +++ b/novelwriter/core/tomd.py @@ -7,7 +7,7 @@ File History: Created: 2021-02-06 [1.2b1] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/core/toodt.py b/novelwriter/core/toodt.py index 19497ade..968d7b87 100644 --- a/novelwriter/core/toodt.py +++ b/novelwriter/core/toodt.py @@ -7,7 +7,7 @@ File History: Created: 2021-01-26 [1.2b1] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/core/tree.py b/novelwriter/core/tree.py index c71b1804..da5686db 100644 --- a/novelwriter/core/tree.py +++ b/novelwriter/core/tree.py @@ -7,7 +7,7 @@ File History: Created: 2020-05-07 [0.4.5] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/custom.py b/novelwriter/custom.py index 5d9d8122..46bd081d 100644 --- a/novelwriter/custom.py +++ b/novelwriter/custom.py @@ -9,7 +9,7 @@ Created: 2020-05-03 [0.4.5] QSwitch Created: 2020-05-17 [0.5.1] PagedDialog This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/dialogs/about.py b/novelwriter/dialogs/about.py index f3af1cbf..e482b897 100644 --- a/novelwriter/dialogs/about.py +++ b/novelwriter/dialogs/about.py @@ -7,7 +7,7 @@ File History: Created: 2020-05-21 [0.5.2] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/dialogs/docmerge.py b/novelwriter/dialogs/docmerge.py index ed2b2dde..25c8676f 100644 --- a/novelwriter/dialogs/docmerge.py +++ b/novelwriter/dialogs/docmerge.py @@ -8,7 +8,7 @@ Created: 2020-01-23 [0.4.3] Rewritten: 2022-10-06 [2.0rc1] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/dialogs/docsplit.py b/novelwriter/dialogs/docsplit.py index e7fabeee..0db6d6c2 100644 --- a/novelwriter/dialogs/docsplit.py +++ b/novelwriter/dialogs/docsplit.py @@ -8,7 +8,7 @@ Created: 2020-02-01 [0.4.3] Rewritten: 2022-10-12 [2.0rc1] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/dialogs/editlabel.py b/novelwriter/dialogs/editlabel.py index bc780898..d2551441 100644 --- a/novelwriter/dialogs/editlabel.py +++ b/novelwriter/dialogs/editlabel.py @@ -7,7 +7,7 @@ File History: Created: 2022-06-11 [2.0rc1] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/dialogs/preferences.py b/novelwriter/dialogs/preferences.py index e7936991..41f4a032 100644 --- a/novelwriter/dialogs/preferences.py +++ b/novelwriter/dialogs/preferences.py @@ -7,7 +7,7 @@ File History: Created: 2019-06-10 [0.1.5] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/dialogs/projdetails.py b/novelwriter/dialogs/projdetails.py index df8d9ae8..bec2f400 100644 --- a/novelwriter/dialogs/projdetails.py +++ b/novelwriter/dialogs/projdetails.py @@ -7,7 +7,7 @@ File History: Created: 2021-01-03 [1.1rc1] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/dialogs/projload.py b/novelwriter/dialogs/projload.py index 326e8bce..d6f876c4 100644 --- a/novelwriter/dialogs/projload.py +++ b/novelwriter/dialogs/projload.py @@ -7,7 +7,7 @@ File History: Created: 2020-02-26 [0.4.5] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/dialogs/projsettings.py b/novelwriter/dialogs/projsettings.py index be469385..23fb28c5 100644 --- a/novelwriter/dialogs/projsettings.py +++ b/novelwriter/dialogs/projsettings.py @@ -7,7 +7,7 @@ File History: Created: 2018-09-29 [0.0.1] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/dialogs/quotes.py b/novelwriter/dialogs/quotes.py index 685459d4..ffd169da 100644 --- a/novelwriter/dialogs/quotes.py +++ b/novelwriter/dialogs/quotes.py @@ -7,7 +7,7 @@ File History: Created: 2020-06-18 [0.9] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/dialogs/updates.py b/novelwriter/dialogs/updates.py index 020e2338..685f8698 100644 --- a/novelwriter/dialogs/updates.py +++ b/novelwriter/dialogs/updates.py @@ -7,7 +7,7 @@ File History: Created: 2021-08-21 [1.5b1] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/dialogs/wordlist.py b/novelwriter/dialogs/wordlist.py index a8994887..ca667ed2 100644 --- a/novelwriter/dialogs/wordlist.py +++ b/novelwriter/dialogs/wordlist.py @@ -7,7 +7,7 @@ File History: Created: 2021-02-12 [1.2rc1] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/enum.py b/novelwriter/enum.py index b5038da3..d2fcf61b 100644 --- a/novelwriter/enum.py +++ b/novelwriter/enum.py @@ -7,7 +7,7 @@ File History: Created: 2018-11-02 [0.0.1] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/error.py b/novelwriter/error.py index 855f3723..bb803711 100644 --- a/novelwriter/error.py +++ b/novelwriter/error.py @@ -7,7 +7,7 @@ File History: Created: 2020-08-02 [0.10.2] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/gui/components.py b/novelwriter/gui/components.py index ed8c91fb..3556ae9c 100644 --- a/novelwriter/gui/components.py +++ b/novelwriter/gui/components.py @@ -8,7 +8,7 @@ Created: 2020-05-17 [0.5.1] StatusLED Created: 2022-11-17 [2.0] NovelSelector This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/gui/doceditor.py b/novelwriter/gui/doceditor.py index bc1421af..1430d174 100644 --- a/novelwriter/gui/doceditor.py +++ b/novelwriter/gui/doceditor.py @@ -13,7 +13,7 @@ Created: 2020-06-27 [0.10] GuiDocEditFooter Rewritten: 2020-10-07 [1.0b3] BackgroundWordCounter This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/gui/dochighlight.py b/novelwriter/gui/dochighlight.py index 1b06d25f..d344c8f6 100644 --- a/novelwriter/gui/dochighlight.py +++ b/novelwriter/gui/dochighlight.py @@ -7,7 +7,7 @@ File History: Created: 2019-04-06 [0.0.1] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/gui/docviewer.py b/novelwriter/gui/docviewer.py index f0ac6345..c111f6a1 100644 --- a/novelwriter/gui/docviewer.py +++ b/novelwriter/gui/docviewer.py @@ -11,7 +11,7 @@ Created: 2020-06-09 [0.8] GuiDocViewFooter Created: 2020-09-08 [1.0b1] GuiDocViewHistory This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/gui/itemdetails.py b/novelwriter/gui/itemdetails.py index 9183ebfe..f36a78d3 100644 --- a/novelwriter/gui/itemdetails.py +++ b/novelwriter/gui/itemdetails.py @@ -7,7 +7,7 @@ File History: Created: 2019-04-24 [0.0.1] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/gui/mainmenu.py b/novelwriter/gui/mainmenu.py index 77eff2b1..0da2d783 100644 --- a/novelwriter/gui/mainmenu.py +++ b/novelwriter/gui/mainmenu.py @@ -7,7 +7,7 @@ File History: Created: 2019-04-27 [0.0.1] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/gui/outline.py b/novelwriter/gui/outline.py index b04f44c9..1d90ab89 100644 --- a/novelwriter/gui/outline.py +++ b/novelwriter/gui/outline.py @@ -11,7 +11,7 @@ Created: 2019-11-16 [0.4.1] GuiOutlineHeaderMenu Created: 2020-06-02 [0.7] GuiOutlineDetails This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/gui/projtree.py b/novelwriter/gui/projtree.py index 96af1ecd..d2cf564a 100644 --- a/novelwriter/gui/projtree.py +++ b/novelwriter/gui/projtree.py @@ -9,7 +9,7 @@ Created: 2022-06-06 [2.0rc1] GuiProjectView Created: 2022-06-06 [2.0rc1] GuiProjectToolBar This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/gui/sidebar.py b/novelwriter/gui/sidebar.py index 37a37538..c27c8311 100644 --- a/novelwriter/gui/sidebar.py +++ b/novelwriter/gui/sidebar.py @@ -7,7 +7,7 @@ File History: Created: 2022-05-10 [2.0rc1] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/gui/statusbar.py b/novelwriter/gui/statusbar.py index a5824214..b811f80b 100644 --- a/novelwriter/gui/statusbar.py +++ b/novelwriter/gui/statusbar.py @@ -8,7 +8,7 @@ Created: 2019-04-20 [0.0.1] GuiMainStatus Created: 2020-05-17 [0.5.1] StatusLED This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/gui/theme.py b/novelwriter/gui/theme.py index 17e58ff4..746cde06 100644 --- a/novelwriter/gui/theme.py +++ b/novelwriter/gui/theme.py @@ -8,7 +8,7 @@ Created: 2019-05-18 [0.1.3] GuiTheme Created: 2019-11-08 [0.4] GuiIcons This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/guimain.py b/novelwriter/guimain.py index 4b89e03b..aa26b95d 100644 --- a/novelwriter/guimain.py +++ b/novelwriter/guimain.py @@ -7,7 +7,7 @@ File History: Created: 2018-09-22 [0.0.1] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/tools/build.py b/novelwriter/tools/build.py index 4b2a940c..13ec29d2 100644 --- a/novelwriter/tools/build.py +++ b/novelwriter/tools/build.py @@ -7,7 +7,7 @@ File History: Created: 2020-05-09 [0.5] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/tools/lipsum.py b/novelwriter/tools/lipsum.py index f084dfa2..9f0679c4 100644 --- a/novelwriter/tools/lipsum.py +++ b/novelwriter/tools/lipsum.py @@ -7,7 +7,7 @@ File History: Created: 2022-04-02 [2.0rc1] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/tools/projwizard.py b/novelwriter/tools/projwizard.py index c9cc157b..3dee4861 100644 --- a/novelwriter/tools/projwizard.py +++ b/novelwriter/tools/projwizard.py @@ -7,7 +7,7 @@ File History: Created: 2020-07-11 [0.10.1] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/novelwriter/tools/writingstats.py b/novelwriter/tools/writingstats.py index 5e8606d3..a5981985 100644 --- a/novelwriter/tools/writingstats.py +++ b/novelwriter/tools/writingstats.py @@ -7,7 +7,7 @@ File History: Created: 2019-10-20 [0.3] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/sample/nwProject.nwx b/sample/nwProject.nwx index 77487231..f16b4c45 100644 --- a/sample/nwProject.nwx +++ b/sample/nwProject.nwx @@ -1,6 +1,6 @@ - - + + Sample Project Sample Project Jane Smith diff --git a/setup.py b/setup.py index 17c2ffa5..cf70a546 100755 --- a/setup.py +++ b/setup.py @@ -8,7 +8,7 @@ File History: Created: 2019-05-16 [0.5.1] This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/conftest.py b/tests/conftest.py index 39cc96cd..dd2004d6 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -3,7 +3,7 @@ novelWriter – Test Suite Configuration ====================================== This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/mock.py b/tests/mock.py index e70034bd..96a4c5f8 100644 --- a/tests/mock.py +++ b/tests/mock.py @@ -3,7 +3,7 @@ novelWriter – Test Suite Mocked Classes ======================================= This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_base/test_base_common.py b/tests/test_base/test_base_common.py index a3d9d28e..0aec498a 100644 --- a/tests/test_base/test_base_common.py +++ b/tests/test_base/test_base_common.py @@ -3,7 +3,7 @@ novelWriter – Common Functions Tester ===================================== This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_base/test_base_config.py b/tests/test_base/test_base_config.py index 8282e558..17d9ddf9 100644 --- a/tests/test_base/test_base_config.py +++ b/tests/test_base/test_base_config.py @@ -3,7 +3,7 @@ novelWriter – Config Class Tester ================================= This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_base/test_base_error.py b/tests/test_base/test_base_error.py index 9ba9b9b2..d90e6eb1 100644 --- a/tests/test_base/test_base_error.py +++ b/tests/test_base/test_base_error.py @@ -3,7 +3,7 @@ novelWriter – Error Handler Tester ================================== This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_base/test_base_init.py b/tests/test_base/test_base_init.py index 2cc4d255..1d41c8de 100644 --- a/tests/test_base/test_base_init.py +++ b/tests/test_base/test_base_init.py @@ -3,7 +3,7 @@ novelWriter – Main Init Tester ============================== This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_core/test_core_coretools.py b/tests/test_core/test_core_coretools.py index a737406e..d3789b80 100644 --- a/tests/test_core/test_core_coretools.py +++ b/tests/test_core/test_core_coretools.py @@ -3,7 +3,7 @@ novelWriter – Project Document Tools Tester =========================================== This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_core/test_core_document.py b/tests/test_core/test_core_document.py index 50dd28bf..58eb10fc 100644 --- a/tests/test_core/test_core_document.py +++ b/tests/test_core/test_core_document.py @@ -3,7 +3,7 @@ novelWriter – NWDocument Class Tester ===================================== This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_core/test_core_index.py b/tests/test_core/test_core_index.py index dd94155f..c3838772 100644 --- a/tests/test_core/test_core_index.py +++ b/tests/test_core/test_core_index.py @@ -3,7 +3,7 @@ novelWriter – NWIndex Class Tester ================================== This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_core/test_core_item.py b/tests/test_core/test_core_item.py index 2633ed7e..892bf250 100644 --- a/tests/test_core/test_core_item.py +++ b/tests/test_core/test_core_item.py @@ -3,7 +3,7 @@ novelWriter – NWItem Class Tester ================================= This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_core/test_core_options.py b/tests/test_core/test_core_options.py index 8d1b74fb..1a9cf381 100644 --- a/tests/test_core/test_core_options.py +++ b/tests/test_core/test_core_options.py @@ -3,7 +3,7 @@ novelWriter – OptionState Class Tester ====================================== This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_core/test_core_project.py b/tests/test_core/test_core_project.py index 4897c85e..eee8e2ba 100644 --- a/tests/test_core/test_core_project.py +++ b/tests/test_core/test_core_project.py @@ -3,7 +3,7 @@ novelWriter – NWProject Class Tester ==================================== This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_core/test_core_projectxml.py b/tests/test_core/test_core_projectxml.py index f8b06cf8..74c60c74 100644 --- a/tests/test_core/test_core_projectxml.py +++ b/tests/test_core/test_core_projectxml.py @@ -3,7 +3,7 @@ novelWriter – ProjectXMLReader/Writer Class Tester ================================================== This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_core/test_core_spellcheck.py b/tests/test_core/test_core_spellcheck.py index b3b00bf4..b13e7100 100644 --- a/tests/test_core/test_core_spellcheck.py +++ b/tests/test_core/test_core_spellcheck.py @@ -3,7 +3,7 @@ novelWriter – Spell Check Classes Tester ======================================== This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_core/test_core_status.py b/tests/test_core/test_core_status.py index 760f31f5..fdfa1588 100644 --- a/tests/test_core/test_core_status.py +++ b/tests/test_core/test_core_status.py @@ -3,7 +3,7 @@ novelWriter – NWStatus Class Tester =================================== This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_core/test_core_storage.py b/tests/test_core/test_core_storage.py index 8986b65e..1a26ebef 100644 --- a/tests/test_core/test_core_storage.py +++ b/tests/test_core/test_core_storage.py @@ -3,7 +3,7 @@ novelWriter – NWStorage Class Tester ==================================== This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_core/test_core_tohtml.py b/tests/test_core/test_core_tohtml.py index 44f16673..d459bff1 100644 --- a/tests/test_core/test_core_tohtml.py +++ b/tests/test_core/test_core_tohtml.py @@ -3,7 +3,7 @@ novelWriter – ToHtml Class Tester ================================= This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_core/test_core_tokenizer.py b/tests/test_core/test_core_tokenizer.py index f2e939a2..4b535730 100644 --- a/tests/test_core/test_core_tokenizer.py +++ b/tests/test_core/test_core_tokenizer.py @@ -3,7 +3,7 @@ novelWriter – Tokenizer Class Tester ==================================== This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_core/test_core_tomd.py b/tests/test_core/test_core_tomd.py index aec51566..43f44d35 100644 --- a/tests/test_core/test_core_tomd.py +++ b/tests/test_core/test_core_tomd.py @@ -3,7 +3,7 @@ novelWriter – ToMd Class Tester =============================== This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_core/test_core_toodt.py b/tests/test_core/test_core_toodt.py index cbc9ce17..22ea18be 100644 --- a/tests/test_core/test_core_toodt.py +++ b/tests/test_core/test_core_toodt.py @@ -3,7 +3,7 @@ novelWriter – ToOdt Class Tester ================================= This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_core/test_core_tree.py b/tests/test_core/test_core_tree.py index 731e11aa..7b9d02da 100644 --- a/tests/test_core/test_core_tree.py +++ b/tests/test_core/test_core_tree.py @@ -3,7 +3,7 @@ novelWriter – NWTree Class Tester ================================= This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_dialogs/test_dlg_about.py b/tests/test_dialogs/test_dlg_about.py index 8567b07c..71f7771b 100644 --- a/tests/test_dialogs/test_dlg_about.py +++ b/tests/test_dialogs/test_dlg_about.py @@ -3,7 +3,7 @@ novelWriter – About Dialog Class Tester ======================================= This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_dialogs/test_dlg_dialogs.py b/tests/test_dialogs/test_dlg_dialogs.py index 772554ea..cc2e6223 100644 --- a/tests/test_dialogs/test_dlg_dialogs.py +++ b/tests/test_dialogs/test_dlg_dialogs.py @@ -3,7 +3,7 @@ novelWriter – Other Dialog Classes Tester ========================================= This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_dialogs/test_dlg_docmerge.py b/tests/test_dialogs/test_dlg_docmerge.py index 134ed5a2..c2f876d2 100644 --- a/tests/test_dialogs/test_dlg_docmerge.py +++ b/tests/test_dialogs/test_dlg_docmerge.py @@ -3,7 +3,7 @@ novelWriter – Merge and Split Dialog Classes Tester =================================================== This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_dialogs/test_dlg_docsplit.py b/tests/test_dialogs/test_dlg_docsplit.py index 9eb296f2..34463b88 100644 --- a/tests/test_dialogs/test_dlg_docsplit.py +++ b/tests/test_dialogs/test_dlg_docsplit.py @@ -3,7 +3,7 @@ novelWriter – Merge and Split Dialog Classes Tester =================================================== This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_dialogs/test_dlg_preferences.py b/tests/test_dialogs/test_dlg_preferences.py index a5990d95..ebe97b73 100644 --- a/tests/test_dialogs/test_dlg_preferences.py +++ b/tests/test_dialogs/test_dlg_preferences.py @@ -3,7 +3,7 @@ novelWriter – Preferences Dialog Class Tester ============================================= This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_dialogs/test_dlg_projdetails.py b/tests/test_dialogs/test_dlg_projdetails.py index 92df7f39..50150257 100644 --- a/tests/test_dialogs/test_dlg_projdetails.py +++ b/tests/test_dialogs/test_dlg_projdetails.py @@ -3,7 +3,7 @@ novelWriter – Project Details Dialog Class Tester ================================================= This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_dialogs/test_dlg_projload.py b/tests/test_dialogs/test_dlg_projload.py index d5019f11..6f226fda 100644 --- a/tests/test_dialogs/test_dlg_projload.py +++ b/tests/test_dialogs/test_dlg_projload.py @@ -3,7 +3,7 @@ novelWriter – Project Load Dialog Class Tester ============================================== This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_dialogs/test_dlg_projsettings.py b/tests/test_dialogs/test_dlg_projsettings.py index e90fe6ef..8d933237 100644 --- a/tests/test_dialogs/test_dlg_projsettings.py +++ b/tests/test_dialogs/test_dlg_projsettings.py @@ -3,7 +3,7 @@ novelWriter – Project Settings Dialog Class Tester ================================================== This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_dialogs/test_dlg_wordlist.py b/tests/test_dialogs/test_dlg_wordlist.py index 7f8d989c..fef4b4a3 100644 --- a/tests/test_dialogs/test_dlg_wordlist.py +++ b/tests/test_dialogs/test_dlg_wordlist.py @@ -3,7 +3,7 @@ novelWriter – Other Dialog Classes Tester ========================================= This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_gui/test_gui_doceditor.py b/tests/test_gui/test_gui_doceditor.py index 3de027df..7497f950 100644 --- a/tests/test_gui/test_gui_doceditor.py +++ b/tests/test_gui/test_gui_doceditor.py @@ -3,7 +3,7 @@ novelWriter – Main GUI Editor Class Tester ========================================== This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_gui/test_gui_docviewer.py b/tests/test_gui/test_gui_docviewer.py index f7c2d766..02f6002f 100644 --- a/tests/test_gui/test_gui_docviewer.py +++ b/tests/test_gui/test_gui_docviewer.py @@ -3,7 +3,7 @@ novelWriter – Main GUI Viewer Class Tester ========================================== This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_gui/test_gui_guimain.py b/tests/test_gui/test_gui_guimain.py index ec17114c..e6a5256e 100644 --- a/tests/test_gui/test_gui_guimain.py +++ b/tests/test_gui/test_gui_guimain.py @@ -3,7 +3,7 @@ novelWriter – Main GUI Editor Class Tester ========================================== This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_gui/test_gui_i18n.py b/tests/test_gui/test_gui_i18n.py index f5c6cb06..b514001c 100644 --- a/tests/test_gui/test_gui_i18n.py +++ b/tests/test_gui/test_gui_i18n.py @@ -3,7 +3,7 @@ novelWriter – Main GUI i18n Tests ================================= This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_gui/test_gui_mainmenu.py b/tests/test_gui/test_gui_mainmenu.py index 157b9d46..92a820a0 100644 --- a/tests/test_gui/test_gui_mainmenu.py +++ b/tests/test_gui/test_gui_mainmenu.py @@ -3,7 +3,7 @@ novelWriter – Main GUI Main Menu Class Tester ============================================= This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_gui/test_gui_noveltree.py b/tests/test_gui/test_gui_noveltree.py index c75a29f3..313d720e 100644 --- a/tests/test_gui/test_gui_noveltree.py +++ b/tests/test_gui/test_gui_noveltree.py @@ -3,7 +3,7 @@ novelWriter – Main GUI Novel Tree Class Tester ============================================== This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_gui/test_gui_outline.py b/tests/test_gui/test_gui_outline.py index 707f497d..7b5bbfc6 100644 --- a/tests/test_gui/test_gui_outline.py +++ b/tests/test_gui/test_gui_outline.py @@ -3,7 +3,7 @@ novelWriter – Main GUI Outline Class Tester =========================================== This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_gui/test_gui_projtree.py b/tests/test_gui/test_gui_projtree.py index 684f4dd3..cf1a4ab2 100644 --- a/tests/test_gui/test_gui_projtree.py +++ b/tests/test_gui/test_gui_projtree.py @@ -3,7 +3,7 @@ novelWriter – Main GUI Project Tree Class Tester ================================================ This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_gui/test_gui_statusbar.py b/tests/test_gui/test_gui_statusbar.py index 58ea144e..f0a3ce9f 100644 --- a/tests/test_gui/test_gui_statusbar.py +++ b/tests/test_gui/test_gui_statusbar.py @@ -3,7 +3,7 @@ novelWriter – Main Status Bar Class Tester ========================================== This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_gui/test_gui_theme.py b/tests/test_gui/test_gui_theme.py index c8133f6b..9899c1c1 100644 --- a/tests/test_gui/test_gui_theme.py +++ b/tests/test_gui/test_gui_theme.py @@ -3,7 +3,7 @@ novelWriter – GUI Theme and Icons Classes Tester ================================================ This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_tools/test_tools_build.py b/tests/test_tools/test_tools_build.py index 44d5330f..259e0924 100644 --- a/tests/test_tools/test_tools_build.py +++ b/tests/test_tools/test_tools_build.py @@ -3,7 +3,7 @@ novelWriter – Build Dialog Class Tester ======================================= This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_tools/test_tools_lipsum.py b/tests/test_tools/test_tools_lipsum.py index e0cf85f1..31944091 100644 --- a/tests/test_tools/test_tools_lipsum.py +++ b/tests/test_tools/test_tools_lipsum.py @@ -3,7 +3,7 @@ novelWriter – Lorem Ipsum Tool Tester ===================================== This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_tools/test_tools_projwizard.py b/tests/test_tools/test_tools_projwizard.py index 77db942f..9fe8865b 100644 --- a/tests/test_tools/test_tools_projwizard.py +++ b/tests/test_tools/test_tools_projwizard.py @@ -3,7 +3,7 @@ novelWriter – New Project Wizard Class Tester ============================================= This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/test_tools/test_tools_writingstats.py b/tests/test_tools/test_tools_writingstats.py index c071cf43..895635fd 100644 --- a/tests/test_tools/test_tools_writingstats.py +++ b/tests/test_tools/test_tools_writingstats.py @@ -3,7 +3,7 @@ novelWriter – Writing Stats Dialog Class Tester =============================================== This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/tests/tools.py b/tests/tools.py index 5b77af92..fa5107a5 100644 --- a/tests/tools.py +++ b/tests/tools.py @@ -3,7 +3,7 @@ novelWriter – Test Suite Tools ============================== This file is a part of novelWriter -Copyright 2018–2022, Veronica Berglyd Olsen +Copyright 2018–2023, Veronica Berglyd Olsen This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by From ef268dc38629686a24a0e08bcf379fb9bc24eac7 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Sun, 8 Jan 2023 19:11:26 +0100 Subject: [PATCH 23/24] Bump version to 2.0.3 and update changelog and release notes --- CHANGELOG.md | 56 +++++++++++++++++++++++ novelwriter/__init__.py | 6 +-- novelwriter/assets/text/release_notes.htm | 10 ++++ sample/nwProject.nwx | 4 +- 4 files changed, 71 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c5b83aa..8e8be35d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,61 @@ # novelWriter Changelog +## Version 2.0.3 [2023-01-08] + +### Release Notes + +This is a patch release that fixes a few bugs and usability issues. The editing of status and +importance labels in Project Settings should now be a bit more intuitive. Opening a document from +the Outline View that is already open in the editor should now switch to the editor view. The +convert folder to note or document feature in the project tree has also been fixed. Some icons have +been updated and a renderring issue with one of them fixed. Chinese, Norwegian, US English, German +and Spanish translations have been updated as well. A new credits tab has been added to the About +dialog box, replacing the Credits section on the main About tab. + +### Detailed Changelog + +**Bugfixes** + +* Fix an issue with one of the active icons for the project tree. The SVG paths were not properly + joined. Issue #1297. PR #1299. +* Fix an issue where the new open project routine for 2.0 would not check that a project exists + before trying to open it. This resulted in the open process creating all the expected folders in + the designated location before realising there was no project there. Issue #1300. PR #1301. +* Fix an issue with the convert folder to document or note functionality was no longer working. The + context menu entries were actually just calling the function for converting a file. Issue #1305. + PR #1306. +* Fix an issue where the app may crash if an item is added as a child of an item that exists, but + has invalid settings such that it is rejected by the project tree builder function when the + project is opened. Now, only items with a parent item that has already been added will be allowed + into the project tree. The issue was caused by an invalid project file, and is not likely to + occur during normal use, but such events should still be handled rather than crash the app. + Issue #1283. PR #1309. + +**User Interface** + +* The CREDITS.md file has been updated, and its content is now also available in a "Credits" tab in + the About dialog in the app. The old credits section of the "About" tab has been removed. + PR #1298. +* Fix a usability issue where double-clicking an entry in the Outline that belongs to a document + that is already open in the editor does nothing. Now, the app switches view to the editor when + the heading is clicked. Issue #1291. PR #1306. +* Change how the editing of status and importance labels work in Project Settings. The form at the + bottom of the tabs is now always active when a label is selected, and always inactive when none + is selected. Issue #1290. PR #1308. + +**Internationalisation** + +* Update Chinese translation. PR #1298. +* Update Norwegian, US English, German and Spanish translations. PR #1311. + +**Other CHanges** + +* An icon theme can now be loaded from the user's data folder alongside a custom user theme. + Issue #1297. PR #1299. +* Some Inkscape format SVG files have been converted to Plain SVG. PR #1299. + +---- + ## Version 2.0.2 [2022-12-01] ### Release Notes diff --git a/novelwriter/__init__.py b/novelwriter/__init__.py index e4ffb61c..48345eea 100644 --- a/novelwriter/__init__.py +++ b/novelwriter/__init__.py @@ -59,9 +59,9 @@ __license__ = "GPLv3" __author__ = "Veronica Berglyd Olsen" __maintainer__ = "Veronica Berglyd Olsen" __email__ = "code@vkbo.net" -__version__ = "2.0.2" -__hexversion__ = "0x020002f0" -__date__ = "2022-12-01" +__version__ = "2.0.3" +__hexversion__ = "0x020003f0" +__date__ = "2023-01-08" __status__ = "Stable" __domain__ = "novelwriter.io" __url__ = "https://novelwriter.io" diff --git a/novelwriter/assets/text/release_notes.htm b/novelwriter/assets/text/release_notes.htm index 7570c272..816cf0f6 100644 --- a/novelwriter/assets/text/release_notes.htm +++ b/novelwriter/assets/text/release_notes.htm @@ -99,5 +99,15 @@ been updated to include the icon theme setting. The patch also updates the Frenc

This is a patch release that fixes a minor issues with syntax highlighting not updating when the highlighting preferences were changed. It also fixes an issue that broke the FreeBSD release.

+

Patch 2.0.3 – 8 January 2023

+ +

This is a patch release that fixes a few bugs and usability issues. The editing of status and +importance labels in Project Settings should now be a bit more intuitive. Opening a document from +the Outline View that is already open in the editor should now switch to the editor view. The +convert folder to note or document feature in the project tree has also been fixed. Some icons have +been updated and a renderring issue with one of them fixed. Chinese, Norwegian, US English, German +and Spanish translations have been updated as well. A new credits tab has been added to the About +dialog box, replacing the Credits section on the main About tab.

+ diff --git a/sample/nwProject.nwx b/sample/nwProject.nwx index f16b4c45..6204d2d0 100644 --- a/sample/nwProject.nwx +++ b/sample/nwProject.nwx @@ -1,6 +1,6 @@ - - + + Sample Project Sample Project Jane Smith From a671878e26adec35261c7304e9bf5ca9ff44c5a9 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Sun, 8 Jan 2023 19:26:37 +0100 Subject: [PATCH 24/24] Add build for Ubuntu 23.04 --- setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.py b/setup.py index cf70a546..75bcd2b1 100755 --- a/setup.py +++ b/setup.py @@ -853,6 +853,7 @@ def makeForLaunchpad(doSign=False, isFirst=False, isSnapshot=False): ("20.04", "focal"), ("22.04", "jammy"), ("22.10", "kinetic"), + ("23.04", "lunar"), ] tStamp = datetime.datetime.now().strftime("%Y%m%d~%H%M%S")