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 1/5] 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 FilesNovel 文件的标题格式
-
+ 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 MarkdownnovelWriter Markdown
-
+ Standard Markdown标准 Markdown
-
+ GitHub MarkdownGitHub Markdown
-
+ JSON + novelWriter HTMLJSON + novelWriter HTML
-
+ JSON + novelWriter MarkdownJSON + novelWriter Markdown
-
+ PDFPDF
-
+ 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 2/5] 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 3/5] 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 @@
+
+
+
+
+
"
).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 += "
".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 4/5] 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)