Compare commits

...

108 Commits

Author SHA1 Message Date
B.D. Murphy
f2cf2c4396 fix: rename all novelwriter icons/assets to umbraedit
Some checks are pending
Syntax / Linting and Type Checking (push) Waiting to run
Tests / Linux Python 3.11 (push) Waiting to run
Tests / Linux Python 3.12 (push) Waiting to run
Tests / Linux Python 3.13 (push) Waiting to run
Tests / Linux Python 3.14 (push) Waiting to run
Tests / Linux Python 3.15 (push) Waiting to run
Tests / MacOS Python 3.14 (push) Waiting to run
Tests / Windows Python 3.14 (push) Waiting to run
Tests / PR Coverage Report (push) Blocked by required conditions
Tests / Action Coverage Report (push) Blocked by required conditions
Tests / Ubuntu 24.04 & Sys Packages (push) Waiting to run
Tests / Fedora 44 & Sys Packages (push) Waiting to run
- Rename novelwriter.iconset to umbraedit.iconset with all icon sizes
- Rename setup/icons/novelwriter.* to umbraedit.*
- Rename setup/data/hicolor/ novelwriter icons to umbraedit
- Rename setup/data/novelwriter.* to umbraedit.*
- Rename docs/source/_static/novelwriter-* to umbraedit-*
- Rename setup/flatpak/io.novelwriter.novelwriter.yml to io.umbraedit.umbraedit.yml
- Rename setup/data/novelwriter.desktop to umbraedit.desktop
- Update setup/macos/build.sh to reference umbraedit.iconset
- Rebuild macOS DMG with correct UmbraEdit icon
2026-11-07 04:07:09 -08:00
B.D. Murphy
79a9ab995d fix: rename novelwriter.iconset to umbraedit.iconset, rebuild macOS DMG with correct icon
Some checks failed
Syntax / Linting and Type Checking (push) Has been cancelled
Tests / Linux Python 3.11 (push) Has been cancelled
Tests / Linux Python 3.12 (push) Has been cancelled
Tests / Linux Python 3.13 (push) Has been cancelled
Tests / Linux Python 3.14 (push) Has been cancelled
Tests / Linux Python 3.15 (push) Has been cancelled
Tests / MacOS Python 3.14 (push) Has been cancelled
Tests / Windows Python 3.14 (push) Has been cancelled
Tests / PR Coverage Report (push) Has been cancelled
Tests / Action Coverage Report (push) Has been cancelled
Tests / Ubuntu 24.04 & Sys Packages (push) Has been cancelled
Tests / Fedora 44 & Sys Packages (push) Has been cancelled
2026-11-07 03:58:14 -08:00
B.D. Murphy
f6aabb7c5d fix: handle apt-get update failure gracefully
Some checks failed
Syntax / Linting and Type Checking (push) Has been cancelled
Tests / Linux Python 3.11 (push) Has been cancelled
Tests / Linux Python 3.12 (push) Has been cancelled
Tests / Linux Python 3.13 (push) Has been cancelled
Tests / Linux Python 3.14 (push) Has been cancelled
Tests / Linux Python 3.15 (push) Has been cancelled
Tests / MacOS Python 3.14 (push) Has been cancelled
Tests / Windows Python 3.14 (push) Has been cancelled
Tests / PR Coverage Report (push) Has been cancelled
Tests / Action Coverage Report (push) Has been cancelled
Tests / Ubuntu 24.04 & Sys Packages (push) Has been cancelled
Tests / Fedora 44 & Sys Packages (push) Has been cancelled
- If apt-get update fails, show clear error message telling user
  to fix their package repositories first
- Exit with error instead of silently continuing with broken deps
- Only fail on critical apt-get update failure, not individual
  package install failures (those are warnings)
2026-11-06 17:57:57 -08:00
B.D. Murphy
b2782daece fix: make build-linux.sh resilient to apt-get update failures
Some checks failed
Syntax / Linting and Type Checking (push) Has been cancelled
Tests / Linux Python 3.11 (push) Has been cancelled
Tests / Linux Python 3.12 (push) Has been cancelled
Tests / Linux Python 3.13 (push) Has been cancelled
Tests / Linux Python 3.14 (push) Has been cancelled
Tests / Linux Python 3.15 (push) Has been cancelled
Tests / MacOS Python 3.14 (push) Has been cancelled
Tests / Windows Python 3.14 (push) Has been cancelled
Tests / PR Coverage Report (push) Has been cancelled
Tests / Action Coverage Report (push) Has been cancelled
Tests / Ubuntu 24.04 & Sys Packages (push) Has been cancelled
Tests / Fedora 44 & Sys Packages (push) Has been cancelled
2026-11-06 17:07:08 -08:00
B.D. Murphy
e7fdf05b00 feat: add build-linux.sh for Linux AMD64 packaging
Some checks failed
Syntax / Linting and Type Checking (push) Has been cancelled
Tests / Linux Python 3.11 (push) Has been cancelled
Tests / Linux Python 3.12 (push) Has been cancelled
Tests / Linux Python 3.13 (push) Has been cancelled
Tests / Linux Python 3.14 (push) Has been cancelled
Tests / Linux Python 3.15 (push) Has been cancelled
Tests / MacOS Python 3.14 (push) Has been cancelled
Tests / Windows Python 3.14 (push) Has been cancelled
Tests / PR Coverage Report (push) Has been cancelled
Tests / Action Coverage Report (push) Has been cancelled
Tests / Ubuntu 24.04 & Sys Packages (push) Has been cancelled
Tests / Fedora 44 & Sys Packages (push) Has been cancelled
- Add build-linux.sh script for end-to-end Linux builds
- Add build-linux.sh to MANIFEST.in for source distribution inclusion
- Fix all build scripts to handle sys.path when run directly
2026-11-06 16:23:26 -08:00
B.D. Murphy
02c532234c fix: add sys.path fix to build scripts for direct execution
Some checks failed
Syntax / Linting and Type Checking (push) Has been cancelled
Tests / Linux Python 3.11 (push) Has been cancelled
Tests / Linux Python 3.12 (push) Has been cancelled
Tests / Linux Python 3.13 (push) Has been cancelled
Tests / Linux Python 3.14 (push) Has been cancelled
Tests / Linux Python 3.15 (push) Has been cancelled
Tests / MacOS Python 3.14 (push) Has been cancelled
Tests / Windows Python 3.14 (push) Has been cancelled
Tests / PR Coverage Report (push) Has been cancelled
Tests / Action Coverage Report (push) Has been cancelled
Tests / Ubuntu 24.04 & Sys Packages (push) Has been cancelled
Tests / Fedora 44 & Sys Packages (push) Has been cancelled
2026-11-06 12:25:43 -08:00
B.D. Murphy
6eb6241044 fix: fix macOS build - icon path, version parsing, i18n imports
Some checks failed
Syntax / Linting and Type Checking (push) Has been cancelled
Tests / Linux Python 3.11 (push) Has been cancelled
Tests / Linux Python 3.12 (push) Has been cancelled
Tests / Linux Python 3.13 (push) Has been cancelled
Tests / Linux Python 3.14 (push) Has been cancelled
Tests / Linux Python 3.15 (push) Has been cancelled
Tests / MacOS Python 3.14 (push) Has been cancelled
Tests / Windows Python 3.14 (push) Has been cancelled
Tests / PR Coverage Report (push) Has been cancelled
Tests / Action Coverage Report (push) Has been cancelled
Tests / Ubuntu 24.04 & Sys Packages (push) Has been cancelled
Tests / Fedora 44 & Sys Packages (push) Has been cancelled
- Fix setup/macos/build.sh: icon path uses ./novelwriter.iconset relative path
- Fix umbraedit/__init__.py: __version__ now clean without inline comments
- Fix utils/assets.py: datetime.UTC -> datetime.timezone as UTC for py3.9 compat
- Fix utils/common.py: tomllib fallback to tomli for py3.9 compat
- Fix utils/docs.py: tomllib fallback to tomli for py3.9 compat
2026-11-06 08:39:54 -08:00
B.D. Murphy
af205b4877 resolve: fix README.md merge conflict
Some checks failed
Syntax / Linting and Type Checking (push) Has been cancelled
Tests / Linux Python 3.11 (push) Has been cancelled
Tests / Linux Python 3.12 (push) Has been cancelled
Tests / Linux Python 3.13 (push) Has been cancelled
Tests / Linux Python 3.14 (push) Has been cancelled
Tests / Linux Python 3.15 (push) Has been cancelled
Tests / MacOS Python 3.14 (push) Has been cancelled
Tests / Windows Python 3.14 (push) Has been cancelled
Tests / PR Coverage Report (push) Has been cancelled
Tests / Action Coverage Report (push) Has been cancelled
Tests / Ubuntu 24.04 & Sys Packages (push) Has been cancelled
Tests / Fedora 44 & Sys Packages (push) Has been cancelled
2026-11-06 08:29:14 -08:00
B.D. Murphy
a04eaaa779 house: add multi-platform build infrastructure
- Add MANIFEST.in to include utils/ and setup/ in source distributions
- Add utils/build_all.py - unified multi-platform build orchestrator
  (Linux amd64/arm64, macOS amd64/arm64, Windows amd64/arm64)
- Add BUILD_LINUX.md - Linux build guide with .deb and AppImage options
- Add RELEASE.md - complete release process with versioning (YYYY/MM.####),
  platform support matrix, and release workflow
- Fix .gitignore to exclude UmbraEdit_Projects/, Inner_Demon_1.2a.docm,
  UmbraEdit_deb_Build_Script.txt, requirements.txt, .DS_Store
- All source distributions now include build scripts for Linux packages
2026-11-06 08:03:35 -08:00
B.D. Murphy
d09e04e483 house: add Linux AMD64 build guide
- Add BUILD_LINUX.md with instructions for building .deb and AppImage
  packages on Linux AMD64 from the source distribution
- Document prerequisites, build steps, and usage for each package type
- Include source distribution (sdist) and pure Python wheel in dist/
2026-11-06 07:46:57 -08:00
B.D. Murphy
f421136f75 house: update website URLs to umbratools.com/umbraedit
- Update all website references from umbraedit.io to umbratools.com/umbraedit
- Update documentation URLs from docs.umbraedit.io to umbratools.com/umbraedit/docs
- Update release URLs from releases.umbraedit.io to umbratools.com/umbraedit/releases
- Update __domain__ to umbratools.com for Qt organization domain
- Update README first image to reference UmbraEdit icon SVG
- Update README link text from umbraedit.io to UmbraEdit
- Update test versioninfo expected text
2026-11-06 07:26:55 -08:00
f78f76a679 Update README.md
Some checks failed
Syntax / Linting and Type Checking (push) Has been cancelled
Tests / Linux Python 3.11 (push) Has been cancelled
Tests / Linux Python 3.12 (push) Has been cancelled
Tests / Linux Python 3.13 (push) Has been cancelled
Tests / Linux Python 3.14 (push) Has been cancelled
Tests / Linux Python 3.15 (push) Has been cancelled
Tests / MacOS Python 3.14 (push) Has been cancelled
Tests / Windows Python 3.14 (push) Has been cancelled
Tests / PR Coverage Report (push) Has been cancelled
Tests / Action Coverage Report (push) Has been cancelled
Tests / Ubuntu 24.04 & Sys Packages (push) Has been cancelled
Tests / Fedora 44 & Sys Packages (push) Has been cancelled
Aligning to umbratools, more changes will be made.
2026-11-06 14:41:26 +00:00
B.D. Murphy
cd3bf1b97a feat: add Save Project As (Ctrl+Alt+S) to Project menu
Some checks failed
Syntax / Linting and Type Checking (push) Has been cancelled
Tests / Linux Python 3.11 (push) Has been cancelled
Tests / Linux Python 3.12 (push) Has been cancelled
Tests / Linux Python 3.13 (push) Has been cancelled
Tests / Linux Python 3.14 (push) Has been cancelled
Tests / Linux Python 3.15 (push) Has been cancelled
Tests / MacOS Python 3.14 (push) Has been cancelled
Tests / Windows Python 3.14 (push) Has been cancelled
Tests / PR Coverage Report (push) Has been cancelled
Tests / Action Coverage Report (push) Has been cancelled
Tests / Ubuntu 24.04 & Sys Packages (push) Has been cancelled
Tests / Fedora 44 & Sys Packages (push) Has been cancelled
- Add Save Project As menu item under Project menu with Ctrl+Alt+S shortcut
- SaveProjectAs dialog prompts for destination folder and new project name
- Copies all document files, metadata, and project XML to new location
- New location added to recent projects as a separate entry
- Original project location remains in recent projects unchanged
- Generate new UUID for the copied project
2026-11-05 11:40:38 -08:00
B.D. Murphy
e4ac46eb19 feat: establish YYYY/MM versioning and add NovelWriter attribution
Some checks failed
Syntax / Linting and Type Checking (push) Has been cancelled
Tests / Linux Python 3.11 (push) Has been cancelled
Tests / Linux Python 3.12 (push) Has been cancelled
Tests / Linux Python 3.13 (push) Has been cancelled
Tests / Linux Python 3.14 (push) Has been cancelled
Tests / Linux Python 3.15 (push) Has been cancelled
Tests / MacOS Python 3.14 (push) Has been cancelled
Tests / Windows Python 3.14 (push) Has been cancelled
Tests / PR Coverage Report (push) Has been cancelled
Tests / Action Coverage Report (push) Has been cancelled
Tests / Ubuntu 24.04 & Sys Packages (push) Has been cancelled
Tests / Fedora 44 & Sys Packages (push) Has been cancelled
- Update version to 2026.11.0001 (YYYY/MM.#### development format)
- Add NovelWriter attribution: UmbraEdit is based on novelWrite 2026.02
  by Veronica Berglyd Olsen (novelWriter.io), GPL v3.0
- Update CHANGELOG.md with new version format and development entry
- Add B.D. Murphy to CREDITS.md and credits_en.htm
- Update all copyright headers to use 'novelWriter contributors' format
- Add B.D. Murphy copyright to new files (fromdocx.py, SVGs, docs)
- Tag release 2026.11 and development 2026.11.0001
2026-11-05 10:58:28 -08:00
B.D. Murphy
0d825f5c72 fix: import chapter text content into scene documents
Some checks failed
Syntax / Linting and Type Checking (push) Has been cancelled
Tests / Linux Python 3.11 (push) Has been cancelled
Tests / Linux Python 3.12 (push) Has been cancelled
Tests / Linux Python 3.13 (push) Has been cancelled
Tests / Linux Python 3.14 (push) Has been cancelled
Tests / Linux Python 3.15 (push) Has been cancelled
Tests / MacOS Python 3.14 (push) Has been cancelled
Tests / Windows Python 3.14 (push) Has been cancelled
Tests / PR Coverage Report (push) Has been cancelled
Tests / Action Coverage Report (push) Has been cancelled
Tests / Ubuntu 24.04 & Sys Packages (push) Has been cancelled
Tests / Fedora 44 & Sys Packages (push) Has been cancelled
- Fix _addScene to write chapter text content as scene documents inside
  chapter folders instead of just creating placeholder notes
- Split chapter text at >>> section breaks into separate scene documents
- All chapter content now appears in UmbraEdit documents instead of
  being lost
2026-11-05 09:40:48 -08:00
B.D. Murphy
84e87cc2cd fix: add image notes to DOCX/DOCM import
Some checks failed
Syntax / Linting and Type Checking (push) Has been cancelled
Tests / Linux Python 3.11 (push) Has been cancelled
Tests / Linux Python 3.12 (push) Has been cancelled
Tests / Linux Python 3.13 (push) Has been cancelled
Tests / Linux Python 3.14 (push) Has been cancelled
Tests / Linux Python 3.15 (push) Has been cancelled
Tests / MacOS Python 3.14 (push) Has been cancelled
Tests / Windows Python 3.14 (push) Has been cancelled
Tests / PR Coverage Report (push) Has been cancelled
Tests / Action Coverage Report (push) Has been cancelled
Tests / Ubuntu 24.04 & Sys Packages (push) Has been cancelled
Tests / Fedora 44 & Sys Packages (push) Has been cancelled
- Add image notes for all images found in the Word document
- Images are stored with their binary data and MIME type in the notes
2026-11-05 09:26:09 -08:00
B.D. Murphy
096cb08e98 feat: add Word DOCX/DOCM import capability
Some checks failed
Syntax / Linting and Type Checking (push) Has been cancelled
Tests / Linux Python 3.11 (push) Has been cancelled
Tests / Linux Python 3.12 (push) Has been cancelled
Tests / Linux Python 3.13 (push) Has been cancelled
Tests / Linux Python 3.14 (push) Has been cancelled
Tests / Linux Python 3.15 (push) Has been cancelled
Tests / MacOS Python 3.14 (push) Has been cancelled
Tests / Windows Python 3.14 (push) Has been cancelled
Tests / PR Coverage Report (push) Has been cancelled
Tests / Action Coverage Report (push) Has been cancelled
Tests / Ubuntu 24.04 & Sys Packages (push) Has been cancelled
Tests / Fedora 44 & Sys Packages (push) Has been cancelled
- Add umbraedit/formats/fromdocx.py: Parses Word .docm/.docx files,
  extracts text content with styles, detects non-translatable items
  (images, headers, footers, comments, footnotes) and captures them
  as notes.
- Add DocxImporter class to umbraedit/core/coretools.py: Creates a new
  UmbraEdit project from parsed Word document data, organizing content
  into chapter folders and scene documents, with non-translatable items
  stored as notes in an Import Notes folder.
- Add B.D. Murphy 2026 copyright and change comments to all modified files.
2026-11-05 09:25:26 -08:00
B.D. Murphy
1728fc31ed docs: add B.D. Murphy 2026 copyright and change comments to modified files
Some checks failed
Syntax / Linting and Type Checking (push) Has been cancelled
Tests / Linux Python 3.11 (push) Has been cancelled
Tests / Linux Python 3.12 (push) Has been cancelled
Tests / Linux Python 3.13 (push) Has been cancelled
Tests / Linux Python 3.14 (push) Has been cancelled
Tests / Linux Python 3.15 (push) Has been cancelled
Tests / MacOS Python 3.14 (push) Has been cancelled
Tests / Windows Python 3.14 (push) Has been cancelled
Tests / PR Coverage Report (push) Has been cancelled
Tests / Action Coverage Report (push) Has been cancelled
Tests / Ubuntu 24.04 & Sys Packages (push) Has been cancelled
Tests / Fedora 44 & Sys Packages (push) Has been cancelled
- Confirm original copyright (Veronica Berglyd Olsen) preserved in all modified files
- Add Additional Copyright (C) 2026 B.D. Murphy to:
  - umbraedit/__init__.py (version/date/hexversion changes)
  - umbraedit/splash.py (SPLASH_IMG path change)
  - umbraedit/guimain.py (app icon change to UmbraEdit.jpg)
  - umbraedit/gui/theme.py (icon resolution change)
  - umbraedit/assets/images/umbraedit-text-light.svg (replaced novelWriter text)
  - umbraedit/assets/images/umbraedit-text-dark.svg (replaced novelWriter text)
  - CHANGELOG.md (1.0.0 release entry)
  - .gitignore (exclude accidentally committed files)
  - UMBRAEDIT.md, UMBRAEDIT_UPDATE_PLAN.md, UmbraEdit.command (new files)
- Add inline change comments describing each modification
2026-11-05 09:07:29 -08:00
B.D. Murphy
162428d8cb chore: replace novelWriter branding with UmbraEdit
Some checks failed
Syntax / Linting and Type Checking (push) Has been cancelled
Tests / Linux Python 3.11 (push) Has been cancelled
Tests / Linux Python 3.12 (push) Has been cancelled
Tests / Linux Python 3.13 (push) Has been cancelled
Tests / Linux Python 3.14 (push) Has been cancelled
Tests / Linux Python 3.15 (push) Has been cancelled
Tests / MacOS Python 3.14 (push) Has been cancelled
Tests / Windows Python 3.14 (push) Has been cancelled
Tests / PR Coverage Report (push) Has been cancelled
Tests / Action Coverage Report (push) Has been cancelled
Tests / Ubuntu 24.04 & Sys Packages (push) Has been cancelled
Tests / Fedora 44 & Sys Packages (push) Has been cancelled
- Replace novelWriter text logo SVGs with UmbraEdit text (light/dark themes)
- Use UmbraEdit.jpg as app icon (window/dock/tray/welcome screen)
- Copy UmbraEdit.jpg to assets/icons/ for icon system resolution
- All branding now shows UmbraEdit instead of novelWriter
2026-11-05 09:01:22 -08:00
B.D. Murphy
24408b9440 chore: splash screen source and UmbraEdit.jpg icon
Some checks failed
Syntax / Linting and Type Checking (push) Has been cancelled
Tests / Linux Python 3.11 (push) Has been cancelled
Tests / Linux Python 3.12 (push) Has been cancelled
Tests / Linux Python 3.13 (push) Has been cancelled
Tests / Linux Python 3.14 (push) Has been cancelled
Tests / Linux Python 3.15 (push) Has been cancelled
Tests / MacOS Python 3.14 (push) Has been cancelled
Tests / Windows Python 3.14 (push) Has been cancelled
Tests / PR Coverage Report (push) Has been cancelled
Tests / Action Coverage Report (push) Has been cancelled
Tests / Ubuntu 24.04 & Sys Packages (push) Has been cancelled
Tests / Fedora 44 & Sys Packages (push) Has been cancelled
- Copy splash screen to NW_Splash.png in root for separate modification
- Update splash.py to reference NW_Splash.png in project root
- Use UmbraEdit.jpg as-is for application window/dock icon
- UmbraEdit.jpg left unmodified
2026-11-05 07:57:20 -08:00
B.D. Murphy
641a402daa chore: Umbra brand transition - splash, icon, version, changelog
Some checks failed
Syntax / Linting and Type Checking (push) Has been cancelled
Tests / Linux Python 3.11 (push) Has been cancelled
Tests / Linux Python 3.12 (push) Has been cancelled
Tests / Linux Python 3.13 (push) Has been cancelled
Tests / Linux Python 3.14 (push) Has been cancelled
Tests / Linux Python 3.15 (push) Has been cancelled
Tests / MacOS Python 3.14 (push) Has been cancelled
Tests / Windows Python 3.14 (push) Has been cancelled
Tests / PR Coverage Report (push) Has been cancelled
Tests / Action Coverage Report (push) Has been cancelled
Tests / Ubuntu 24.04 & Sys Packages (push) Has been cancelled
Tests / Fedora 44 & Sys Packages (push) Has been cancelled
- Update version to 1.0.0, date to 2026-11-05, hexversion to 0x01000000
- Create new Umbra-branded splash screen (book + audio wave motif)
- Create new Umbra-branded app icon (umbraedit.png)
- Update guimain.py to load umbraedit.png icon with svg fallback
- Update CHANGELOG.md with UmbraEdit 1.0.0 release notes
- All code compiles, no remaining novelWriter references in Python
2026-11-05 07:45:51 -08:00
B.D. Murphy
026f486b3e chore: fix test fixtures and asset names for UmbraEdit rename
Some checks failed
Syntax / Linting and Type Checking (push) Has been cancelled
Tests / Linux Python 3.11 (push) Has been cancelled
Tests / Linux Python 3.12 (push) Has been cancelled
Tests / Linux Python 3.13 (push) Has been cancelled
Tests / Linux Python 3.14 (push) Has been cancelled
Tests / Linux Python 3.15 (push) Has been cancelled
Tests / MacOS Python 3.14 (push) Has been cancelled
Tests / Windows Python 3.14 (push) Has been cancelled
Tests / PR Coverage Report (push) Has been cancelled
Tests / Action Coverage Report (push) Has been cancelled
Tests / Ubuntu 24.04 & Sys Packages (push) Has been cancelled
Tests / Fedora 44 & Sys Packages (push) Has been cancelled
- Rename test fixture files: config_novelwriter.toml -> config_umbraedit.toml
- Rename test fixture files: old_novelwriter.conf -> old_umbraedit.conf
- Rename test fixture files: nw_en_GB.qm -> ue_en_GB.qm
- Rename asset files: novelwriter-text-*.svg -> umbraedit-text-*.svg
- Rename asset files: novelwriter.svg/ico -> umbraedit.svg/ico
- Rename asset files: x-novelwriter-project.* -> x-umbraedit-project.*
- Fix test references to _nwLangPath -> _ueLangPath
- Bump version to 1.0.0 (first UmbraEdit release)
- All 735 tests pass, 2 skipped
2026-11-05 07:36:45 -08:00
B.D. Murphy
7bb3fc581b docs: add toolchain & dependency update plan
Some checks failed
Syntax / Linting and Type Checking (push) Has been cancelled
Tests / Linux Python 3.11 (push) Has been cancelled
Tests / Linux Python 3.12 (push) Has been cancelled
Tests / Linux Python 3.13 (push) Has been cancelled
Tests / Linux Python 3.14 (push) Has been cancelled
Tests / Linux Python 3.15 (push) Has been cancelled
Tests / MacOS Python 3.14 (push) Has been cancelled
Tests / Windows Python 3.14 (push) Has been cancelled
Tests / PR Coverage Report (push) Has been cancelled
Tests / Action Coverage Report (push) Has been cancelled
Tests / Ubuntu 24.04 & Sys Packages (push) Has been cancelled
Tests / Fedora 44 & Sys Packages (push) Has been cancelled
2026-11-05 07:24:54 -08:00
B.D. Murphy
88618b4c29 docs: add UMBRAEDIT.md project scan and structure guide
Some checks failed
Syntax / Linting and Type Checking (push) Has been cancelled
Tests / Linux Python 3.11 (push) Has been cancelled
Tests / Linux Python 3.12 (push) Has been cancelled
Tests / Linux Python 3.13 (push) Has been cancelled
Tests / Linux Python 3.14 (push) Has been cancelled
Tests / Linux Python 3.15 (push) Has been cancelled
Tests / MacOS Python 3.14 (push) Has been cancelled
Tests / Windows Python 3.14 (push) Has been cancelled
Tests / PR Coverage Report (push) Has been cancelled
Tests / Action Coverage Report (push) Has been cancelled
Tests / Ubuntu 24.04 & Sys Packages (push) Has been cancelled
Tests / Fedora 44 & Sys Packages (push) Has been cancelled
2026-11-05 07:09:03 -08:00
B.D. Murphy
70d74e675f chore: rename project from novelWriter to UmbraEdit
- Rename project name and package: novelWriter -> UmbraEdit, novelwriter -> umbraedit
- Rename entry script novelWriter.py -> UmbraEdit.py
- Rename package directory novelwriter/ -> umbraedit/
- Rename i18n translation sources nw_*.ts -> ue_*.ts
- Rename packaging files (appdata, project xml template)
- Update all imports, references, docs, workflows, tests and build config
- Update pyproject.toml project name, GUI script and URLs
- Preserve full upstream git history; origin repointed below
2026-11-05 07:08:12 -08:00
Veronica Berglyd Olsen
b80b4b2534 Update vim mode (#3133) 2026-11-04 15:53:00 +01:00
Veronica Berglyd Olsen
de8b7c1ac0 Make Ctrl+R work as redo shortcut 2026-11-03 22:32:06 +01:00
Veronica Berglyd Olsen
ed69456064 Update docs 2026-11-03 21:16:33 +01:00
Veronica Berglyd Olsen
370843c296 Merge branch 'main' into update-vim-mode 2026-11-03 21:12:51 +01:00
Veronica Berglyd Olsen
02edf04117 Update license header (#3134) 2026-11-03 21:10:10 +01:00
Veronica Berglyd Olsen
6b4a495b87 Update license header convention in contributing guide 2026-11-03 21:07:09 +01:00
Veronica Berglyd Olsen
3738f7fd51 Correct license years for moved code 2026-11-03 20:56:49 +01:00
Veronica Berglyd Olsen
e28e5cb052 Add Python 3.15 to classifiers 2026-11-03 20:48:32 +01:00
Veronica Berglyd Olsen
762831931b Reformat the license headers 2026-11-03 20:46:35 +01:00
Veronica Berglyd Olsen
29b7e4da37 Update credits 2026-11-03 20:34:29 +01:00
Veronica Berglyd Olsen
037f1bee08 Fix various behaviour inconsistencies 2026-11-03 20:13:10 +01:00
Veronica Berglyd Olsen
b5c8a014b7 Fix some smaller bugs in the vim mode implementation 2026-11-03 19:52:07 +01:00
Veronica Berglyd Olsen
f6fa696eb4 Remove redundant code in the vim mode class 2026-11-03 19:37:42 +01:00
Veronica Berglyd Olsen
558ac0ae0c Update tests 2026-11-03 19:28:22 +01:00
Veronica Berglyd Olsen
3355b5edbe Complete the connection between editor and vim handler 2026-11-03 19:15:56 +01:00
Veronica Berglyd Olsen
b8f14bfb5d Move vim mode into a separate class 2026-11-03 18:51:15 +01:00
Veronica Berglyd Olsen
34caa41963 Various minor updates to editing and manuscript (#3131) 2026-11-02 23:15:27 +01:00
Veronica Berglyd Olsen
12bfc634c3 Don't switch to problem tab automatically in Manuscript build 2026-11-02 23:06:11 +01:00
Veronica Berglyd Olsen
6b162eb3f2 Rename text.addNoteHeadings label (#2735) 2026-11-02 23:01:49 +01:00
Veronica Berglyd Olsen
767d6c5a1d Add insert menu entries for en and em space (#2535) 2026-11-02 23:00:34 +01:00
Veronica Berglyd Olsen
5ae0292e0b Add nested Epub nav table (#3130) 2026-11-02 21:36:26 +01:00
Veronica Berglyd Olsen
fd4333c0e4 Move the setNestedToC setting to the Epub class 2026-11-02 21:31:48 +01:00
Veronica Berglyd Olsen
9843084b03 Add test coverage 2026-11-02 21:27:06 +01:00
Veronica Berglyd Olsen
824a175ec7 Generate a nested nav if parts exist and the nested flag is on 2026-11-02 21:26:54 +01:00
Veronica Berglyd Olsen
6d931dc89b Add a setting for nested ToC in Epub files 2026-11-02 21:25:54 +01:00
Veronica Berglyd Olsen
8a89fb604b Rewrite the auto-replace feature (#3128) 2026-11-01 20:04:16 +01:00
Veronica Berglyd Olsen
e677e99b02 Ignore auto-replace on hidden headings 2026-11-01 20:00:37 +01:00
Veronica Berglyd Olsen
76da76f3bf Update tests 2026-11-01 19:43:11 +01:00
Veronica Berglyd Olsen
41ce067d43 Add a problems tab to the manuscript tool 2026-11-01 19:43:00 +01:00
Veronica Berglyd Olsen
eddb12c5fb Rewrite the auto-replace feature in the tokenizer 2026-11-01 18:32:46 +01:00
Veronica Berglyd Olsen
c124bcb7c6 Allow case insensitive keys in the highlighter 2026-11-01 18:12:07 +01:00
Veronica Berglyd Olsen
0120f09bb7 Update tests 2026-11-01 18:03:31 +01:00
Veronica Berglyd Olsen
8430ac1e6c Add an ignoreCase setting for autoReplace 2026-11-01 18:03:19 +01:00
Veronica Berglyd Olsen
f5ca209c2b Only highlight replace keys that are defined 2026-11-01 17:36:04 +01:00
Veronica Berglyd Olsen
b529a8f40e Add list margin settings for mansucripts (#3127) 2026-11-01 17:16:51 +01:00
Veronica Berglyd Olsen
62201a0169 Update tests 2026-11-01 17:08:38 +01:00
Veronica Berglyd Olsen
1d5011e186 Fix first line indent handling after lists and inserted notes headings 2026-11-01 17:03:14 +01:00
Veronica Berglyd Olsen
6ddb8e3c37 Apply list margins to output formats 2026-11-01 16:57:17 +01:00
Veronica Berglyd Olsen
50c0d44477 Add list margin settings 2026-11-01 16:47:05 +01:00
Veronica Berglyd Olsen
b731a0cd48 Fix zoom and indent features (#3126) 2026-11-01 16:35:43 +01:00
Veronica Berglyd Olsen
7e8fbb27a3 Rename the text size constants 2026-11-01 16:32:02 +01:00
Veronica Berglyd Olsen
3bfdc1d154 Change indent and tab size ranges 2026-11-01 16:20:50 +01:00
Veronica Berglyd Olsen
1136b9ecda Change default first line indent in manuscripts to 2.0 em 2026-11-01 16:15:33 +01:00
Veronica Berglyd Olsen
24acf5c827 Only apply viewer first line indent to novel documents 2026-11-01 16:12:30 +01:00
Veronica Berglyd Olsen
734828918b Update tests 2026-11-01 15:58:17 +01:00
Veronica Berglyd Olsen
471ba7d4e1 Add tab size setting for manuscript tools too 2026-11-01 15:57:29 +01:00
Veronica Berglyd Olsen
01fc02be9a Update tests 2026-11-01 15:49:00 +01:00
Veronica Berglyd Olsen
1b33496d42 Switch tabWidth setting in px with tabSize in em units 2026-11-01 15:47:02 +01:00
Veronica Berglyd Olsen
0963a6475d Improve zoom handling in the viewer, and cap text font size at 6 to 72 pt 2026-11-01 15:25:14 +01:00
Veronica Berglyd Olsen
47be9d5d02 Fix missing colour updates on theme switch (#3125) 2026-10-31 22:19:42 +01:00
Veronica Berglyd Olsen
8c3fc3f412 Fix missing colour updates on theme switch (#3123) 2026-10-31 20:02:22 +01:00
Veronica Berglyd Olsen
28c59e902c Fix multi-notes in outline view (#3121) 2026-10-26 23:04:38 +01:00
Veronica Berglyd Olsen
bd027e590e Add timeouts to package installs in tests 2026-10-26 23:01:03 +01:00
Veronica Berglyd Olsen
af8d6dbc7c Bump uv lockfile 2026-10-26 22:42:05 +01:00
Veronica Berglyd Olsen
9dd6d7c55f Update tests 2026-10-26 22:36:58 +01:00
Veronica Berglyd Olsen
1b1e723bdf Add outline setting to join similar comments 2026-10-26 22:36:03 +01:00
Veronica Berglyd Olsen
1f81dabef4 Bump certifi from 2026.7.22 to 2026.10.19 (#3120) 2026-10-26 06:14:23 +01:00
dependabot[bot]
67fbd16be6 Bump certifi from 2026.7.22 to 2026.10.19
Bumps [certifi](https://github.com/certifi/python-certifi) from 2026.7.22 to 2026.10.19.
- [Commits](https://github.com/certifi/python-certifi/compare/2026.07.22...2026.10.19)

---
updated-dependencies:
- dependency-name: certifi
  dependency-version: 2026.10.19
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-10-26 04:10:27 +00:00
Veronica Berglyd Olsen
a25880462f Make a unified document footer (#3117) 2026-10-25 19:48:07 +01:00
Veronica Berglyd Olsen
fe6737d546 Add a 4px right margin for balance 2026-10-25 19:29:39 +01:00
Veronica Berglyd Olsen
2ccbd6952e Move the "show tabs and space" and "show line endings" settings to the editor footer menu 2026-10-25 19:23:43 +01:00
Veronica Berglyd Olsen
68cafd991b Add reset zoom feature and update spacing 2026-10-25 19:08:32 +01:00
Veronica Berglyd Olsen
8c6a24dc81 Add zoom in/out controls to the document footer 2026-10-25 18:54:35 +01:00
Veronica Berglyd Olsen
d13e88e134 Add zoom in and out icons 2026-10-25 18:42:27 +01:00
Veronica Berglyd Olsen
7a365be88a Move the document footer vim flag to the base class 2026-10-25 18:36:56 +01:00
Veronica Berglyd Olsen
bce48181e0 Remove the lines icon 2026-10-25 18:30:33 +01:00
Veronica Berglyd Olsen
5a856a00c5 Remove the line number counter in the document footer 2026-10-25 18:30:12 +01:00
Veronica Berglyd Olsen
f610d41661 Improve handling of document footer height 2026-10-25 18:23:08 +01:00
Veronica Berglyd Olsen
c69bfcb8bf Allow showing writing goal in focus mode (#3116) 2026-10-25 18:10:45 +01:00
Veronica Berglyd Olsen
db4c1c730c Add setting to show writing goal in focus mode 2026-10-25 18:04:33 +01:00
Veronica Berglyd Olsen
a4a896eae2 Rename a shortened setting and update tests 2026-10-25 17:43:45 +01:00
Veronica Berglyd Olsen
523c760594 Move Preferences settings around a little, and also move configs 2026-10-25 17:37:06 +01:00
Veronica Berglyd Olsen
aa3e42735f Improvements and refactor of document header and footer (#3115) 2026-10-25 17:07:56 +01:00
Veronica Berglyd Olsen
a85e8fd11e Drop the Focus Mode section in Preferences again 2026-10-25 17:00:00 +01:00
Veronica Berglyd Olsen
3e4f7b40eb Improve test coverage 2026-10-25 16:53:40 +01:00
Veronica Berglyd Olsen
c21f5c28a8 Add a first line indent toggle for the viewer (#3095) 2026-10-25 16:46:35 +01:00
Veronica Berglyd Olsen
b48d880933 Move viewer settings into a pop-up menu 2026-10-25 16:29:14 +01:00
Veronica Berglyd Olsen
5c8310da64 Add word count to both footers 2026-10-25 16:11:08 +01:00
Veronica Berglyd Olsen
e599b99223 Merge common features of doc footer into a base class 2026-10-25 16:00:32 +01:00
Veronica Berglyd Olsen
105b8c461c Merge common features of doc headers into a base class 2026-10-25 15:50:59 +01:00
Veronica Berglyd Olsen
f890672849 Add test coverage 2026-10-25 15:40:26 +01:00
Veronica Berglyd Olsen
cd93cae133 Improve how header/footer size is handled 2026-10-25 15:37:03 +01:00
Veronica Berglyd Olsen
36ab573966 Add a setting to trim the editor header in focus mode 2026-10-25 15:31:14 +01:00
551 changed files with 26998 additions and 22089 deletions

View File

@@ -37,7 +37,7 @@ body:
id: version
attributes:
label: Version
description: What version of novelWriter are you running?
description: What version of UmbraEdit are you running?
placeholder: "e.g. 26.2"
validations:
required: true

View File

@@ -1,5 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: GitHub Community Support
url: https://github.com/saga-soft/novelWriter/discussions
url: https://github.com/saga-soft/UmbraEdit/discussions
about: Please ask and answer questions here.

View File

@@ -6,8 +6,8 @@
### Submitter's Checklist
* [ ] I am familiar with, and have followed, the [Contributing Guide](https://github.com/saga-soft/novelWriter/blob/main/CONTRIBUTING.md)
* [ ] I am familiar with, and have followed, the [AI Policy](https://github.com/saga-soft/novelWriter/blob/main/AI_POLICY.md)
* [ ] I am familiar with, and have followed, the [Contributing Guide](https://github.com/saga-soft/UmbraEdit/blob/main/CONTRIBUTING.md)
* [ ] I am familiar with, and have followed, the [AI Policy](https://github.com/saga-soft/UmbraEdit/blob/main/AI_POLICY.md)
### Reviewer's Checklist

View File

@@ -22,7 +22,7 @@ jobs:
uses: actions/upload-artifact@v7
with:
name: launcher
path: setup/windows/novelWriter.exe
path: setup/windows/UmbraEdit.exe
if-no-files-found: error
retention-days: 14
@@ -31,7 +31,7 @@ jobs:
with:
api-token: "${{ secrets.SIGNPATH_API_TOKEN }}"
organization-id: "0471e52c-66fa-4e9a-bfb9-36167095ca3f"
project-slug: "novelWriter"
project-slug: "UmbraEdit"
signing-policy-slug: "release-signing"
artifact-configuration-slug: "launcher"
github-artifact-id: "${{ steps.upload-unsigned-artifact.outputs.artifact-id }}"
@@ -42,6 +42,6 @@ jobs:
uses: actions/upload-artifact@v7
with:
name: launcher-signed
path: novelWriter.exe
path: UmbraEdit.exe
if-no-files-found: error
retention-days: 14

View File

@@ -36,6 +36,6 @@ jobs:
uses: actions/upload-artifact@v7
with:
name: nw-i18n
path: novelwriter/assets/i18n/*.qm
path: umbraedit/assets/i18n/*.qm
if-no-files-found: error
retention-days: 7

View File

@@ -36,7 +36,7 @@ jobs:
uses: actions/download-artifact@v8
with:
name: nw-assets
path: novelwriter/assets
path: umbraedit/assets
- name: Build AppImage
id: build
@@ -50,7 +50,7 @@ jobs:
- name: Upload Artifacts
uses: actions/upload-artifact@v7
with:
name: novelWriter-${{ steps.build.outputs.BUILD_VERSION }}-Linux-AppImage
name: UmbraEdit-${{ steps.build.outputs.BUILD_VERSION }}-Linux-AppImage
path: dist_appimage/*.AppImage*
if-no-files-found: error
retention-days: 14
@@ -92,7 +92,7 @@ jobs:
- name: Download AppImage Artifact
uses: actions/download-artifact@v8
with:
pattern: novelWriter-*-Linux-AppImage
pattern: UmbraEdit-*-Linux-AppImage
merge-multiple: true
path: appimage-dist

View File

@@ -37,8 +37,8 @@ jobs:
with:
name: nw-assets
path: |
novelwriter/assets/manual*.pdf
novelwriter/assets/sample.zip
novelwriter/assets/i18n/*.qm
umbraedit/assets/manual*.pdf
umbraedit/assets/sample.zip
umbraedit/assets/i18n/*.qm
if-no-files-found: error
retention-days: 14

View File

@@ -46,7 +46,7 @@ jobs:
uses: actions/download-artifact@v8
with:
name: nw-assets
path: novelwriter/assets
path: umbraedit/assets
- name: Install Native Packages
run: apt-get install -y $(python3 pkgutils.py build-deb-depends ${{ inputs.codename }})

View File

@@ -29,7 +29,7 @@ jobs:
uses: actions/download-artifact@v8
with:
name: nw-assets
path: novelwriter/assets
path: umbraedit/assets
- name: Build Flatpak
id: build
@@ -40,7 +40,7 @@ jobs:
- name: Upload Artifacts
uses: actions/upload-artifact@v7
with:
name: novelWriter-${{ steps.build.outputs.BUILD_VERSION }}-Linux-Flatpak
name: UmbraEdit-${{ steps.build.outputs.BUILD_VERSION }}-Linux-Flatpak
path: dist_flatpak/*.flatpak*
if-no-files-found: error
retention-days: 14

View File

@@ -20,7 +20,7 @@ jobs:
uses: actions/download-artifact@v8
with:
name: nw-assets
path: novelwriter/assets
path: umbraedit/assets
- name: Build App Bundle
id: build
@@ -31,7 +31,7 @@ jobs:
- name: Upload DMG
uses: actions/upload-artifact@v7
with:
name: novelWriter-${{ steps.build.outputs.BUILD_VERSION }}-MacOS-AMD64-DMG
name: UmbraEdit-${{ steps.build.outputs.BUILD_VERSION }}-MacOS-AMD64-DMG
path: dist_macos/*.dmg*
if-no-files-found: error
retention-days: 14

View File

@@ -20,7 +20,7 @@ jobs:
uses: actions/download-artifact@v8
with:
name: nw-assets
path: novelwriter/assets
path: umbraedit/assets
- name: Build App Bundle
id: build
@@ -31,7 +31,7 @@ jobs:
- name: Upload DMG
uses: actions/upload-artifact@v7
with:
name: novelWriter-${{ steps.build.outputs.BUILD_VERSION }}-MacOS-M1-DMG
name: UmbraEdit-${{ steps.build.outputs.BUILD_VERSION }}-MacOS-M1-DMG
path: dist_macos/*.dmg*
if-no-files-found: error
retention-days: 14

View File

@@ -22,7 +22,7 @@ jobs:
uses: actions/download-artifact@v8
with:
name: nw-assets
path: novelwriter/assets
path: umbraedit/assets
- name: Install UV and Python
uses: astral-sh/setup-uv@v10.2.0

View File

@@ -25,7 +25,7 @@ jobs:
uses: actions/download-artifact@v8
with:
name: nw-assets
path: novelwriter/assets
path: umbraedit/assets
- name: Build Setup Installer
id: build
@@ -37,7 +37,7 @@ jobs:
id: upload-unsigned-artifact
uses: actions/upload-artifact@v7
with:
name: novelWriter-${{ steps.build.outputs.BUILD_VERSION }}-Win-Setup
name: UmbraEdit-${{ steps.build.outputs.BUILD_VERSION }}-Win-Setup
path: dist/*.exe
if-no-files-found: error
retention-days: 14
@@ -47,7 +47,7 @@ jobs:
with:
api-token: "${{ secrets.SIGNPATH_API_TOKEN }}"
organization-id: "0471e52c-66fa-4e9a-bfb9-36167095ca3f"
project-slug: "novelWriter"
project-slug: "UmbraEdit"
signing-policy-slug: "release-signing "
github-artifact-id: "${{ steps.upload-unsigned-artifact.outputs.artifact-id }}"
wait-for-completion: true
@@ -58,7 +58,7 @@ jobs:
- name: Upload Signed Artifacts
uses: actions/upload-artifact@v7
with:
name: novelWriter-${{ steps.build.outputs.BUILD_VERSION }}-Win-Setup-Signed
name: UmbraEdit-${{ steps.build.outputs.BUILD_VERSION }}-Win-Setup-Signed
path: dist/*.exe
if-no-files-found: error
retention-days: 14

View File

@@ -14,4 +14,4 @@ jobs:
contents: read
pull-requests: read
with:
policy-url: https://github.com/saga-soft/novelWriter/blob/main/AI_POLICY.md
policy-url: https://github.com/saga-soft/UmbraEdit/blob/main/AI_POLICY.md

View File

@@ -32,6 +32,7 @@ jobs:
uses: actions/checkout@v7
- name: Install System Packages
timeout-minutes: 5
run: |
sudo apt update
sudo apt install qttools5-dev-tools
@@ -250,6 +251,7 @@ jobs:
uses: actions/checkout@v7
- name: Install System Packages
timeout-minutes: 5
run: |
sudo apt update
sudo apt install \
@@ -279,6 +281,7 @@ jobs:
contents: read
steps:
- name: Install System Packages
timeout-minutes: 5
run: |
dnf -y update
dnf -y install \

21
.gitignore vendored
View File

@@ -8,8 +8,8 @@
*.spec
*.egg-info
setup.iss
/novelwriter.desktop
/novelWriter.pyw
/umbraedit.desktop
/UmbraEdit.pyw
/setup/macos/Info.plist
/setup/windows/build
.flatpak-builder
@@ -17,7 +17,7 @@ setup.iss
.env
# Translations
/novelwriter/assets/i18n/*.qm
/umbraedit/assets/i18n/*.qm
.qmake.stash
i18n/*.qm
i18n/*.qph
@@ -25,7 +25,7 @@ i18n/*.qph
# Documentation
/docs/build/
/docs/source/locales/**/*.mo
/novelwriter/assets/manual*.pdf
/umbraedit/assets/manual*.pdf
.~lock.*
# Python
@@ -34,7 +34,7 @@ __pycache__
*.pyc
# Sample Project
/novelwriter/assets/sample.zip
/umbraedit/assets/sample.zip
/sample/meta
/sample/**/*.bak
/sample/*.lock
@@ -62,6 +62,7 @@ __pycache__
# IDE
.vscode
.ruff_cache
.nvimlog
# No AI files
AGENTS.md
@@ -74,3 +75,13 @@ GEMINI.md
# Debug
/debug/
# Clean up accidentally committed files
# Added by B.D. Murphy 2026: exclude files accidentally committed during branding transition
Splh.jpeg
Oldwelcome.webp
.DS_Store
UmbraEdit_Projects/
Inner_Demon_1.2a.docm
requirements.txt
UmbraEdit_deb_Build_Script.txt

View File

@@ -1,6 +1,6 @@
# AI Policy
This is the AI policy of novelWriter and associated projects.
This is the AI policy of UmbraEdit and associated projects.
### Code Contributions
@@ -31,7 +31,7 @@ files into the code repository. Most of the common ones are in the git ignore fi
### Design Work
No design work generated by AI for novelWriter will be accepted. We do not control how third-party work like icon
No design work generated by AI for UmbraEdit will be accepted. We do not control how third-party work like icon
libraries are created, but any artwork added to the app must be made by actual people.

146
BUILD_LINUX.md Normal file
View File

@@ -0,0 +1,146 @@
# UmbraEdit - Linux AMD64 Build Guide
UmbraEdit is developed on macOS but builds natively on Linux AMD64 and ARM64.
This guide covers building Linux install packages from source.
## Source Distribution
The source tarball (`umbraedit-2026.11.1.tar.gz`) includes everything needed to
build Linux packages:
```
umbraedit-2026.11.1/
├── pyproject.toml # Project metadata & dependencies
├── UmbraEdit.py # Application entry point
├── pkgutils.py # Packaging utility
├── run_tests.py # Test runner
├── setup/ # Packaging assets
│ ├── data/ # .desktop file, MIME type XML
│ ├── macos/ # macOS-specific packaging
│ └── windows/ # Windows-specific packaging
├── utils/ # Build scripts
│ ├── build_debian.py # .deb package builder
│ ├── build_appimage.py # AppImage builder
│ ├── build_all.py # Multi-platform build orchestrator
│ └── ...
├── umbraedit/ # Application source code
└── tests/ # Test suite
```
## Prerequisites on Linux
### Debian/Ubuntu
```bash
sudo apt-get update
sudo apt-get install \
python3 python3-pip \
python3-pyqt6 python3-pyqt6.qtsvg \
python3-enchant \
qt6-image-formats-plugins qt6-svg-plugins \
dh-python debhelper python3-build python3-setuptools \
python3-pytest python3-pytestqt python3-pytest-timeout \
appimagetool
```
### Fedora/RHEL
```bash
sudo dnf install \
python3 python3-pip \
python3-pyqt6 python3-enchant \
qt6-qtimageformats qt6-qtsvg \
python3-build python3-setuptools \
dpkg rpm-build appimagetool
```
### Arch Linux
```bash
sudo pacman -S \
python python-pip \
python-pyqt6 python-enchant \
qt6-imageformats qt6-svg \
python-build python-setuptools \
dpkg appimagetool
```
## Build Options
### Option 1: Install via Wheel (Simplest)
The pure Python wheel requires no compilation:
```bash
pip install umbraedit-2026.11.1-py3-none-any.whl
umbraedit
```
### Option 2: Install from Source Tarball
```bash
tar xzf umbraedit-2026.11.1.tar.gz
cd umbraedit-2026.11.1
pip install .
umbraedit
```
### Option 3: Build .deb Package
```bash
tar xzf umbraedit-2026.11.1.tar.gz
cd umbraedit-2026.11.1
# Build for Ubuntu Noble (24.04)
python3 utils/build_debian.py --distro noble --build 1
# The .deb will be in dist_deb/
sudo dpkg -i dist_deb/umbraedit_*_amd64.deb
```
Available distro targets: `bookworm`, `trixie`, `noble`, `resolute`, `stonking`, `wilma`
### Option 4: Build AppImage
```bash
pip install python-appimage
sudo apt-get install appimagetool
tar xzf umbraedit-2026.11.1.tar.gz
cd umbraedit-2026.11.1
python3 utils/build_appimage.py --linux ubuntu --arch amd64 --python 3.12
chmod +x dist_appimage/umbraedit-2026.11-amd64.AppImage
./dist_appimage/umbraedit-2026.11-amd64.AppImage
```
### Option 5: Build All Linux Packages
```bash
tar xzf umbraedit-2026.11.1.tar.gz
cd umbraedit-2026.11.1
python3 utils/build_all.py --platform linux --arch amd64
```
## Project Storage
UmbraEdit projects are stored in plain folders with an `nwProject.nwx` file.
The sample project included in the distribution can be used for testing:
```bash
umbraedit # Opens the welcome dialog
# Select "Sample Project" from the list, or browse to your .nwx file
```
## Version
Current development version: **2026.11.0004**
## License
GPL-3.0-or-later AND Apache-2.0 AND ISC AND MIT
UmbraEdit is based on novelWrite 2026.02 by Veronica Berglyd Olsen
(novelWriter.io), licenced under the same GPL v3.0 license.

File diff suppressed because it is too large Load Diff

0
CODE_OF_CONDUCT.md Normal file
View File

View File

@@ -1,7 +1,7 @@
# Contributing Guide
See also our [Code of Conduct](https://github.com/saga-soft/novelWriter?tab=coc-ov-file#code-of-conduct)
and our [AI Policy](https://github.com/saga-soft/novelWriter/blob/main/AI_POLICY.md).
See also our [Code of Conduct](https://github.com/saga-soft/UmbraEdit?tab=coc-ov-file#code-of-conduct)
and our [AI Policy](https://github.com/saga-soft/UmbraEdit/blob/main/AI_POLICY.md).
When contributing to this repository, please first discuss the change you wish to make with the
maintainers. For new and complex ideas, it is better to open a discussion before adding a new
@@ -13,7 +13,7 @@ to just make a pull request directly.
* Bugfixes for new or existing bugs. Please also report new bugs in the issue tracker even if you
also provide a fix. It makes it easier to keep track of what has been fixed and when and to
populate our changelog.
* Translations made via the [Crowdin project page](https://crowdin.com/project/novelwriter).
* Translations made via the [Crowdin project page](https://crowdin.com/project/umbraedit).
* Translations of the documentation. These need to use Sphinx i18n tooling. Please start a
discussion before beginning such work as it requires some coordination.
* Improvements to the documentation. Particularly if the documentation is unclear. Please don't
@@ -35,10 +35,10 @@ to just make a pull request directly.
## Running from Source
This project uses [uv](https://docs.astral.sh/uv/) to maintain dependencies. In order to run
novelWriter directly from checked out source, simply call from the root folder with:
UmbraEdit directly from checked out source, simply call from the root folder with:
```bash
uv run novelwriter
uv run umbraedit
```
To set up a development environment with all needed dependencies, run:
@@ -127,7 +127,7 @@ Make sure the pull request follows these rules:
## Code Style
This code base uses camelCase convention for function and variable names. This differs from the
common convention of snake_case in Python. The reason for this is that novelWriter is built on the
common convention of snake_case in Python. The reason for this is that UmbraEdit is built on the
Qt framework, where everything is camelCase.
Pretty much everything else regarding formatting is handled by the linter and formatter. This
@@ -156,3 +156,24 @@ uv run pyright
spelling of this text **must** be British English. US English spelling **is not allowed** for
these strings. A US English translation is provided via the translation framework.
* Commit descriptions and pull requests must also be in English.
### License Headers and Credits
All code should add the license header on the exact format as used in other files. Update the title
as needed, and the copyright line. The year should be the year the code module was first created.
The default is:
```
Copyright (C) <YEAR> <Original Author Name> and UmbraEdit contributors.
```
For major changes to an existing file, don't touch the year, but you can append your name. By major
contributions is meant new code, like added new classes or larger functions, not modifications. Use
common sense since "UmbraEdit contributors" includes most modifications and changes.
```
Copyright (C) <YEAR> <Original Author Name>, <Your Name> and UmbraEdit contributors.
```
Make sure the `CREDITS.md` and `credits_en.htm` files are updated too if appropriate.

View File

@@ -1,9 +1,13 @@
# Credits
## Main Developer
## Main Developer novelWriter
* Veronica Berglyd Olsen
## Main Product Manager / Developer
* B.D. Murphy
## Contributors
Larger contributions were made by:
@@ -12,12 +16,14 @@ Larger contributions were made by:
* Internationalisation: Bruno Meneguello
* Setup and Packaging: Rachel Powers
* Vim Mode: Alexis Dumelie
* UmbraEdit Rebranding and Word DOCX/DOCM Import: B.D. Murphy
For other contributions, see the project's [Contributors](https://github.com/saga-soft/novelWriter/graphs/contributors) page.
For other contributions, see the project's [Contributors](https://github.com/saga-soft/UmbraEdit/graphs/contributors) page.
## Artwork
The artwork on the Welcome dialog was created by Louis Durrant.
The artwork on the Welcome dialog was generated with AI by B.D. Murphy. Reading print options through time.
UmbraEdit icon by B.D. Murphy using AI.
## Translations
@@ -48,12 +54,11 @@ Translations of the documentation:
* **French:** Jean-Michel Heras (Karduin)
Translations are managed on [Crowdin](https://crowdin.com/project/novelwriter), and more
contributions are listed on the project's Members page.
After the fork to UmbraEdit translations of text in the program are done via AI.
## Libraries
The following libraries are dependencies of novelWriter:
The following libraries are dependencies of UmbraEdit:
* **Qt6** by Qt Company
* **PyQt6** by Riverbank Computing
@@ -70,7 +75,7 @@ The default icon themes are subsets of icons from:
## Colour Themes
Colour themes included with novelWriter were adapted from the following sources:
Colour themes included with UmbraEdit were adapted from the following sources:
* **Aura** themes by Dalton Menezes
* **B2T** themes by Bram de Haan
@@ -91,7 +96,7 @@ Colour themes included with novelWriter were adapted from the following sources:
* **Tango** themes by the Tango Desktop Project
* **Tomorrow** themes by Chris Kempson
Other themes were created for novelWriter:
Other themes were created for UmbraEdit:
* **Aura Bright** theme by Myian
* **Blue Streak** themes by Veronica Berglyd Olsen
@@ -119,10 +124,12 @@ Other themes were created for novelWriter:
## Fonts
The font used for the main novelWriter logo, mimetype and text banners is Pridi.
The font used for the main UmbraEdit logo, mimetype and text banners is Pridi.
* **Pridi** by Cadson Demak (Open Font License, Version 1.1)
--> Caladea <--
## Special Mentions
Additional thanks to John Blommers who was an early user and who has provided a lot of very useful

28
MANIFEST.in Normal file
View File

@@ -0,0 +1,28 @@
include README.md
include LICENSE.md
include CONTRIBUTING.md
include CREDITS.md
include CHANGELOG.md
include AI_POLICY.md
include pyproject.toml
include UmbraEdit.py
include pkgutils.py
include run_tests.py
include build-linux.sh
include setup/macos/*
include setup/windows/*
include setup/linux/*
include setup/flatpak/*
include setup/data/*
include setup/appimage_launcher.sh
include utils/*.py
include utils/build_*.py
recursive-include docs *
recursive-include i18n *
recursive-exclude *.pyc
recursive-exclude __pycache__
global-exclude .DS_Store
global-exclude .gitkeep

BIN
NW_Splash.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -1,88 +1,73 @@
# novelWriter
# UmbraEdit
[![Tests](https://github.com/saga-soft/novelWriter/actions/workflows/tests.yml/badge.svg)](https://github.com/saga-soft/novelWriter/actions/workflows/tests.yml)
[![Linting](https://github.com/saga-soft/novelWriter/actions/workflows/syntax.yml/badge.svg)](https://github.com/saga-soft/novelWriter/actions/workflows/syntax.yml)
[![Cloudsmith](https://img.shields.io/badge/OSS%20hosting%20by-cloudsmith-blue?logo=cloudsmith&style=flat&link=https%3A%2F%2Fcloudsmith.com)](https://cloudsmith.com)
<img align="left" style="margin: 0 0 4px 0;" src="https://git.umbratools.com/umbragit/UmbraEdit/raw/main/umbraedit/assets/icons/umbraedit.svg">
<img align="left" style="margin: 0 0 4px 0;" src="https://raw.githubusercontent.com/saga-soft/novelWriter/main/setup/novelwriter_readme.png">
novelWriter is a plain text editor designed for writing novels assembled from many smaller text
UmbraEdit is a plain text editor designed for writing novels assembled from many smaller text
documents. It uses a minimal formatting syntax inspired by Markdown, and adds a meta data syntax
for comments, synopsis, and cross-referencing. It's designed to be a simple text editor that allows
for easy organisation of text and notes, using human readable text files as storage for robustness.
The project format is well suited both for version control software and file synchronisation tools.
For more details, and how to install and use novelWriter, please see the main website and
documentation.
UmbraEdit is based on novelWrite 2026.02 by Veronica Berglyd Olsen (novelWriter.io) and is
licensed under the same GPL v3.0 license.
B.D. Murphy is modifying the original using AI to make it part of his Umbratools publishing system.
The ideas:
1) Write the novel. Make it simple while writing. Formatting is later.
2) Have the entire project together. Not the novel text here and metadata you need somewhere else. All together. 2.a) ePub, paperback (print pdf), audio all start with the same story text, but each needs something different. Put everything into one project ISBN, book blurb, search terms, genere/categories BISAC codes, cover, etc
3) With everything together publishing is simpler
4) The goal is to write (human written) a novel, then use AI to help with everything else. At the end of the process there will be ePub, Paperback/Hard cover, audio versions in 10 languages.
For more details, and how to install and use UmbraEdit, please see the main website and documentation.
This project is a fork of novelWrite. Taking the great start and extending it. I use AI to help.
**Project Links**
* Website: [novelwriter.io](https://novelwriter.io)
* Documentation: [docs.novelwriter.io](https://docs.novelwriter.io)
* Internationalisation: [crowdin.com/project/novelwriter](https://crowdin.com/project/novelwriter)
* PyPi Project: [pypi.org/project/novelWriter](https://pypi.org/project/novelWriter)
* Social Media: [fosstodon.org/@novelwriter](https://fosstodon.org/@novelwriter)
_This project is developed and maintained with care by actual humans._
## Sponsors & Attribution
<table style="border: none;">
<tr>
<td><img align="left" style="width: 25px;" src="https://raw.githubusercontent.com/saga-soft/novelWriter/main/setup/signpath_logo.png"></td>
<td>Free code signing on Windows provided by <a href="https://about.signpath.io/">SignPath.io</a>, certificate by <a href="https://signpath.org/">SignPath Foundation</a>.</td>
</tr>
<tr>
<td><img align="left" style="width: 25px;" src="https://raw.githubusercontent.com/saga-soft/novelWriter/main/setup/cloudsmith_logo.png"></td>
<td>Free package repository hosting is graciously provided by <a href="https://cloudsmith.com">Cloudsmith</a>.</td>
</tr>
</table>
* Website: [UmbraEdit](https://umbratools.com/umbraedit)
* Documentation: [UmbraEdit Docs](https://umbratools.com/umbraedit/docs)
This project is a fork of novelWrite. Taking the great start and extending it. I use AI to help._
## Implementation
novelWriter is written in Python and uses Qt6 with PyQt6 Python binding as the UI framework. It
UmbraEdit is written in Python and uses Qt6 with PyQt6 Python binding as the UI framework. It
runs on Linux, Windows and MacOS. It can in principle run on any Operating System that also
supports Qt, PyQt and Python.
<p align="center">
<img width="80%" src="https://raw.githubusercontent.com/saga-soft/novelWriter/main/setup/screenshot.png">
<img width="80%" src="https://raw.githubusercontent.com/saga-soft/UmbraEdit/main/setup/screenshot.png">
</p>
## Project Contributions
Please don't make feature pull requests without first having discussed them with the maintainer.
You can make a feature request in the [issues tracker](https://github.com/saga-soft/novelWriter/issues),
or if the idea isn't fully formed, start a [discussion](https://github.com/saga-soft/novelWriter/discussions).
You can make a feature request in the [issues tracker](https://github.com/saga-soft/UmbraEdit/issues),
or if the idea isn't fully formed, start a [discussion](https://github.com/saga-soft/UmbraEdit/discussions).
Please also don't make pull requests to reformat or rewrite existing code unless there is a very
good reason for doing so. Please do not submit AI generated content.
See our [AI Policy](https://github.com/saga-soft/novelWriter/blob/main/AI_POLICY.md) for details.
See our [AI Policy](https://github.com/saga-soft/UmbraEdit/blob/main/AI_POLICY.md) for details.
Fixes and patches are welcome. Contributions related to packaging and installing novelWriter will
also be appreciated, but please make an issue or a discussion topic first. Before contributing any
code, please read the full
[Contributing Guide](https://github.com/saga-soft/novelWriter/blob/main/CONTRIBUTING.md).
Fixes and patches are welcome. Contributions related to packaging and installing UmbraEdit will
also be appreciated. Before contributing any code, please read the full
[Contributing Guide](https://github.com/saga-soft/UmbraEdit/blob/main/CONTRIBUTING.md).
Project credits are available in [CREDITS.md](https://github.com/saga-soft/novelWriter/blob/main/CREDITS.md).
## Original Credits
Project credits are available in [CREDITS.md](https://github.com/saga-soft/novelwriter/blob/main/CREDITS.md).
**Note:** New features and most pre-releases are made on the `main` branch. Full releases are made
from the `release` branch. So if you're submitting a fix to a current release, **including changes
to documentation**, they must be made to the `release` branch.
### Translations
New translations are always welcome. This project uses Crowdin to maintain translations, and you
can contribute translations at the [Crowdin project page](https://crowdin.com/project/novelwriter).
If you have any questions, feel free to post them to the
[Translations of novelWriter](https://github.com/saga-soft/novelWriter/issues/93) issue thread.
## Licence
This is Open Source software, and novelWriter is licenced under GPLv3. See the
This is Open Source software, and UmbraEdit is licensed under GPLv3. See the
[GNU General Public License website](https://www.gnu.org/licenses/gpl-3.0.en.html) for more
details, or consult the [License](https://github.com/saga-soft/novelWriter/blob/main/LICENSE.md)
document. Bundled assets and their licences are listed in the
[Credits](https://github.com/saga-soft/novelWriter/blob/main/CREDITS.md) document.
details, or consult the [License](https://github.com/saga-soft/UmbraEdit/blob/main/LICENSE.md)
document. Bundled assets and their licenses are listed in the
[Credits](https://github.com/saga-soft/UmbraEdit/blob/main/CREDITS.md) document.

157
RELEASE.md Normal file
View File

@@ -0,0 +1,157 @@
# UmbraEdit - Release Process
This document describes the release process for UmbraEdit, including versioning,
platform support, build workflows, and publishing.
## Versioning
UmbraEdit uses a **YYYY/MM.P####** versioning scheme:
| Component | Meaning |
|-----------|---------|
| `YYYY` | Release year (e.g., 2026) |
| `MM` | Release month (e.g., 11) |
| `####` | Patch/build sequence (e.g., 0001) |
Examples:
- `2026.11` - Major monthly release (November 2026)
- `2026.11.0001` - First development build of November 2026
- `2026.11.0002` - Second development build (e.g., new feature)
Git tags follow the format: `v2026.11`, `v2026.11.0001`, etc.
## Supported Platforms
| Platform | Architecture | Package Format | Build Host |
|----------|-------------|----------------|------------|
| Linux | amd64 | .deb, .rpm, AppImage | Linux |
| Linux | arm64 | .deb, .rpm, AppImage | Linux (ARM64) |
| macOS | arm64 | .dmg, .app | macOS (Apple Silicon) |
| macOS | amd64 | .dmg, .app | macOS (Intel) |
| Windows | amd64 | .msi, .exe | Windows |
| Windows | arm64 | .msi, .exe | Windows (ARM64) |
| iOS/iPadOS | arm64 | **NOT SUPPORTED** | N/A |
### iOS/iPadOS Support
UmbraEdit is **not available for iOS/iPadOS**. PyQt6 does not support iOS,
and UmbraEdit requires a full desktop Qt environment with keyboard, mouse,
and file system access. Porting to iOS would require a complete rewrite
using SwiftUI or a different cross-platform framework.
Users on iPad should use UmbraEdit via a VNC/remote desktop connection to a
desktop machine running UmbraEdit, or use a compatible web-based alternative.
## Release Workflow
### 1. Prepare Release
```bash
# Ensure working tree is clean
git status
# Update version in umbraedit/__init__.py
# __version__ = "2026.12.0001"
# Update CHANGELOG.md with new release entry
# Commit and tag
git add -A
git commit -m "release: prepare v2026.12"
git tag -a v2026.12 -m "Release v2026.12"
git push origin main --tags
```
### 2. Build All Platforms
On each target platform, run:
```bash
# Clone the tagged release
git clone https://git.umbratools.com/umbragit/UmbraEdit.git
cd UmbraEdit
git checkout v2026.12
# Build all packages for this platform
python utils/build_all.py --platform <platform> --arch <arch>
```
Available platforms: `linux`, `macos`, `windows`
Available architectures: `amd64`, `arm64`
### 3. Publish
Upload all build artifacts to the release server:
```bash
# Example: upload to Gitea releases
# Files to upload:
# Linux: dist_deb/umbraedit_*.deb, dist_appimage/*.AppImage
# macOS: dist_macos/umbraedit-*.dmg
# Windows: dist_win/umbraedit-*.exe, dist_win/umbraedit-*.msi
# Source: dist/umbraedit-*.tar.gz, dist/umbraedit-*.whl
```
Create a release on Gitea/GitHub and attach all artifacts.
## Build Artifacts
Each platform produces the following artifacts:
### Linux (.deb + AppImage)
| File | Location | Description |
|------|----------|-------------|
| `umbraedit_<version>_amd64.deb` | `dist_deb/` | Debian package |
| `umbraedit-<version>-amd64.AppImage` | `dist_appimage/` | Portable AppImage |
### macOS (.dmg + .app)
| File | Location | Description |
|------|----------|-------------|
| `umbraedit-<version>-arm64.dmg` | `dist_macos/` | macOS disk image |
| `UmbraEdit.app` | inside .dmg | macOS application bundle |
### Windows (.exe + .msi)
| File | Location | Description |
|------|----------|-------------|
| `umbraedit-<version>-amd64.exe` | `dist_win/` | Windows installer |
| `umbraedit-<version>-amd64.msi` | `dist_win/` | Windows MSI installer |
### Source
| File | Location | Description |
|------|----------|-------------|
| `umbraedit-<version>.tar.gz` | `dist/` | Source tarball |
| `umbraedit-<version>-py3-none-any.whl` | `dist/` | Pure Python wheel |
## Build Scripts
| Script | Purpose |
|--------|---------|
| `utils/build_all.py` | Unified build orchestrator for all platforms |
| `utils/build_debian.py` | Debian/Ubuntu .deb package builder |
| `utils/build_appimage.py` | AppImage builder |
| `utils/build_windows.py` | Windows installer builder |
| `setup/macos/build.sh` | macOS .dmg builder |
## Release Checklist
- [ ] Update version in `umbraedit/__init__.py`
- [ ] Update `CHANGELOG.md` with release notes
- [ ] Tag release: `git tag -a vYYYY.MM -m "Release vYYYY.MM"`
- [ ] Push tag: `git push origin vYYYY.MM`
- [ ] Build packages for all platforms
- [ ] Test installation on each platform
- [ ] Create release on Gitea/GitHub
- [ ] Attach all build artifacts
- [ ] Publish release notes
- [ ] Announce release
## Credits
UmbraEdit is based on novelWrite 2026.02 by Veronica Berglyd Olsen
(novelWriter.io), licenced under the same GPL v3.0 license.
Current development lead: B.D. Murphy

213
UMBRAEDIT.md Normal file
View File

@@ -0,0 +1,213 @@
# UmbraEdit — Project Scan & Structure
Copyright (C) 2026 B.D. Murphy and novelWriter contributors.
Documentation for the UmbraEdit project (renamed from novelWriter).
This document is a structural scan of the **UmbraEdit** codebase. It is intended for developers who want to modify or extend the project.
> UmbraEdit was created by cloning **novelWriter** (vkbo/saga-soft) into this folder and renaming the project to `UmbraEdit`. The full upstream git history is preserved (see §6).
---
## 1. Overview
| Property | Value |
|---|---|
| **Project name** | UmbraEdit |
| **Origin** | Renamed/rebased from [novelWriter](https://github.com/vkbo/novelWriter) (vkbo / saga-soft) |
| **Inherited version** | 26.3b1 (novelWriter v26 series; see `umbraedit/__init__.py`) |
| **Base version** | Based on novelWrite 2026.02 by Veronica Berglyd Olsen (novelWriter.io), GPL v3.0 |
| **Language** | Python 3.11+ |
| **UI framework** | Qt6 via PyQt6 |
| **Platforms** | Linux, Windows, macOS |
| **Storage model** | Plain-text project files (one document per scene + a project XML), well suited to Git and file-sync tools |
| **Formatting** | Minimal Markdown-like syntax plus a metadata syntax for comments, synopsis, and cross-references |
| **License** | `GPL-3.0-or-later AND Apache-2.0 AND ISC AND MIT` (see `pyproject.toml`, `LICENSE.md`) |
| **Entry point** | `UmbraEdit.py` → `umbraedit:main()` |
**Core idea:** a novel is built from many small plain-text documents organised in a binder/tree, with a composing editor and a compile/export step (DOCX, EPUB, HTML, ODT, Markdown, raw text, QDoc).
---
## 2. Repository layout (top level)
```
UmbraEdit/ <- this folder (was novelWriter2)
├── UmbraEdit.py <- application start script (imports umbraedit, calls main)
├── pyproject.toml <- project metadata, dependencies, ruff/pytest config
├── uv.lock <- dependency lockfile (regenerate if deps change)
├── run_tests.py <- pytest runner wrapper
├── pkgutils.py <- packaging / i18n utility script
├── README.md <- user-facing project page (mechanically renamed to UmbraEdit)
├── LICENSE.md
├── CHANGELOG.md <- historical novelWriter changelog (retains original attribution)
├── CONTRIBUTING.md
├── CREDITS.md
├── AI_POLICY.md
├── .gitignore
├── .env.example
├── docs/ <- Sphinx documentation source
├── i18n/ <- Qt translation sources (ue_XX.ts) — compiled .qm are gitignored
├── sample/ <- sample novel project (.nwx + content)
├── setup/ <- packaging: deb, windows, flatpak, macOS, appimage, icons
├── tests/ <- pytest suite (core, editor, gui, manuscript, models, story, text, tools, …)
├── umbraedit/ <- main Python package (was novelwriter/)
└── utils/ <- build scripts (appimage, debian, flatpak, pypi, windows, assets, docs)
```
**Note:** `AGENTS.md` is gitignored by this project (`.gitignore` line 68). This scan lives in `UMBRAEDIT.md` instead.
---
## 3. Package layout — `umbraedit/`
| Module / package | Responsibility |
|---|---|
| `__init__.py` | Application bootstrap, `__version__`, `main()` entry |
| `config.py` | Runtime configuration, paths, locale/i18n loading (`_ueLangPath`) |
| `constants.py` | Application-wide constants |
| `shared.py` | Shared data / singleton state |
| `enum.py`, `types.py`, `error.py` | Enums, shared types, error handling |
| `splash.py` | Splash screen |
| `guimain.py` | Main window / GUI assembly |
| `core/` | Project model: project, projectdata, projectxml, tree, item, document, storage, sessions, index, indexdata, projectsearch, spellcheck, status, options, coretools |
| `editor/` | The composing editor: editor, editordocument, highlighter, history, hovercard, header/footer, toolbars, viewer, search, completion, vim mode |
| `gui/` | Widgets/views: main menu, novel tree, project tree, sidebar, status bar, item details, search, theme |
| `manuscript/` | Compile/export: manuscript build, document build, settings |
| `models/` | Qt item models: item, novel, outline, search |
| `story/` | Outline/story view, story settings |
| `text/` | Text processing: counting, patterns, formats, autoreplace |
| `tools/` | Dictionaries, lorem ipsum, welcome, writing stats |
| `formats/` | Import/export filters: to/from DOCX, EPUB, HTML, ODT, Markdown, QDoc, raw text, TOML, QDoc |
| `dialogs/` | Preferences, project settings, about, split/merge, labels, links, quotes, word list |
| `extensions/` | Custom widgets: tab widget, switch, progress bars, event filters, etc. |
| `assets/` | Icons, images, themes (`.toml`), i18n project JSON, manual, credits |
---
## 4. How to build and run
### Requirements
- Python ≥ 3.11 (system Python 3.9.6 is **too old** — `match`/`case` syntax requires 3.10+)
- `pyqt6>=6.4`, `pyenchant>=3.3.0`
- macOS only: `pyobjc-framework-Cocoa`
### Run the application
```bash
cd /Volumes/1TB_APL_Storage/UmbraEdit
python3 UmbraEdit.py
# or, with the package on PYTHONPATH:
python3 -c "import umbraedit; umbraedit.main()"
```
### Syntax check (Python 3.11+)
```bash
/Volumes/Dock/worstauthor/.local/bin/python3.11 -m py_compile umbraedit/*.py umbraedit/**/*.py
```
### Tests
```bash
python3 run_tests.py # full pytest suite
python3 run_tests.py -m core # run a test marker group
```
Test configuration lives in `pyproject.toml` (`[tool.pytest.ini_options]`, testpaths=`tests`).
### Linting
The project uses **ruff** (see `[tool.ruff]` in `pyproject.toml`) and **pyright**.
### Packaging
See `setup/` and `utils/`:
- `utils/build_debian.py`, `build_windows.py`, `build_flatpak.py`, `build_appimage.py`, `build_pypi.py`
- `setup/windows/`, `setup/macos/`, `setup/debian/`, `setup/flatpak/`
---
## 5. i18n (translations)
- Translation sources: `i18n/ue_XX.ts` (renamed from `nw_XX.ts`)
- Compiled `.qm` files are **gitignored** (`i18n/*.qm`, `/umbraedit/assets/i18n/*.qm`) and generated at build time
- `umbraedit/config.py` loads `ue_<locale>.qm` from `_ueLangPath` (`umbraedit/assets/i18n`)
- Add a new language: create `i18n/ue_XX.ts` and regenerate the `.qm` with Qt Linguist / `lrelease`
---
## 6. Git system & Gitea publishing
### Current remote state
```
upstream https://github.com/vkbo/novelWriter.git (original novelWriter, preserved as reference)
```
There is **no `origin`** yet.
### What was done in this session
1. Cloned `https://github.com/vkbo/novelWriter.git` into this folder (`novelWriter2`).
2. Renamed the project `novelWriter` → `UmbraEdit` (package `novelwriter` → `umbraedit`, entry `novelWriter.py` → `UmbraEdit.py`, i18n `nw_*.ts` → `ue_*.ts`, packaging files, all imports/docs/tests/workflows).
3. Committed the rename:
- `70d74e675 chore: rename project from novelWriter to UmbraEdit` (474 files, all renames detected by git)
4. Archived the previous UmbraEdit (Rust/Tauri, pre-implementation spec project) preserving its git history:
- `/Volumes/1TB_APL_Storage/Archive/UmbraEdit_archived_20261105/`
5. Working tree is clean; branch is `main`.
### To publish as UmbraEdit on your Gitea server
A Gitea credential is **not** configured in this environment, and the Gitea server URL is not known yet, so `origin` was intentionally left unset. When ready:
```bash
# 1. Create the "UmbraEdit" repository on your Gitea server first
# 2. Add it as origin
git remote add origin <GITEA_URL>/UmbraEdit.git
# 3. Push
git push -u origin main
# 4. (Optional) keep pulling upstream novelWriter improvements
git fetch upstream
git merge upstream/main # or cherry-pick as desired
```
### Project URLs to update
`README.md` and `pyproject.toml` currently carry mechanically-renamed GitHub URLs
(`https://github.com/saga-soft/UmbraEdit`, etc.). Before publishing, replace these
with your Gitee instance URLs, e.g.:
- Repository → `https://<gitea>/<owner>/UmbraEdit`
- Issues → `https://<gitea>/<owner>/UmbraEdit/issues`
- Homepage / Documentation → your UmbraEdit docs site
---
## 7. Extension guidance (adding features)
The codebase is organised by concern, which makes it straightforward to extend:
| To add… | Touch… |
|---|---|
| New editor feature / syntax highlighting | `umbraedit/editor/` (editor, highlighter, history) |
| New project-tree / binder operation | `umbraedit/core/` (tree, project, projectdata, projectxml) |
| New import/export format | `umbraedit/formats/` (add a `toXxx` / `fromXxx` module) |
| New settings / preferences UI | `umbraedit/dialogs/preferences.py`, `umbraedit/config.py` |
| New view / dock panel | `umbraedit/gui/`, `umbraedit/guimain.py` |
| New data model / Qt model | `umbraedit/models/`, `umbraedit/core/item.py` |
| New compile/export target | `umbraedit/manuscript/` + a format module |
| New theme | `umbraedit/assets/themes/*.toml` |
| New translation | `i18n/ue_XX.ts` (§5) |
### Recommended workflow for new features
1. Create a feature branch off `main`: `git checkout -b feature/<name>`
2. Implement + add tests under `tests/` mirroring the source layout
3. Run `python3 run_tests.py` and `ruff` lint
4. Commit on the feature branch, then merge to `main`
5. Never let a week of work sit uncommitted (per project convention)
---
## 8. Files intentionally left as-is
| File | Reason |
|---|---|
| `uv.lock` | Dependency lockfile; still references `novelwriter` — regenerate (`uv lock`) if dependencies change |
| `setup/windows/novelWriter.exe` | Binary executable |
| `umbraedit/assets/images/welcome.webp` | Binary image (may still render "novelWriter" text) |
| `CHANGELOG.md`, `CREDITS.md` | Historical records retaining original novelWriter attribution |
---
*Generated as part of the UmbraEdit project setup. Scan date: 2026-11-05.*

245
UMBRAEDIT_UPDATE_PLAN.md Normal file
View File

@@ -0,0 +1,245 @@
# UmbraEdit — Toolchain & Dependency Update Plan
Copyright (C) 2026 B.D. Murphy and novelWriter contributors.
Plan for upgrading UmbraEdit (Python/PyQt6) toolchain and dependencies.
**Goal:** Bring UmbraEdit (Python/PyQt6) up to the latest stable versions of its tools and dependencies, starting from the current baseline.
**Baseline (as of 2026-11-05):**
- System Python: 3.9.6 (`/usr/bin/python3`) — **below** the project's `requires-python >=3.11`
- Available runtimes: Python 3.11.15, 3.12.13 (via `uv` in `~/.local/bin`)
- `uv`: 0.11.7 (2026-04-15) — outdated
- PyQt6: not yet installed in the 3.11 environment
- `pyproject.toml` deps: `pyqt6>=6.4`, `pyenchant>=3.3.0`, `pyobjc-framework-Cocoa` (darwin)
- Lockfile: `uv.lock` (references `novelwriter` package name — will need regen)
---
## 1. Target Versions
| Tool | Current | Target | Source |
|---|---|---|---|
| Python runtime | 3.9.6 (system) | 3.12.x (latest 3.12) or 3.13.x | `uv` / python.org |
| PyQt6 | not installed | latest 6.x | PyPI |
| pyenchant | >=3.3.0 | latest 3.x | PyPI |
| pyobjc-framework-Cocoa | pinned by pyproject | latest (macOS only) | PyPI |
| uv | 0.11.7 | latest | github.com/astral-sh/uv |
| ruff | (in `uv.lock`) | latest | PyPI |
| pyright | (in `uv.lock`) | latest | npm/PyPI |
| pytest | (in `uv.lock`) | latest 8.x | PyPI |
| pytest-qt | (in `uv.lock`) | latest | PyPI |
| coverage | (in `uv.lock`) | latest | PyPI |
| Sphinx + theme | (in `uv.lock`) | latest | PyPI |
| setuptools | 82.0.1 | latest | PyPI |
| pip | 26.0.1 | latest | ensure via `uv` |
> Prefer Python **3.12** as the primary target (mature, PyQt6 wheels widely available). Keep **3.11** as a secondary CI matrix entry since `requires-python` is `>=3.11`.
---
## 2. Phased Execution
### Phase 0 — Preparation & Safety
1. Ensure working tree is clean and all changes committed on `main` (already done).
2. Tag the current state as a rollback point:
```bash
git tag umbraedit/pre-toolchain-update
git push origin umbraedit/pre-toolchain-update
```
3. Record current working commands (`python3 UmbraEdit.py`, test runner) so you can compare before/after.
4. Back up `uv.lock` and `pyproject.toml`.
### Phase 1 — Upgrade `uv` and Python runtimes
1. Upgrade `uv` itself:
```bash
uv self upgrade
# or: curl -LsSf https://astral.sh/uv/install.sh | sh
```
2. Install the target Python(s) via `uv` (so they are isolated and reproducible):
```bash
uv python install 3.12
uv python install 3.11 # keep for CI matrix
uv python list
uv python pin 3.12 # sets default for this project (writes .python-version)
```
3. Verify:
```bash
uv run python --version # should report 3.12.x
```
### Phase 2 — Upgrade core runtime dependencies
Create a fresh virtual environment with the target Python and install the project's runtime deps at their latest compatible versions:
```bash
cd /Volumes/1TB_APL_Storage/UmbraEdit
uv venv --python 3.12
uv pip install "pyqt6>=6.4" "pyenchant>=3.3.0"
# macOS only:
uv pip install "pyobjc-framework-Cocoa"
```
Then:
1. Run the app to confirm it starts:
```bash
uv run python UmbraEdit.py
# or, after venv activation:
python UmbraEdit.py
```
2. If `pyqt6` wheels fail on the target Python, fall back to 3.11 or file an issue.
### Phase 3 — Upgrade build / lint / test tooling
Update the dependency groups in `pyproject.toml` (`build`, `docs`, `test`, `lint`) to latest, then sync:
```toml
[dependency-groups]
dev = [
{ include-group = "build" },
{ include-group = "docs" },
{ include-group = "test" },
{ include-group = "lint" },
]
build = ["pyyaml", "tzdata; sys_platform == 'win32'"]
docs = [
"docutils>=0.17.1",
"pygments>=2.7",
"sphinx-book-theme",
"sphinx-copybutton",
"sphinx-design",
"sphinx-favicon",
"sphinx-intl",
"sphinx>=5.0",
]
test = [
"coverage>=7.16.0",
"pytest-qt",
"pytest-timeout",
"pytest>=6.0.0",
"tzdata; sys_platform == 'win32'",
]
lint = ["pyright", "ruff"]
```
Suggested edits:
- Bump `pytest>=6.0.0` → `pytest>=8.0` (check PyPI for latest 8.x)
- Bump `coverage>=7.16.0` → latest
- Bump `sphinx>=5.0` → latest 7.x/8.x
- Keep `ruff` and `pyright` unpinned or with generous lower bounds so `uv lock` resolves latest
Then sync:
```bash
uv lock --upgrade # resolve all groups to latest
uv sync --all-groups # create .venv with everything
```
### Phase 4 — Regenerate `uv.lock`
`uv.lock` currently references the old `novelwriter` package name and is stale.
```bash
uv lock --upgrade
git diff uv.lock # review before committing
```
Commit the regenerated lockfile with the toolchain update.
### Phase 5 — Update `requires-python` and classifiers (optional)
If you want to drop 3.11 and standardize on 3.12+:
```toml
requires-python = ">=3.12"
```
And update classifiers accordingly. Otherwise keep `>=3.11` and test both 3.11 and 3.12 in CI.
### Phase 6 — Update Gitea CI workflows
The `.github/workflows/*.yml` files reference Python setup steps. Update them to:
- Use `actions/setup-python` with `python-version: ["3.11", "3.12"]` (or your Gitea Actions equivalent)
- Install via `uv sync --all-groups` instead of `pip install -e .`
- Run `uv run ruff check`, `uv run pyright`, `uv run pytest`
If your Gitea instance uses Gitea Actions, mirror the same matrix. If not, update the workflows to call `uv` explicitly.
### Phase 7 — Packaging scripts review
The `utils/` build scripts (`build_appimage.py`, `build_debian.py`, `build_flatpak.py`, `build_pypi.py`, `build_windows.py`) and `setup/` packaging may pin Python/Qt versions. Check each for:
- Hardcoded `python3` → should target the new runtime
- `qt_version = "6.11"` in `[tool.novelwriter.build] flatpak` → verify against latest Qt6
- `pyqt6>=6.4` lower bound → keep or raise
### Phase 8 — Validation
1. **Syntax/compile:** `uv run python -m py_compile umbraedit/ tests/ utils/`
2. **Import smoke:** `uv run python -c "import umbraedit; umbraedit.main(['--help'])"`
3. **Lint:** `uv run ruff check .` and `uv run pyright`
4. **Tests:** `uv run pytest` (or `uv run python run_tests.py`)
5. **App launch:** `uv run python UmbraEdit.py` — confirm main window opens
6. **Export formats:** exercise DOCX/EPUB/HTML/ODT export paths if sample data exists
### Phase 9 — Commit & publish
```bash
git add -A
git commit -m "chore: upgrade toolchain to Python 3.12 and latest deps
- Upgrade uv and pin Python 3.12 via .python-version
- Refresh pyproject.toml dependency groups to latest compatible versions
- Regenerate uv.lock
- Update Gitea CI workflows for uv + Python 3.11/3.12 matrix
- Review packaging scripts for hardcoded python/qt versions"
git push origin main
```
---
## 3. Rollback Plan
If anything breaks after the update:
```bash
# Restore previous state
git checkout umbraedit/pre-toolchain-update .
# or reset hard to the tag
git reset --hard umbraedit/pre-toolchain-update
git push origin main --force # only if already pushed and you need to undo
```
Also keep the old system Python 3.9.6 available (do not remove `/usr/bin/python3`), and keep the `upstream` remote pointing at the original novelWriter for reference.
---
## 4. Recommended Command Sequence (copy-paste ready)
```bash
cd /Volumes/1TB_APL_Storage/UmbraEdit
# 0. Tag rollback point
git tag umbraedit/pre-toolchain-update
git push origin umbraedit/pre-toolchain-update
# 1. Upgrade uv and pin Python 3.12
uv self upgrade
uv python install 3.12
uv python pin 3.12
uv run python --version
# 2. Create venv and install runtime deps at latest
uv venv --python 3.12
uv pip install "pyqt6>=6.4" "pyenchant>=3.3.0"
# 3. Smoke-test the app
uv run python UmbraEdit.py
# 4. Sync dev toolchains (lint/test/docs)
uv sync --all-groups
# 5. Regenerate lockfile
uv lock --upgrade
git diff uv.lock | head -100
# 6. Validate
uv run python -m py_compile umbraedit/ tests/ utils/
uv run ruff check .
uv run pytest
```
---
## 5. Notes & Risks
- **PyQt6 on Python 3.13:** Wheels may lag; if 3.13 is required, verify PyQt6 availability first. 3.12 is the safer target.
- **`pyobjc-framework-Cocoa`:** macOS-only; only install/test on darwin.
- **`uv.lock` diff:** Expect a large diff since the lockfile is stale; review that no unexpected major-version jumps occur (especially PyQt6 6.x → 7.x, which would be breaking).
- **CI:** Gitea Actions runners must have `uv` installed, or the workflows must install it as a step.
- **Application still runs on Python 3.9.6?** No — `match`/`case` syntax requires 3.10+, and `requires-python` is `>=3.11`. The system 3.9.6 must not be used to run UmbraEdit.

12
UmbraEdit.command Executable file
View File

@@ -0,0 +1,12 @@
#!/bin/zsh
# UmbraEdit Launcher for macOS
# Double-click to launch, or run: ./UmbraEdit.command
#
# Copyright (C) 2026 B.D. Murphy and novelWriter contributors.
# Created: macOS launcher script for UmbraEdit (renamed from novelWriter).
cd "$(dirname "$0")"
# Use the project's uv-managed Python 3.12 virtual environment
export UV_PYTHON_PREFERENCE="only-managed"
exec uv run python UmbraEdit.py "$@"

BIN
UmbraEdit.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 736 KiB

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env python3
"""
novelWriter - Start Script
UmbraEdit - Start Script
==========================
""" # noqa
@@ -10,6 +10,6 @@ import sys
os.curdir = os.path.abspath(os.path.dirname(__file__))
if __name__ == "__main__":
import novelwriter
import umbraedit
novelwriter.main(sys.argv[1:])
umbraedit.main(sys.argv[1:])

221
build-linux.sh Executable file
View File

@@ -0,0 +1,221 @@
#!/usr/bin/env bash
#=============================================================================
# UmbraEdit Linux Build Script
# ============================================================================
# Downloads the UmbraEdit source tarball and builds a .deb package and/or
# AppImage for Linux AMD64/ARM64.
#
# Usage:
# chmod +x build-linux.sh
# ./build-linux.sh [--arch amd64|arm64] [--distro ubuntu|debian] [--no-deb]
#
# No git clone required. Downloads the source tarball automatically.
#=============================================================================
set -euo pipefail
#-----------------------------------------------------------------------------
# Configuration
#-----------------------------------------------------------------------------
VERSION="2026.11.5"
RELEASE_VERSION="2026.11.0007"
GITEA_URL="http://192.168.123.18:2222/umbragit/UmbraEdit"
TARBALL_URL="${GITEA_URL}/-/archive/v${RELEASE_VERSION}/umbraedit-${RELEASE_VERSION}.tar.gz"
TARBALL="umbraedit-${RELEASE_VERSION}.tar.gz"
EXTRACTED_DIR="umbraedit-${RELEASE_VERSION}"
ARCH="${1:-amd64}"
DISTRO="${2:-ubuntu}"
BUILD_DEB="${3:-yes}"
echo "============================================================"
echo " UmbraEdit Linux Build Script"
echo "============================================================"
echo ""
echo " Version: ${RELEASE_VERSION}"
echo " Architecture: ${ARCH}"
echo " Distro: ${DISTRO}"
echo " Build .deb: ${BUILD_DEB}"
echo ""
#--------------------------------------------------------------
# Step 1: Check prerequisites
#--------------------------------------------------------------
echo "[1/5] Checking prerequisites..."
MISSING=0
for cmd in curl tar python3; do
if ! command -v "$cmd" &> /dev/null; then
echo " MISSING: $cmd"
MISSING=1
fi
done
if command -v apt-get &> /dev/null; then
PKG_MGR="apt-get"
elif command -v dnf &> /dev/null; then
PKG_MGR="dnf"
elif command -v pacman &> /dev/null; then
PKG_MGR="pacman"
else
PKG_MGR=""
fi
if [ "$PKG_MGR" = "" ]; then
echo ""
echo "ERROR: No supported package manager found (apt-get, dnf, or pacman)"
echo "Please install: python3, python3-pip, python3-pyqt6, python3-enchant,"
echo " dh-python, debhelper, python3-build, appimagetool"
exit 1
fi
echo " Package manager: $PKG_MGR"
echo " Prerequisites OK"
#--------------------------------------------------------------
# Step 2: Install system dependencies
#--------------------------------------------------------------
echo ""
echo "[2/5] Installing system dependencies..."
INSTALL_FAILED=0
if [ "$PKG_MGR" = "apt-get" ]; then
echo " Updating package lists..."
if ! sudo apt-get update 2>&1 | tail -5; then
echo ""
echo "============================================================"
echo " ERROR: apt-get update failed!"
echo "============================================================"
echo ""
echo " One of your package repositories is broken (likely a PPA or"
echo " third-party repo like NVIDIA's)."
echo ""
echo " To fix:"
echo " 1. Check /etc/apt/sources.list and /etc/apt/sources.list.d/"
echo " 2. Remove or disable any repositories that no longer exist"
echo " 3. Run: sudo apt-get update"
echo " 4. Then re-run this script: ./build-linux.sh"
echo ""
exit 1
fi
fi
echo ""
echo "Installing packages..."
install_pkg() {
if [ "$PKG_MGR" = "apt-get" ]; then
sudo apt-get install -y "$@" 2>&1 | tail -3
elif [ "$PKG_MGR" = "dnf" ]; then
sudo dnf install -y "$@" 2>&1 | tail -3
elif [ "$PKG_MGR" = "pacman" ]; then
sudo pacman -Sy --noconfirm "$@" 2>&1 | tail -3
fi
}
echo " Installing: python3 python3-pip python3-pyqt6 python3-enchant"
install_pkg python3 python3-pip python3-pyqt6 python3-enchant 2>&1 | tail -3 || {
echo ""
echo "============================================================"
echo " ERROR: Failed to install core dependencies"
echo "============================================================"
echo ""
echo " Please install manually and re-run:"
echo " sudo apt-get install python3 python3-pip python3-pyqt6 python3-enchant"
echo ""
exit 1
}
echo ""
echo " Installing: dh-python debhelper python3-build appimagetool"
install_pkg dh-python debhelper python3-build appimagetool 2>&1 | tail -3 || {
echo ""
echo "============================================================"
echo " WARNING: Some build tools failed to install"
echo "============================================================"
echo ""
echo " You may need to install these manually:"
echo " sudo apt-get install dh-python debhelper python3-build appimagetool"
echo ""
echo " Continuing anyway..."
}
echo " System dependencies installed"
#--------------------------------------------------------------
# Step 3: Download source tarball
#--------------------------------------------------------------
echo ""
echo "[3/5] Downloading source tarball..."
echo " URL: ${TARBALL_URL}"
if [ -f "$TARBALL" ]; then
echo " Archive already exists, skipping download"
else
curl -L -o "$TARBALL" "$TARBALL_URL"
echo " Downloaded: $(ls -lh "$TARBALL" | awk '{print $5}')"
fi
#--------------------------------------------------------------
# Step 4: Extract source
#--------------------------------------------------------------
echo ""
echo "[4/5] Extracting source..."
rm -rf "$EXTRACTED_DIR"
tar xzf "$TARBALL"
cd "$EXTRACTED_DIR"
echo " Extracted to: $(pwd)"
#--------------------------------------------------------------
# Step 5: Install Python dependencies
#--------------------------------------------------------------
echo ""
echo "[5/5] Installing Python dependencies..."
python3 -m pip install --user --upgrade pip setuptools wheel 2>&1 | tail -1
python3 -m pip install --user pyqt6 pyenchant 2>&1 | tail -1
echo " Python dependencies installed"
#--------------------------------------------------------------
# Step 6: Build packages
#--------------------------------------------------------------
echo ""
echo "[6/6] Building packages..."
# Build .deb (Debian/Ubuntu only)
if [ "$BUILD_DEB" = "yes" ] && [ "$PKG_MGR" = "apt-get" ]; then
echo ""
echo "Building .deb package..."
python3 utils/build_debian.py --distro "$DISTRO" --build 1
echo ""
echo " .deb package: dist_deb/umbraedit_*_${ARCH}.deb"
fi
# Build AppImage
echo ""
echo "Building AppImage..."
python3 utils/build_appimage.py --linux manylinux_2_28 --arch "$ARCH" --python 3.12
echo ""
echo " AppImage: dist_appimage/umbraedit-${RELEASE_VERSION}-${ARCH}.AppImage"
#--------------------------------------------------------------
# Done
#--------------------------------------------------------------
echo ""
echo "============================================================"
echo " Build Complete!"
echo "============================================================"
echo ""
echo "Artifacts:"
ls -la dist_deb/ 2>/dev/null || true
ls -la dist_appimage/ 2>/dev/null || true
echo ""
echo "To run UmbraEdit:"
echo " From AppImage: chmod +x dist_appimage/umbraedit-${RELEASE_VERSION}-${ARCH}.AppImage"
echo " ./dist_appimage/umbraedit-${RELEASE_VERSION}-${ARCH}.AppImage"
echo " From .deb: sudo dpkg -i dist_deb/umbraedit_*_${ARCH}.deb && umbraedit"
echo ""
echo "Source directory: $(pwd)"

View File

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View File

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -11,7 +11,7 @@ import time
# -- Project Information -----------------------------------------------------
project = "novelWriter"
project = "UmbraEdit"
copyright = f"{datetime.date.today().year}" # noqa: A001
if override_authors := os.environ.get("SPHINX_I18N_AUTHORS"):
@@ -22,7 +22,7 @@ else:
if override_version := os.environ.get("SPHINX_I18N_VERSION"):
release = override_version
else:
initFile = os.path.join(os.path.dirname(__file__), os.pardir, os.pardir, "novelwriter", "__init__.py")
initFile = os.path.join(os.path.dirname(__file__), os.pardir, os.pardir, "umbraedit", "__init__.py")
with open(initFile, encoding="utf-8") as inFile:
for aLine in inFile:
if aLine.startswith("__version__"):
@@ -57,12 +57,12 @@ html_static_path = ["_static"]
html_css_files = ["custom.css"]
html_theme_options = {
"logo": {
"image_light": "_static/novelwriter-light.png",
"image_dark": "_static/novelwriter-dark.png",
"image_light": "_static/umbraedit-light.png",
"image_dark": "_static/umbraedit-dark.png",
},
"show_toc_level": 2,
"show_navbar_depth": 1,
"repository_url": "https://github.com/saga-soft/novelwriter",
"repository_url": "https://github.com/saga-soft/umbraedit",
"navigation_with_keys": True,
"use_repository_button": True,
"use_issues_button": True,
@@ -81,5 +81,5 @@ latex_elements = {
"preamble": ("\\usepackage[utf8]{inputenc}\n\\DeclareUnicodeCharacter{2212}{\\textendash}\n"),
"figure_align": "htbp",
}
latex_logo = "_static/novelwriter-pdf.png"
latex_logo = "_static/umbraedit-pdf.png"
latex_documents = [(master_doc, "manual.tex", None, author, "manual")]

View File

@@ -7,7 +7,7 @@ Dialogue Highlighting
Dialogue recognition and colour highlighting is available both while you're writing and in
generated manuscript documents.
The default language settings in novelWriter are for English. That includes the dialogue
The default language settings in UmbraEdit are for English. That includes the dialogue
highlighting settings. But many dialogue styles are supported. You can tune a number of settings
to fit your language and style preferences in the "Text Highlighting" section in **Preferences**.
You can mix and match these settings.

View File

@@ -4,13 +4,18 @@
Keyboard Shortcuts
******************
Most features in novelWriter are available as keyboard shortcuts. This is a reference list of those
Most features in UmbraEdit are available as keyboard shortcuts. This is a reference list of those
shortcuts. Most of them are also listed in the application's user interface.
.. note::
On MacOS, replace :kbd:`Ctrl` with :kbd:`Cmd`.
.. note::
Shortcuts marked with (*) are remapped when Vim Mode is enabled and no longer work as listed in
the tables below. See :ref:`docs_features_vim_mode` for more details.
Main Window Shortcuts
=====================
@@ -27,7 +32,7 @@ Main Window Shortcuts
":kbd:`Ctrl+,`", "Open the **Preferences** dialog"
":kbd:`Ctrl+E`", "Switch or toggle focus for the editor or viewer"
":kbd:`Ctrl+T`", "Switch or toggle focus for the project tree or novel view"
":kbd:`Ctrl+Q`", "Exit novelWriter"
":kbd:`Ctrl+Q`", "Exit UmbraEdit"
":kbd:`Ctrl+Shift+,`", "Open the **Project Settings** dialog"
":kbd:`Ctrl+Shift+O`", "Open the Welcome dialog to open or create a project"
":kbd:`Ctrl+Shift+S`", "Save the current project"
@@ -53,7 +58,7 @@ Project Tree Shortcuts
":kbd:`Ctrl+L`", "Open the **Quick Links** menu"
":kbd:`Ctrl+N`", "Open the **Create New Item** menu"
":kbd:`Ctrl+O`", "Open the selected document in the editor"
":kbd:`Ctrl+R`", "Open the selected document in the viewer"
":kbd:`Ctrl+R`", "Open the selected document in the viewer (*)"
":kbd:`Ctrl+Up`", "Move selected item one step up in the tree"
":kbd:`Ctrl+Down`", "Move selected item one step down in the tree"
":kbd:`Ctrl+Shift+Del`", "Move the selected item to Trash"
@@ -116,7 +121,7 @@ Other Editor Shortcuts
":kbd:`Ctrl+A`", "Select all text in the document"
":kbd:`Ctrl+C`", "Copy selected text to clipboard"
":kbd:`Ctrl+K`", "Activate the insert commands (see list in :ref:`docs_features_shortcuts_insert`)"
":kbd:`Ctrl+R`", "Open or reload the current document in the viewer"
":kbd:`Ctrl+R`", "Open or reload the current document in the viewer (*)"
":kbd:`Ctrl+S`", "Save the current document"
":kbd:`Ctrl+V`", "Paste text from clipboard to cursor position"
":kbd:`Ctrl+W`", "Close the current document"
@@ -205,4 +210,4 @@ Document Viewer Shortcuts
":kbd:`Ctrl+-`", "Zoom out"
":kbd:`Ctrl+_`", "Zoom out"
":kbd:`Ctrl+Shift+A`", "Select all text in the current paragraph"
":kbd:`Ctrl+Shift+R`", "Close the document viewer"
":kbd:`Ctrl+Shift+R`", "Close the document viewer (*)"

View File

@@ -10,7 +10,7 @@ Vim_ is a keyboard-centric text editor. "Vim mode" refers to another editor impl
ability to perform a subset of vim motions. This will allow you to write, select, edit, copy,
paste, navigate, etc, efficiently by using keyboard commands.
Vim is modal. Three such modes have been implemented in novelWriter:
Vim is modal. Three such modes have been implemented in UmbraEdit:
- **Normal** mode is the default mode used to navigate text.
- **Insert** mode is where you can write text like in a 'normal' text editor.
@@ -39,67 +39,78 @@ To switch between the various vim modes, these keystrokes implemented:
"Normal", "Insert", ":kbd:`i`, :kbd:`I`, :kbd:`a`, :kbd:`A`, :kbd:`o`, :kbd:`O`"
"Insert", "Normal", ":kbd:`Esc`"
"Normal", "Visual", ":kbd:`v`, :kbd:`V`"
"Visual", "V-Line", ":kbd:`V`"
"V-Line", "Visual", ":kbd:`v`"
"Visual", "Normal", ":kbd:`Esc`, :kbd:`v`"
"V-Line", "Normal", ":kbd:`Esc`, :kbd:`V`"
You can exit visual mode back to normal mode by pressing :kbd:`Esc`, but all visual mode commands
that logically "terminate" the visual mode usage will return you to normal mode.
For instance, press :kbd:`V` to enter V-Line mode, select next word with :kbd:`w`. press :kbd:`y`
to yank (copy), you are now automatically put back in normal mode as you have completed selecting
your text.
For instance, press :kbd:`V` to enter V-Line mode, extend the selection to the next line with
:kbd:`j`, and press :kbd:`y` to yank (copy). You are now automatically put back in normal mode as
you have completed selecting your text.
Implemented Keystrokes (Vim Motions)
====================================
The table below shows the vim motions currently implemented in novelWriter.
The table below shows the vim motions currently implemented in UmbraEdit.
.. csv-table::
:header: "Motion", "Mode(s)", "Description"
":kbd:`i`", "Normal → Insert", "Enter insert mode"
":kbd:`I`", "Normal → Insert", "Jump to first non-blank of line and enter insert"
":kbd:`v`", "Normal → Visual", "Enter character-wise visual mode"
":kbd:`V`", "Normal → V-Line", "Enter line-wise visual mode"
":kbd:`dd`", "Normal", "Delete (cut) current line"
":kbd:`x`", "Normal", "Delete character under cursor"
":kbd:`w`", "Normal / Visual", "Move to next word start"
":kbd:`b`", "Normal / Visual", "Move to previous word start"
":kbd:`e`", "Normal / Visual", "Move to next word end"
":kbd:`dw`", "Normal", "Delete from cursor to next word start"
":kbd:`de`", "Normal", "Delete from cursor to next word end"
":kbd:`db`", "Normal", "Delete from cursor to previous word start"
":kbd:`d$`", "Normal", "Delete from cursor to end of line"
":kbd:`yw`", "Normal", "Yank (copy) from cursor to next word start"
":kbd:`gg`", "Normal / Visual", "Jump to first line"
":kbd:`G`", "Normal / Visual", "Jump to last line"
":kbd:`yy`", "Normal", "Yank current line"
":kbd:`p`", "Normal", "Paste after current line"
":kbd:`P`", "Normal", "Paste before current line"
":kbd:`o`", "Normal → Insert", "Open new line below and enter insert"
":kbd:`O`", "Normal → Insert", "Open new line above and enter insert"
":kbd:`$`", "Normal / Visual", "Move to end of line"
":kbd:`a`", "Normal → Insert", "Enter insert after cursor"
":kbd:`A`", "Normal → Insert", "Enter insert at end of line"
":kbd:`u`", "Normal", "Undo last change"
":kbd:`zz`", "Normal", "Centre cursor vertically"
":kbd:`h`", "Normal / Visual", "Move left"
":kbd:`j`", "Normal / Visual", "Move down"
":kbd:`k`", "Normal / Visual", "Move up"
":kbd:`l`", "Normal / Visual", "Move right"
":kbd:`d`", "Visual / V-Line", "Delete selection"
":kbd:`x`", "Visual / V-Line", "Delete selection"
":kbd:`y`", "Visual / V-Line", "Yank selection"
":kbd:`0`", "Visual", "Move to start of line (extend selection)"
":kbd:`i`", "Normal → Insert", "Enter insert mode"
":kbd:`I`", "Normal → Insert", "Jump to start of line and enter insert"
":kbd:`v`", "Normal → Visual", "Enter character-wise visual mode"
":kbd:`V`", "Normal → V-Line", "Enter line-wise visual mode"
":kbd:`dd`", "Normal", "Delete (cut) current line"
":kbd:`x`", "Normal", "Delete character under cursor"
":kbd:`w`", "Normal / Visual", "Move to next word start"
":kbd:`b`", "Normal / Visual", "Move to previous word start"
":kbd:`e`", "Normal / Visual", "Move to next word end"
":kbd:`dw`", "Normal", "Delete from cursor to next word start"
":kbd:`de`", "Normal", "Delete from cursor to next word end"
":kbd:`db`", "Normal", "Delete from cursor to previous word start"
":kbd:`d$`", "Normal", "Delete from cursor to end of line"
":kbd:`yw`", "Normal", "Yank (copy) from cursor to next word start"
":kbd:`gg`", "Normal / Visual", "Jump to first line"
":kbd:`G`", "Normal / Visual", "Jump to last line"
":kbd:`yy`", "Normal", "Yank current line"
":kbd:`p`", "Normal", "Paste after current line or cursor"
":kbd:`P`", "Normal", "Paste before current line or at cursor"
":kbd:`o`", "Normal → Insert", "Open new line below and enter insert"
":kbd:`O`", "Normal → Insert", "Open new line above and enter insert"
":kbd:`$`", "Normal / Visual", "Move to end of line"
":kbd:`0`", "Normal / Visual", "Move to start of line"
":kbd:`a`", "Normal → Insert", "Enter insert after cursor"
":kbd:`A`", "Normal → Insert", "Enter insert at end of line"
":kbd:`u`", "Normal", "Undo last change"
":kbd:`Ctrl+R`", "Normal", "Redo last undone change (*)"
":kbd:`zz`", "Normal", "Centre cursor vertically"
":kbd:`h`", "Normal / Visual", "Move left"
":kbd:`j`", "Normal / Visual", "Move down"
":kbd:`k`", "Normal / Visual", "Move up"
":kbd:`l`", "Normal / Visual", "Move right"
":kbd:`d`", "Visual / V-Line", "Delete selection"
":kbd:`x`", "Visual / V-Line", "Delete selection"
":kbd:`y`", "Visual / V-Line", "Yank selection"
.. note::
Shortcuts marked with (*) are remapped when Vim Mode is enabled. These are shortcuts that
usually do other things when Vim Mode is off.
Known Issues
============
* Currently, :kbd:`dd` on an empty line will not delete, but using :kbd:`x` will.
* :kbd:`vypyy` will have :kbd:`ypyy` in command memory and thus not register :kbd:`yy`. Expected
behavior would be visual mode, yank, paste, yank line.
* Differing behavior from vim: the :kbd:`e` command behaves a bit differently with regards to the
last character of a word. The behavior is inconsistent with vim but functional and still logical
* Differing behaviour from vim: :kbd:`j` and :kbd:`k` move by displayed line when a line is
wrapped, like :kbd:`gj` and :kbd:`gk` in vim. All other line commands act on the full line.
* :kbd:`Esc` in normal mode will leave Focus Mode if there is no pending command to cancel.
* Differing behaviour from vim: the :kbd:`e` command behaves a bit differently with regards to the
last character of a word. The behaviour is inconsistent with vim but functional and still logical
to use. The cursor is placed at the end of the word after the last character rather than on the
last character.
@@ -108,8 +119,8 @@ Known Issues
test
^ Cursor placed here in vim
test
^ Cursor placed here in novelWriter vim mode
^ Cursor placed here in UmbraEdit vim mode
You will only really ever notice this behavior if you try to combine the :kbd:`e` command with
You will only really ever notice this behaviour if you try to combine the :kbd:`e` command with
another. For instance, :kbd:`de` will not delete the last character but delete forward as it
starts one character after the word boundary.

View File

@@ -5,7 +5,7 @@ User Guide
| **Release Version:** |release|
| **Updated:** |today|
novelWriter is an open source plain text editor designed for writing novels assembled from
UmbraEdit is an open source plain text editor designed for writing novels assembled from
individual text documents. It uses a minimal formatting syntax inspired by Markdown, and adds a
meta data syntax for comments, synopsis, and cross-referencing. It is designed to be a simple text
editor that allows for easy organisation of text and notes, using human readable text files as
@@ -18,22 +18,22 @@ storage for robustness.
**Useful Links**
* Website: https://novelwriter.io
* Documentation: https://docs.novelwriter.io
* Public Releases: https://releases.novelwriter.io
* Internationalisation: https://crowdin.com/project/novelwriter
* Source Code: https://github.com/saga-soft/novelWriter
* Source Releases: https://github.com/saga-soft/novelWriter/releases
* Issue Tracker: https://github.com/saga-soft/novelWriter/issues
* Feature Discussions: https://github.com/saga-soft/novelWriter/discussions
* PyPi Project: https://pypi.org/project/novelWriter
* Social Media: https://fosstodon.org/@novelwriter
* Website: https://umbraedit.io
* Documentation: https://docs.umbraedit.io
* Public Releases: https://releases.umbraedit.io
* Internationalisation: https://crowdin.com/project/umbraedit
* Source Code: https://github.com/saga-soft/UmbraEdit
* Source Releases: https://github.com/saga-soft/UmbraEdit/releases
* Issue Tracker: https://github.com/saga-soft/UmbraEdit/issues
* Feature Discussions: https://github.com/saga-soft/UmbraEdit/discussions
* PyPi Project: https://pypi.org/project/UmbraEdit
* Social Media: https://fosstodon.org/@umbraedit
.. toctree::
:hidden:
self
More Documents <https://novelwriter.io/more/>
More Documents <https://umbraedit.io/more/>
.. toctree::
:caption: Getting Started

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-28 22:09+0200\n"
@@ -36,13 +36,13 @@ msgstr ""
#: ../../source/features/dialogue.rst:10
msgid ""
"The default language settings in novelWriter are for English. That "
"The default language settings in UmbraEdit are for English. That "
"includes the dialogue highlighting settings. But many dialogue styles "
"are supported. You can tune a number of settings to fit your language "
"and style preferences in the \"Text Highlighting\" section in "
"**Preferences**. You can mix and match these settings."
msgstr ""
"Les paramètres linguistiques par défaut de novelWriter sont ceux de "
"Les paramètres linguistiques par défaut de UmbraEdit sont ceux de "
"l'anglais. Cela inclut les paramètres de mise en évidence des dialogues. "
"Mais de nombreux styles de dialogue sont pris en charge. Vous pouvez "
"ajuster un certain nombre de paramètres en fonction de vos préférences "

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-28 22:50+0200\n"
@@ -27,11 +27,11 @@ msgstr "Raccourcis clavier"
#: ../../source/features/shortcuts.rst:7
msgid ""
"Most features in novelWriter are available as keyboard shortcuts. This "
"Most features in UmbraEdit are available as keyboard shortcuts. This "
"is a reference list of those shortcuts. Most of them are also listed in "
"the application's user interface."
msgstr ""
"La plupart des fonctionnalités de novelWriter sont disponibles sous "
"La plupart des fonctionnalités de UmbraEdit sont disponibles sous "
"forme de raccourcis clavier. Il s'agit d'une liste de référence de ces "
"raccourcis. La plupart d'entre eux sont également listés dans "
"l'interface utilisateur de l'application."
@@ -132,8 +132,8 @@ msgid ":kbd:`Ctrl+Q`"
msgstr ":kbd:`Ctrl+Q`"
#: ../../source/features/shortcuts.rst:1
msgid "Exit novelWriter"
msgstr "Quitter novelWriter"
msgid "Exit UmbraEdit"
msgstr "Quitter UmbraEdit"
#: ../../source/features/shortcuts.rst:1
msgid ":kbd:`Ctrl+Shift+,`"

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-28 22:28+0200\n"

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-27 20:56+0200\n"
@@ -59,14 +59,14 @@ msgstr "**Mise à jour :** |today|"
#: ../../source/index.rst:8
msgid ""
"novelWriter is an open source plain text editor designed for writing "
"UmbraEdit is an open source plain text editor designed for writing "
"novels assembled from individual text documents. It uses a minimal "
"formatting syntax inspired by Markdown, and adds a meta data syntax for "
"comments, synopsis, and cross-referencing. It is designed to be a simple "
"text editor that allows for easy organisation of text and notes, using "
"human readable text files as storage for robustness."
msgstr ""
"novelWriter est un éditeur de texte brut open source conçu pour écrire "
"UmbraEdit est un éditeur de texte brut open source conçu pour écrire "
"des romans assemblés à partir de documents texte individuels. Il utilise "
"une syntaxe de formatage minimale inspirée de Markdown, et ajoute une "
"syntaxe de métadonnées pour les commentaires, les synopsis et les "
@@ -80,41 +80,41 @@ msgid "**Useful Links**"
msgstr "**Liens utiles**"
#: ../../source/index.rst:21
msgid "Website: https://novelwriter.io"
msgstr "Site web : https://novelwriter.io"
msgid "Website: https://umbraedit.io"
msgstr "Site web : https://umbraedit.io"
#: ../../source/index.rst:22
msgid "Documentation: https://docs.novelwriter.io"
msgstr "Documentation: https://docs.novelwriter.io"
msgid "Documentation: https://docs.umbraedit.io"
msgstr "Documentation: https://docs.umbraedit.io"
#: ../../source/index.rst:23
msgid "Public Releases: https://releases.novelwriter.io"
msgstr "Public Releases: https://releases.novelwriter.io"
msgid "Public Releases: https://releases.umbraedit.io"
msgstr "Public Releases: https://releases.umbraedit.io"
#: ../../source/index.rst:24
msgid "Internationalisation: https://crowdin.com/project/novelwriter"
msgstr "Internationalisation: https://crowdin.com/project/novelwriter"
msgid "Internationalisation: https://crowdin.com/project/umbraedit"
msgstr "Internationalisation: https://crowdin.com/project/umbraedit"
#: ../../source/index.rst:25
msgid "Source Code: https://github.com/saga-soft/novelWriter"
msgstr "Code source : https://github.com/saga-soft/novelWriter"
msgid "Source Code: https://github.com/saga-soft/UmbraEdit"
msgstr "Code source : https://github.com/saga-soft/UmbraEdit"
#: ../../source/index.rst:26
msgid "Source Releases: https://github.com/saga-soft/novelWriter/releases"
msgstr "Source Releases: https://github.com/saga-soft/novelWriter/releases"
msgid "Source Releases: https://github.com/saga-soft/UmbraEdit/releases"
msgstr "Source Releases: https://github.com/saga-soft/UmbraEdit/releases"
#: ../../source/index.rst:27
msgid "Issue Tracker: https://github.com/saga-soft/novelWriter/issues"
msgstr "Issue Tracker: https://github.com/saga-soft/novelWriter/issues"
msgid "Issue Tracker: https://github.com/saga-soft/UmbraEdit/issues"
msgstr "Issue Tracker: https://github.com/saga-soft/UmbraEdit/issues"
#: ../../source/index.rst:28
msgid "Feature Discussions: https://github.com/saga-soft/novelWriter/discussions"
msgstr "Feature Discussions: https://github.com/saga-soft/novelWriter/discussions"
msgid "Feature Discussions: https://github.com/saga-soft/UmbraEdit/discussions"
msgstr "Feature Discussions: https://github.com/saga-soft/UmbraEdit/discussions"
#: ../../source/index.rst:29
msgid "PyPi Project: https://pypi.org/project/novelWriter"
msgstr "PyPi Project: https://pypi.org/project/novelWriter"
msgid "PyPi Project: https://pypi.org/project/UmbraEdit"
msgstr "PyPi Project: https://pypi.org/project/UmbraEdit"
#: ../../source/index.rst:30
msgid "Social Media: https://fosstodon.org/@novelwriter"
msgstr "Social Media: https://fosstodon.org/@novelwriter"
msgid "Social Media: https://fosstodon.org/@umbraedit"
msgstr "Social Media: https://fosstodon.org/@umbraedit"

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-28 23:00+0200\n"

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-29 11:05+0200\n"
@@ -27,11 +27,11 @@ msgstr "Personnalisations"
#: ../../source/more/customise.rst:10
msgid ""
"There are a few ways you can customise novelWriter yourself. Currently, "
"There are a few ways you can customise UmbraEdit yourself. Currently, "
"you can add new GUI themes, your own syntax themes, and install additional "
"dictionaries."
msgstr ""
"Vous pouvez personnaliser novelWriter de plusieurs façons. Actuellement, "
"Vous pouvez personnaliser UmbraEdit de plusieurs façons. Actuellement, "
"vous pouvez ajouter de nouveaux thèmes d'interface graphique, vos propres "
"thèmes de syntaxe et installer des dictionnaires supplémentaires."
@@ -41,11 +41,11 @@ msgstr "Dictionnaires de vérification orthographique"
#: ../../source/more/customise.rst:19
msgid ""
"novelWriter uses Enchant_ as the spell checking tool. Depending on your "
"UmbraEdit uses Enchant_ as the spell checking tool. Depending on your "
"operating system, it may or may not load all installed spell check "
"dictionaries automatically."
msgstr ""
"novelWriter utilise Enchant_ comme outil de vérification orthographique. "
"UmbraEdit utilise Enchant_ comme outil de vérification orthographique. "
"Selon votre système d'exploitation, il peut ou non charger automatiquement "
"tous les dictionnaires de vérification orthographique installés."
@@ -58,14 +58,14 @@ msgid ""
"On Linux and MacOS, you generally only have to install hunspell, aspell or "
"myspell dictionaries on your system like you do for other applications. "
"See your distro or OS documentation for how to do this. These dictionaries "
"should show up as available spell check languages in novelWriter."
"should show up as available spell check languages in UmbraEdit."
msgstr ""
"Sous Linux et MacOS, il vous suffit généralement d'installer les "
"dictionnaires hunspell, aspell ou myspell sur votre système, comme vous le "
"faites pour d'autres applications. Consultez la documentation de votre "
"distro ou de votre système d'exploitation pour savoir comment procéder. "
"Ces dictionnaires devraient apparaître comme des langues de vérification "
"orthographique disponibles dans novelWriter."
"orthographique disponibles dans UmbraEdit."
#: ../../source/more/customise.rst:32
msgid "Windows"
@@ -182,30 +182,30 @@ msgstr ""
#: ../../source/more/customise.rst:78
msgid ""
"The existing syntax themes are stored in `novelwriter/assets/syntax "
"<https://github.com/saga-soft/novelWriter/tree/main/novelwriter/assets/"
"The existing syntax themes are stored in `umbraedit/assets/syntax "
"<https://github.com/saga-soft/UmbraEdit/tree/main/umbraedit/assets/"
"syntax>`_."
msgstr ""
"Les thèmes syntaxiques existants sont stockés dans `novelwriter/assets/"
"syntax <https://github.com/saga-soft/novelWriter/tree/main/novelwriter/assets/"
"Les thèmes syntaxiques existants sont stockés dans `umbraedit/assets/"
"syntax <https://github.com/saga-soft/UmbraEdit/tree/main/umbraedit/assets/"
"syntax>`_."
#: ../../source/more/customise.rst:80
msgid ""
"The existing GUI themes are stored in `novelwriter/assets/themes <https://"
"github.com/saga-soft/novelWriter/tree/main/novelwriter/assets/themes>`_."
"The existing GUI themes are stored in `umbraedit/assets/themes <https://"
"github.com/saga-soft/UmbraEdit/tree/main/umbraedit/assets/themes>`_."
msgstr ""
"Les thèmes GUI existants sont stockés dans `novelwriter/assets/themes "
"<https://github.com/saga-soft/novelWriter/tree/main/novelwriter/assets/"
"Les thèmes GUI existants sont stockés dans `umbraedit/assets/themes "
"<https://github.com/saga-soft/UmbraEdit/tree/main/umbraedit/assets/"
"themes>`_."
#: ../../source/more/customise.rst:82
msgid ""
"The existing icon themes are stored in `novelwriter/assets/icons <https://"
"github.com/saga-soft/novelWriter/tree/main/novelwriter/assets/icons>`_."
"The existing icon themes are stored in `umbraedit/assets/icons <https://"
"github.com/saga-soft/UmbraEdit/tree/main/umbraedit/assets/icons>`_."
msgstr ""
"Les thèmes d'icônes existants sont stockés dans `novelwriter/assets/icons "
"<https://github.com/saga-soft/novelWriter/tree/main/novelwriter/assets/icons>`_."
"Les thèmes d'icônes existants sont stockés dans `umbraedit/assets/icons "
"<https://github.com/saga-soft/UmbraEdit/tree/main/umbraedit/assets/icons>`_."
#: ../../source/more/customise.rst:85
msgid ""
@@ -219,19 +219,19 @@ msgstr ""
#: ../../source/more/customise.rst:88
msgid ""
"For novelWriter to be able to locate the custom theme files, you must copy "
"For UmbraEdit to be able to locate the custom theme files, you must copy "
"them to the :ref:`docs_technical_locations_data` location in your home or "
"user area. There should be a folder there named ``syntax`` for syntax "
"themes, just ``themes`` for GUI themes, and ``icons`` for icon themes. "
"These folders are created the first time you start novelWriter."
"These folders are created the first time you start UmbraEdit."
msgstr ""
"Pour que novelWriter puisse localiser les fichiers de thèmes "
"Pour que UmbraEdit puisse localiser les fichiers de thèmes "
"personnalisés, vous devez les copier dans l'emplacement :ref:"
"`docs_technical_locations_data` dans votre espace personnel ou "
"utilisateur. Il devrait y avoir un dossier nommé ``syntax`` pour les "
"thèmes de syntaxe, juste ``themes`` pour les thèmes GUI, et ``icons`` pour "
"les thèmes d'icônes. Ces dossiers sont créés la première fois que vous "
"démarrez novelWriter.\n"
"démarrez UmbraEdit.\n"
"\n"
"Traduit avec DeepL.com (version gratuite)"

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-29 11:11+0200\n"
@@ -27,12 +27,12 @@ msgstr "Traitement des erreurs"
#: ../../source/more/handling_errors.rst:7
msgid ""
"In case something goes wrong, novelWriter has a few built-in features to "
"In case something goes wrong, UmbraEdit has a few built-in features to "
"reduce the chance your work is lost. In case of a crash, it will also "
"try to save whatever changes you have made before exiting, if this is at "
"all possible."
msgstr ""
"En cas de problème, novelWriter dispose de quelques fonctions intégrées "
"En cas de problème, UmbraEdit dispose de quelques fonctions intégrées "
"pour réduire le risque de perte de votre travail. En cas de panne, il "
"essaiera également d'enregistrer les modifications que vous avez "
"apportées avant de quitter, si cela est possible."
@@ -53,13 +53,13 @@ msgstr "Documents récupérés"
#: ../../source/more/handling_errors.rst:20
msgid ""
"If novelWriter crashes or otherwise exits without saving the project "
"If UmbraEdit crashes or otherwise exits without saving the project "
"state, or if you're using a file synchronisation tool that runs out of "
"sync, there may be files in the project storage folder that aren't "
"tracked in the core project file. These files, when discovered, are "
"recovered and added back into the project when a project is opened."
msgstr ""
"Si novelWriter se plante ou se termine sans sauvegarder l'état du "
"Si UmbraEdit se plante ou se termine sans sauvegarder l'état du "
"projet, ou si vous utilisez un outil de synchronisation de fichiers qui "
"se désynchronise, il peut y avoir des fichiers dans le dossier de "
"stockage du projet qui ne sont pas suivis dans le fichier de base du "
@@ -107,33 +107,33 @@ msgstr "Fichier de verrouillage du projet"
#: ../../source/more/handling_errors.rst:43
msgid ""
"To prevent data loss caused by file conflicts when novelWriter projects "
"To prevent data loss caused by file conflicts when UmbraEdit projects "
"are synchronised via file synchronisation tools, a project lockfile is "
"written to the project storage folder when a project is open. If you try "
"to open a project that already has such a file present, you will be "
"presented with a warning, and some information about where else "
"novelWriter thinks the project is also open. You will be given the "
"UmbraEdit thinks the project is also open. You will be given the "
"option to ignore this warning, and continue opening the project at your "
"own risk."
msgstr ""
"Pour éviter la perte de données causée par des conflits de fichiers "
"lorsque les projets novelWriter sont synchronisés via des outils de "
"lorsque les projets UmbraEdit sont synchronisés via des outils de "
"synchronisation de fichiers, un fichier de verrouillage de projet est "
"écrit dans le dossier de stockage du projet lorsqu'un projet est ouvert. "
"Si vous essayez d'ouvrir un projet dans lequel un tel fichier est déjà "
"présent, vous recevrez un avertissement et des informations sur "
"l'endroit où novelWriter pense que le projet est également ouvert. Vous "
"l'endroit où UmbraEdit pense que le projet est également ouvert. Vous "
"aurez la possibilité d'ignorer cet avertissement et de continuer à "
"ouvrir le projet à vos risques et périls."
#: ../../source/more/handling_errors.rst:52
msgid ""
"If, for some reason, novelWriter or your computer crashes, the lock file "
"If, for some reason, UmbraEdit or your computer crashes, the lock file "
"may remain even if there are no other instances keeping the project "
"open. In such a case it is safe to ignore the lock file warning when re-"
"opening the project."
msgstr ""
"Si, pour une raison quelconque, novelWriter ou votre ordinateur tombe en "
"Si, pour une raison quelconque, UmbraEdit ou votre ordinateur tombe en "
"panne, le fichier de verrouillage peut subsister même si aucune autre "
"instance ne maintient le projet ouvert. Dans ce cas, il est prudent "
"d'ignorer l'avertissement relatif au fichier de verrouillage lors de la "
@@ -146,7 +146,7 @@ msgid ""
"to cause inconsistencies and create diverging project files, potentially "
"resulting in loss of data and orphaned files. You are not likely to lose "
"any actual text unless both instances have the same document open in the "
"editor, and novelWriter will try to resolve project inconsistencies the "
"editor, and UmbraEdit will try to resolve project inconsistencies the "
"next time you open the project."
msgstr ""
"Si vous choisissez d'ignorer l'avertissement et de continuer à ouvrir le "
@@ -155,5 +155,5 @@ msgstr ""
"divergents, ce qui peut entraîner une perte de données et des fichiers "
"orphelins. Il est peu probable que vous perdiez du texte à moins que les "
"deux instances aient le même document ouvert dans l'éditeur, et "
"novelWriter essaiera de résoudre les incohérences du projet la prochaine "
"UmbraEdit essaiera de résoudre les incohérences du projet la prochaine "
"fois que vous l'ouvrirez."

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-29 11:21+0200\n"
@@ -27,13 +27,13 @@ msgstr "Modifications du format des projets"
#: ../../source/more/project_format.rst:7
msgid ""
"Most of the changes to the file formats over the history of novelWriter "
"Most of the changes to the file formats over the history of UmbraEdit "
"have no impact on the user side of things. The project files are "
"generally updated automatically. However, some of the changes require "
"minor actions from the user."
msgstr ""
"La plupart des modifications apportées aux formats de fichiers au cours "
"de l'histoire de novelWriter n'ont pas d'impact sur l'utilisateur. Les "
"de l'histoire de UmbraEdit n'ont pas d'impact sur l'utilisateur. Les "
"fichiers de projet sont généralement mis à jour automatiquement. "
"Cependant, certains changements nécessitent des actions mineures de la "
"part de l'utilisateur."
@@ -58,14 +58,14 @@ msgstr ""
#: ../../source/more/project_format.rst:18
msgid ""
"When you update a project from one format version to the next, the "
"project can no longer be opened by a version of novelWriter prior to the "
"project can no longer be opened by a version of UmbraEdit prior to the "
"version where the new file format was introduced. You will get a "
"notification about any updates to your project file format and will have "
"the option to decline the upgrade."
msgstr ""
"Lorsque vous mettez à jour un projet d'une version de format à la "
"suivante, le projet ne peut plus être ouvert par une version de "
"novelWriter antérieure à la version où le nouveau format de fichier a "
"UmbraEdit antérieure à la version où le nouveau format de fichier a "
"été introduit. Vous recevrez une notification concernant toute mise à "
"jour du format de fichier de votre projet et vous aurez la possibilité "
"de refuser la mise à jour."
@@ -75,10 +75,10 @@ msgid "Format 1.5 Changes"
msgstr "Format 1.5 Modifications"
#: ../../source/more/project_format.rst:29
msgid "This project format was introduced in novelWriter version 2.0 RC 2."
msgid "This project format was introduced in UmbraEdit version 2.0 RC 2."
msgstr ""
"Ce format de projet a été introduit dans la version 2.0 RC 2 de "
"novelWriter."
"UmbraEdit."
#: ../../source/more/project_format.rst:31
msgid ""
@@ -106,12 +106,12 @@ msgstr "Format 1.4 Modifications"
#: ../../source/more/project_format.rst:43
msgid ""
"This project format was introduced in novelWriter version 2.0 RC 1. "
"This project format was introduced in UmbraEdit version 2.0 RC 1. "
"Since this was a release candidate, it is unlikely that your project "
"uses it, but it may be the case if you've installed a pre-release."
msgstr ""
"Ce format de projet a été introduit dans la version 2.0 RC 1 de "
"novelWriter. Comme il s'agissait d'une version candidate, il est peu "
"UmbraEdit. Comme il s'agissait d'une version candidate, il est peu "
"probable que votre projet l'utilise, mais c'est peut-être le cas si vous "
"avez installé une préversion."
@@ -133,9 +133,9 @@ msgid "Format 1.3 Changes"
msgstr "Format 1.3 Modifications"
#: ../../source/more/project_format.rst:57
msgid "This project format was introduced in novelWriter version 1.5."
msgid "This project format was introduced in UmbraEdit version 1.5."
msgstr ""
"Ce format de projet a été introduit dans la version 1.5 de novelWriter."
"Ce format de projet a été introduit dans la version 1.5 de UmbraEdit."
#: ../../source/more/project_format.rst:59
msgid ""
@@ -238,9 +238,9 @@ msgid "Format 1.2 Changes"
msgstr "Format 1.2 Modifications"
#: ../../source/more/project_format.rst:96
msgid "This project format was introduced in novelWriter version 0.10."
msgid "This project format was introduced in UmbraEdit version 0.10."
msgstr ""
"Ce format de projet a été introduit dans la version 0.10 de novelWriter."
"Ce format de projet a été introduit dans la version 0.10 de UmbraEdit."
#: ../../source/more/project_format.rst:98
msgid ""
@@ -257,18 +257,18 @@ msgid "Format 1.1 Changes"
msgstr "Format 1.1 Modifications"
#: ../../source/more/project_format.rst:107
msgid "This project format was introduced in novelWriter version 0.7."
msgid "This project format was introduced in UmbraEdit version 0.7."
msgstr ""
"Ce format de projet a été introduit dans la version 0.7 de novelWriter."
"Ce format de projet a été introduit dans la version 0.7 de UmbraEdit."
#: ../../source/more/project_format.rst:109
msgid ""
"With this format, the ``content`` folder was introduced in the project "
"storage. Previously, all novelWriter documents were saved in a series of "
"storage. Previously, all UmbraEdit documents were saved in a series of "
"folders numbered from ``data_0`` to ``data_f``."
msgstr ""
"Avec ce format, le dossier ``content`` a été introduit dans le stockage "
"du projet. Auparavant, tous les documents de novelWriter étaient "
"du projet. Auparavant, tous les documents de UmbraEdit étaient "
"sauvegardés dans une série de dossiers numérotés de ``data_0`` à "
"``data_f``."

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-28 23:17+0200\n"
@@ -27,13 +27,13 @@ msgstr "Notes typographiques"
#: ../../source/more/typography.rst:12
msgid ""
"novelWriter has some support for typographical symbols that are not usually "
"UmbraEdit has some support for typographical symbols that are not usually "
"easily available in many text editors. This includes for instance the "
"proper unicode quotation marks, dashes, ellipsis, thin spaces, etc. All "
"these symbols are available from the **Insert** menu, and via keyboard "
"shortcuts. See :ref:`docs_features_shortcuts_insert`."
msgstr ""
"novelWriter prend en charge certains symboles typographiques qui ne sont "
"UmbraEdit prend en charge certains symboles typographiques qui ne sont "
"généralement pas disponibles dans de nombreux éditeurs de texte. Cela "
"inclut par exemple les guillemets unicode, les tirets, les ellipses, les "
"espaces fins, etc. Tous ces symboles sont disponibles dans le menu "
@@ -42,11 +42,11 @@ msgstr ""
#: ../../source/more/typography.rst:17
msgid ""
"This chapter provides some additional information on how novelWriter "
"This chapter provides some additional information on how UmbraEdit "
"handles these symbols."
msgstr ""
"Ce chapitre fournit des informations supplémentaires sur la manière dont "
"novelWriter gère ces symboles."
"UmbraEdit gère ces symboles."
#: ../../source/more/typography.rst:21
msgid "Dashes and Ellipsis"

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-29 11:25+0200\n"
@@ -27,11 +27,11 @@ msgstr "Emplacement des fichiers"
#: ../../source/technical/locations.rst:9
msgid ""
"novelWriter will create a few files on your system outside of the "
"UmbraEdit will create a few files on your system outside of the "
"application folder itself. These file locations are described in this "
"chapter."
msgstr ""
"novelWriter créera quelques fichiers sur votre système en dehors du "
"UmbraEdit créera quelques fichiers sur votre système en dehors du "
"dossier de l'application elle-même. L'emplacement de ces fichiers est "
"décrit dans ce chapitre."
@@ -41,13 +41,13 @@ msgstr "Configuration"
#: ../../source/technical/locations.rst:18
msgid ""
"The general configuration of novelWriter, including everything that is "
"The general configuration of UmbraEdit, including everything that is "
"in **Preferences**, is saved in one central configuration file. The "
"location of this file depends on your operating system. The system paths "
"are provided by the Qt QStandardPaths_ class and its ``ConfigLocation`` "
"value."
msgstr ""
"La configuration générale de novelWriter, y compris tout ce qui se "
"La configuration générale de UmbraEdit, y compris tout ce qui se "
"trouve dans les **Préférences**, est enregistrée dans un fichier de "
"configuration central. L'emplacement de ce fichier dépend de votre "
"système d'exploitation. Les chemins d'accès au système sont fournis par "
@@ -59,19 +59,19 @@ msgid "The standard paths are:"
msgstr "Les chemins standard sont les suivants :"
#: ../../source/technical/locations.rst:24
msgid "Linux: ``~/.config/novelwriter/novelwriter.conf``"
msgstr "Linux : ``~/.config/novelwriter/novelwriter.conf``"
msgid "Linux: ``~/.config/umbraedit/umbraedit.conf``"
msgstr "Linux : ``~/.config/umbraedit/umbraedit.conf``"
#: ../../source/technical/locations.rst:25
msgid "MacOS: ``~/Library/Preferences/novelwriter/novelwriter.conf``"
msgstr "MacOS: ``~/Library/Preferences/novelwriter/novelwriter.conf``"
msgid "MacOS: ``~/Library/Preferences/umbraedit/umbraedit.conf``"
msgstr "MacOS: ``~/Library/Preferences/umbraedit/umbraedit.conf``"
#: ../../source/technical/locations.rst:26
msgid ""
"Windows: ``C:\\Users\\<USER>\\AppData\\Local\\novelwriter\\novelwriter."
"Windows: ``C:\\Users\\<USER>\\AppData\\Local\\umbraedit\\umbraedit."
"conf``"
msgstr ""
"Windows: ``C:\\Users\\<USER>\\AppData\\Local\\novelwriter\\novelwriter."
"Windows: ``C:\\Users\\<USER>\\AppData\\Local\\umbraedit\\umbraedit."
"conf``"
#: ../../source/technical/locations.rst:28
@@ -101,13 +101,13 @@ msgstr "Données d'application"
#: ../../source/technical/locations.rst:41
msgid ""
"novelWriter also stores a bit of data that is generated by the user's "
"UmbraEdit also stores a bit of data that is generated by the user's "
"actions. This includes the list of recent projects form the **Welcome** "
"dialog. Custom themes should also be saved here. The system paths are "
"provided by the Qt QStandardPaths_ class and its ``AppDataLocation`` "
"value."
msgstr ""
"novelWriter stocke également un certain nombre de données générées par "
"UmbraEdit stocke également un certain nombre de données générées par "
"les actions de l'utilisateur. Cela inclut la liste des projets récents "
"de la boîte de dialogue **Bienvenue**. Les thèmes personnalisés "
"devraient également être sauvegardés ici. Les chemins d'accès au système "
@@ -115,16 +115,16 @@ msgstr ""
"``AppDataLocation``."
#: ../../source/technical/locations.rst:47
msgid "Linux: ``~/.local/share/novelwriter/``"
msgstr "Linux: ``~/.local/share/novelwriter/``"
msgid "Linux: ``~/.local/share/umbraedit/``"
msgstr "Linux: ``~/.local/share/umbraedit/``"
#: ../../source/technical/locations.rst:48
msgid "MacOS: ``~/Library/Application Support/novelwriter/``"
msgstr "MacOS: ``~/Library/Application Support/novelwriter/``"
msgid "MacOS: ``~/Library/Application Support/umbraedit/``"
msgstr "MacOS: ``~/Library/Application Support/umbraedit/``"
#: ../../source/technical/locations.rst:49
msgid "Windows: ``C:\\Users\\<USER>\\AppData\\Roaming\\novelwriter\\``"
msgstr "Windows: ``C:\\Users\\<USER>\\AppData\\Roaming\\novelwriter\\``"
msgid "Windows: ``C:\\Users\\<USER>\\AppData\\Roaming\\umbraedit\\``"
msgstr "Windows: ``C:\\Users\\<USER>\\AppData\\Roaming\\umbraedit\\``"
#: ../../source/technical/locations.rst:58
msgid "The Application Data location also holds several folders:"

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-29 11:39+0200\n"
@@ -27,11 +27,11 @@ msgstr "Exécuter depuis la source"
#: ../../source/technical/source.rst:11
msgid ""
"This chapter describes various ways of running novelWriter directly from "
"This chapter describes various ways of running UmbraEdit directly from "
"the source code, and how to build the various components like the "
"translation files and documentation."
msgstr ""
"Ce chapitre décrit les différentes façons d'exécuter novelWriter "
"Ce chapitre décrit les différentes façons d'exécuter UmbraEdit "
"directement à partir du code source, et comment construire les "
"différents composants tels que les fichiers de traduction et la "
"documentation."
@@ -50,12 +50,12 @@ msgstr ""
#: ../../source/technical/source.rst:20
msgid ""
"Most of the custom commands for building packages of novelWriter, or "
"Most of the custom commands for building packages of UmbraEdit, or "
"building assets, are contained in the ``pkgutils.py`` script in the root "
"of the source code. You can list the available commands by running:"
msgstr ""
"La plupart des commandes personnalisées pour construire des paquets de "
"novelWriter, ou pour construire des actifs, sont contenues dans le "
"UmbraEdit, ou pour construire des actifs, sont contenues dans le "
"script ``pkgutils.py`` à la racine du code source. Vous pouvez lister "
"les commandes disponibles en lançant :"
@@ -65,12 +65,12 @@ msgstr "Dépendances"
#: ../../source/technical/source.rst:34
msgid ""
"novelWriter has been designed to rely on as few dependencies as "
"UmbraEdit has been designed to rely on as few dependencies as "
"possible. Only the Python wrapper for the Qt GUI libraries is required. "
"The package for spell checking is optional, but recommended. Everything "
"else is handled with standard Python libraries."
msgstr ""
"novelWriter a été conçu pour s'appuyer sur le moins de dépendances "
"UmbraEdit a été conçu pour s'appuyer sur le moins de dépendances "
"possible. Seul le wrapper Python pour les bibliothèques Qt GUI est "
"nécessaire. Le paquetage pour la vérification orthographique est "
"optionnel, mais recommandé. Tout le reste est géré par les bibliothèques "
@@ -79,10 +79,10 @@ msgstr ""
#: ../../source/technical/source.rst:38
msgid ""
"The following Python packages are needed to run all features of "
"novelWriter:"
"UmbraEdit:"
msgstr ""
"Les paquets Python suivants sont nécessaires pour exécuter toutes les "
"fonctionnalités de novelWriter :"
"fonctionnalités de UmbraEdit :"
#: ../../source/technical/source.rst:40
msgid "``PyQt6`` – needed for connecting with the Qt6 libraries."
@@ -119,13 +119,13 @@ msgstr ""
msgid ""
"On Linux distros, the Qt library is usually split up into multiple "
"packages. In some cases, secondary dependencies may not be installed "
"automatically. For novelWriter, the library files for rendering the SVG "
"automatically. For UmbraEdit, the library files for rendering the SVG "
"icons may be left out and needs to be installed manually. This is the "
"case on for instance Arch Linux."
msgstr ""
"Sur les distributions Linux, la bibliothèque Qt est généralement divisée "
"en plusieurs paquets. Dans certains cas, des dépendances secondaires "
"peuvent ne pas être installées automatiquement. Pour novelWriter, les "
"peuvent ne pas être installées automatiquement. Pour UmbraEdit, les "
"fichiers de la bibliothèque pour le rendu des icônes SVG peuvent être "
"omis et doivent être installés manuellement. C'est le cas, par exemple, "
"sous Arch Linux."
@@ -136,11 +136,11 @@ msgstr "Compiler et installer à partir des sources"
#: ../../source/technical/source.rst:66
msgid ""
"If you want to install novelWriter directly from the source available on "
"If you want to install UmbraEdit directly from the source available on "
"GitHub_, you must first build the package using the Python Packaging "
"Authority's build tool. It can be installed with:"
msgstr ""
"Si vous souhaitez installer novelWriter directement à partir des sources "
"Si vous souhaitez installer UmbraEdit directement à partir des sources "
"disponibles sur GitHub_, vous devez d'abord construire le paquet à "
"l'aide de l'outil de construction de la Python Packaging Authority. Il "
"peut être installé avec :"
@@ -154,10 +154,10 @@ msgstr ""
#: ../../source/technical/source.rst:79
msgid ""
"With the tool installed, run the following command from the root of the "
"novelWriter source code:"
"UmbraEdit source code:"
msgstr ""
"Une fois l'outil installé, exécutez la commande suivante à partir de la "
"racine du code source de novelWriter :"
"racine du code source de UmbraEdit :"
#: ../../source/technical/source.rst:85
msgid ""
@@ -176,17 +176,17 @@ msgstr "Création des fichiers de traduction"
#: ../../source/technical/source.rst:99
msgid ""
"If you installed novelWriter from a package, the translation files "
"should be pre-built and included. If you're running novelWriter from the "
"If you installed UmbraEdit from a package, the translation files "
"should be pre-built and included. If you're running UmbraEdit from the "
"source code, you will need to generate the files yourself. The files you "
"need will be written to the ``novelwriter/assets/i18n`` folder, and will "
"need will be written to the ``umbraedit/assets/i18n`` folder, and will "
"have the ``.qm`` file extension."
msgstr ""
"Si vous avez installé novelWriter à partir d'un paquetage, les fichiers "
"Si vous avez installé UmbraEdit à partir d'un paquetage, les fichiers "
"de traduction devraient être préconstruits et inclus. Si vous exécutez "
"novelWriter à partir du code source, vous devrez générer les fichiers "
"UmbraEdit à partir du code source, vous devrez générer les fichiers "
"vous-même. Les fichiers dont vous avez besoin seront écrits dans le "
"dossier ``novelwriter/assets/i18n``, et auront l'extension ``.qm``."
"dossier ``umbraedit/assets/i18n``, et auront l'extension ``.qm``."
#: ../../source/technical/source.rst:104
msgid "You can build the ``.qm`` files with:"
@@ -203,12 +203,12 @@ msgstr ""
#: ../../source/technical/source.rst:115
msgid ""
"If you want to improve novelWriter with translation files for another "
"If you want to improve UmbraEdit with translation files for another "
"language, or update an existing translation, instructions for how to "
"contribute can be found in the ``README.md`` file in the ``i18n`` folder "
"of the source code."
msgstr ""
"Si vous voulez améliorer novelWriter avec des fichiers de traduction "
"Si vous voulez améliorer UmbraEdit avec des fichiers de traduction "
"pour une autre langue, ou mettre à jour une traduction existante, les "
"instructions pour contribuer peuvent être trouvées dans le fichier "
"``README.md`` dans le dossier ``i18n`` du code source."
@@ -270,13 +270,13 @@ msgstr ""
msgid ""
"This will build the English documentation as a PDF using LaTeX. The file "
"will then be copied into the assets folder and made available in the "
"**Help** menu in novelWriter. Replace ``en`` with ``all`` to build for "
"**Help** menu in UmbraEdit. Replace ``en`` with ``all`` to build for "
"all languages. The Sphinx build system has a few extra dependencies when "
"building the PDF. Please check the `Sphinx Docs`_ for more details."
msgstr ""
"Cela permettra de créer la documentation anglaise au format PDF en "
"utilisant LaTeX. Le fichier sera ensuite copié dans le dossier assets et "
"rendu disponible dans le menu **Aide** de novelWriter. Remplacez ``en`` "
"rendu disponible dans le menu **Aide** de UmbraEdit. Remplacez ``en`` "
"par ``all`` pour construire pour toutes les langues. Le système de "
"construction Sphinx a quelques dépendances supplémentaires lors de la "
"construction du PDF. Veuillez consulter la `Docs Sphinx`_ pour plus de "

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-29 11:33+0200\n"
@@ -27,10 +27,10 @@ msgstr "Comment les données sont stockées"
#: ../../source/technical/storage.rst:9
msgid ""
"This chapter contains details of how novelWriter stores and handles the "
"This chapter contains details of how UmbraEdit stores and handles the "
"project data."
msgstr ""
"Ce chapitre contient des détails sur la manière dont novelWriter stocke "
"Ce chapitre contient des détails sur la manière dont UmbraEdit stocke "
"et gère les données du projet."
#: ../../source/technical/storage.rst:13
@@ -39,12 +39,12 @@ msgstr "Présentation générale"
#: ../../source/technical/storage.rst:15
msgid ""
"The files of a novelWriter project are stored in a dedicated project "
"The files of a UmbraEdit project are stored in a dedicated project "
"folder. The project structure is kept in a file at the root of this "
"folder called ``nwProject.nwx``. All the document files and associated "
"meta data are stored in other folders below the project folder."
msgstr ""
"Les fichiers d'un projet novelWriter sont stockés dans un dossier dédié "
"Les fichiers d'un projet UmbraEdit sont stockés dans un dossier dédié "
"au projet. La structure du projet est conservée dans un fichier à la "
"racine de ce dossier appelé ``nwProject.nwx``. Tous les fichiers de "
"documents et les métadonnées associées sont stockés dans d'autres "
@@ -95,13 +95,13 @@ msgstr ""
#: ../../source/technical/storage.rst:35
msgid ""
"Since novelWriter has to keep track of a bunch of files and folders when "
"Since UmbraEdit has to keep track of a bunch of files and folders when "
"a project is open, it may not run well on some virtual file systems. A "
"file or folder must be accessible with exactly the path it was saved or "
"created with. An example where this is not the case is the way Google "
"Drive is mapped on Linux Gnome desktops using gvfs/gio."
msgstr ""
"Comme novelWriter doit garder la trace d'un grand nombre de fichiers et "
"Comme UmbraEdit doit garder la trace d'un grand nombre de fichiers et "
"de dossiers lorsqu'un projet est ouvert, il peut ne pas fonctionner "
"correctement sur certains systèmes de fichiers virtuels. Un fichier ou "
"un dossier doit être accessible avec exactement le chemin avec lequel il "
@@ -128,13 +128,13 @@ msgstr ""
msgid ""
"Editing text files in the ``content`` folder is less risky as these are "
"just plain text. Editing the main project XML file, however, may make "
"the project file unreadable and you may crash novelWriter and lose "
"the project file unreadable and you may crash UmbraEdit and lose "
"project structure information and project settings."
msgstr ""
"L'édition de fichiers texte dans le dossier ``content`` est moins "
"risquée car il s'agit de texte simple. Cependant, éditer le fichier XML "
"du projet principal peut rendre le fichier du projet illisible et vous "
"risquez de planter novelWriter et de perdre les informations sur la "
"risquez de planter UmbraEdit et de perdre les informations sur la "
"structure et les paramètres du projet."
#: ../../source/technical/storage.rst:53
@@ -143,16 +143,16 @@ msgstr "Structure du projet"
#: ../../source/technical/storage.rst:55
msgid ""
"All novelWriter files are written with utf-8 encoding. Since Python "
"All UmbraEdit files are written with utf-8 encoding. Since Python "
"automatically converts Unix line endings to Windows line endings on "
"Windows systems, novelWriter does not make any adaptations to the "
"Windows systems, UmbraEdit does not make any adaptations to the "
"formatting on Windows systems. This is handled entirely by the Python "
"standard library. Python also handles this when working on the same "
"files on both Windows and Unix-based operating systems."
msgstr ""
"Tous les fichiers novelWriter sont écrits avec l'encodage utf-8. Comme "
"Tous les fichiers UmbraEdit sont écrits avec l'encodage utf-8. Comme "
"Python convertit automatiquement les fins de ligne Unix en fins de ligne "
"Windows sur les systèmes Windows, novelWriter ne fait aucune adaptation "
"Windows sur les systèmes Windows, UmbraEdit ne fait aucune adaptation "
"au formatage sur les systèmes Windows. Ceci est entièrement géré par la "
"bibliothèque standard de Python. Python s'en occupe également lorsqu'il "
"travaille sur les mêmes fichiers sur les systèmes d'exploitation Windows "
@@ -165,7 +165,7 @@ msgstr "Fichier principal du projet"
#: ../../source/technical/storage.rst:65
msgid ""
"The project itself requires a dedicated folder for storing its files, "
"where novelWriter will create its own \"file system\" where the "
"where UmbraEdit will create its own \"file system\" where the "
"project's folder and file hierarchy is described in a project XML file. "
"This is the main project file in the project's root folder with the name "
"``nwProject.nwx``. This file also contains all the meta data required "
@@ -173,7 +173,7 @@ msgid ""
"settings."
msgstr ""
"Le projet lui-même nécessite un dossier dédié pour stocker ses fichiers, "
"où novelWriter créera son propre « système de fichiers » où la "
"où UmbraEdit créera son propre « système de fichiers » où la "
"hiérarchie des dossiers et des fichiers du projet est décrite dans un "
"fichier XML du projet. C'est le fichier principal du projet dans le "
"dossier racine du projet avec le nom ``nwProject.nwx``. Ce fichier "
@@ -271,28 +271,28 @@ msgid ""
"editor. The file can in principle be edited in any text editor, and is "
"suitable for diffing and version control if so desired. Just make sure "
"the file remains in utf-8 encoding, otherwise unicode characters may "
"become mangled when the file is opened in novelWriter again."
"become mangled when the file is opened in UmbraEdit again."
msgstr ""
"Chaque fichier de document contient une version en texte brut du texte "
"de l'éditeur. Le fichier peut en principe être édité dans n'importe quel "
"éditeur de texte, et convient pour le diffing et le contrôle de version "
"si on le souhaite. Assurez-vous simplement que le fichier reste en "
"encodage utf-8, sinon les caractères unicode risquent d'être altérés "
"lorsque le fichier est ouvert dans novelWriter."
"lorsque le fichier est ouvert dans UmbraEdit."
#: ../../source/technical/storage.rst:106
msgid ""
"Editing these files is generally not recommended. The reason for this is "
"that the index will not be automatically updated when doing so, which "
"means novelWriter doesn't know you've altered the file. If you *do* edit "
"means UmbraEdit doesn't know you've altered the file. If you *do* edit "
"a file in this manner, you should rebuild the index when you next open "
"the project in novelWriter."
"the project in UmbraEdit."
msgstr ""
"Il est généralement déconseillé de modifier ces fichiers. La raison en "
"est que l'index ne sera pas automatiquement mis à jour, ce qui signifie "
"que novelWriter ne sait pas que vous avez modifié le fichier. Si vous "
"que UmbraEdit ne sait pas que vous avez modifié le fichier. Si vous "
"modifiez un fichier de cette manière, vous devez reconstruire l'index "
"lorsque vous ouvrez le projet dans novelWriter."
"lorsque vous ouvrez le projet dans UmbraEdit."
#: ../../source/technical/storage.rst:111
#, python-format
@@ -304,7 +304,7 @@ msgid ""
"as it contains the document label and the document class and layout. The "
"lines can be deleted without any consequences to the rest of the content "
"of the file, and will be added back the next time the document is saved "
"in novelWriter."
"in UmbraEdit."
msgstr ""
"Les premières lignes du fichier peuvent contenir des métadonnées "
"commençant par les caractères ``%%~``. Ces lignes sont principalement là "
@@ -314,7 +314,7 @@ msgstr ""
"l'étiquette du document ainsi que la classe et la mise en page du "
"document. Les lignes peuvent être supprimées sans conséquences pour le "
"reste du contenu du fichier, et seront ajoutées la prochaine fois que le "
"document sera sauvegardé dans novelWriter."
"document sera sauvegardé dans UmbraEdit."
#: ../../source/technical/storage.rst:120
msgid "The File Saving Process"
@@ -345,7 +345,7 @@ msgid ""
"number of files. The meta folder contains semi-important files. That is, "
"they can be lost with only minor impact to the project. All files in "
"this folder are JSON or JSON Lines files, although some other files may "
"remain from earlier versions of novelWriter as they haven't all been "
"remain from earlier versions of UmbraEdit as they haven't all been "
"JSON files in the past."
msgstr ""
"Le dossier du projet contient un sous-dossier nommé ``meta``, contenant "
@@ -353,7 +353,7 @@ msgstr ""
"semi-importants. C'est-à-dire qu'ils peuvent être perdus avec un impact "
"mineur sur le projet. Tous les fichiers de ce dossier sont des fichiers "
"JSON ou JSON Lines, bien que certains autres fichiers puissent provenir "
"de versions antérieures de novelWriter, car ils n'ont pas tous été des "
"de versions antérieures de UmbraEdit, car ils n'ont pas tous été des "
"fichiers JSON dans le passé."
#: ../../source/technical/storage.rst:136
@@ -374,12 +374,12 @@ msgstr "L'index des projets"
msgid ""
"Between writing sessions, the project index is saved in a JSON file in "
"``meta/index.json``. This file is not critical. If it is lost, it can be "
"completely rebuilt from within novelWriter from the **Tools** menu."
"completely rebuilt from within UmbraEdit from the **Tools** menu."
msgstr ""
"Entre les sessions d'écriture, l'index du projet est sauvegardé dans un "
"fichier JSON dans ``meta/index.json``. Ce fichier n'est pas critique. "
"S'il est perdu, il peut être complètement reconstruit à partir de "
"novelWriter dans le menu **Outils**."
"UmbraEdit dans le menu **Outils**."
#: ../../source/technical/storage.rst:147
msgid ""
@@ -399,17 +399,17 @@ msgid ""
"The integrity of the index is checked when the file is loaded. It is "
"possible to corrupt the index if the file is manually edited and "
"manipulated, so the check is important to avoid sudden crashes of "
"novelWriter. If the file contains errors, novelWriter will automatically "
"build it anew. If the check somehow fails and novelWriter keeps "
"UmbraEdit. If the file contains errors, UmbraEdit will automatically "
"build it anew. If the check somehow fails and UmbraEdit keeps "
"crashing, you can delete the file manually and rebuild the index. If "
"this too fails, you have likely encountered a bug."
msgstr ""
"L'intégrité de l'index est vérifiée lorsque le fichier est chargé. Il "
"est possible de corrompre l'index si le fichier est édité et manipulé "
"manuellement, c'est pourquoi cette vérification est importante pour "
"éviter les plantages soudains de novelWriter. Si le fichier contient des "
"erreurs, novelWriter le reconstruira automatiquement. Si la vérification "
"échoue d'une manière ou d'une autre et que novelWriter continue à se "
"éviter les plantages soudains de UmbraEdit. Si le fichier contient des "
"erreurs, UmbraEdit le reconstruira automatiquement. Si la vérification "
"échoue d'une manière ou d'une autre et que UmbraEdit continue à se "
"bloquer, vous pouvez supprimer le fichier manuellement et reconstruire "
"l'index. Si cela échoue également, vous avez probablement rencontré un "
"bogue."

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-29 11:41+0200\n"
@@ -27,10 +27,10 @@ msgstr "Exécution des tests"
#: ../../source/technical/tests.rst:7
msgid ""
"The novelWriter source code is well covered by tests. The test framework used "
"The UmbraEdit source code is well covered by tests. The test framework used "
"for the development is ``pytest`` with the use of an extension for Qt."
msgstr ""
"Le code source de novelWriter est bien couvert par des tests. Le cadre de test "
"Le code source de UmbraEdit est bien couvert par des tests. Le cadre de test "
"utilisé pour le développement est ``pytest`` avec l'utilisation d'une extension "
"pour Qt."
@@ -66,12 +66,12 @@ msgstr ""
#: ../../source/technical/tests.rst:33
msgid ""
"Since several of the tests involve opening up the novelWriter GUI, you may want "
"Since several of the tests involve opening up the UmbraEdit GUI, you may want "
"to disable the GUI for the duration of the test run. Moving your mouse while "
"the tests are running may otherwise interfere with the execution of some tests."
msgstr ""
"Puisque plusieurs des tests impliquent l'ouverture de l'interface graphique de "
"novelWriter, vous pouvez désactiver l'interface graphique pour la durée de "
"UmbraEdit, vous pouvez désactiver l'interface graphique pour la durée de "
"l'exécution du test. Si vous déplacez votre souris pendant que les tests sont "
"en cours d'exécution, vous risquez d'interférer avec l'exécution de certains "
"tests."
@@ -110,23 +110,23 @@ msgstr ""
#: ../../source/technical/tests.rst:57
msgid ""
"You can also run tests per subpackage of novelWriter with the ``-m`` command. "
"You can also run tests per subpackage of UmbraEdit with the ``-m`` command. "
"The available subpackage groups are ``base``, ``core``, and ``gui``. Consider "
"for instance:"
msgstr ""
"Vous pouvez aussi lancer des tests par sous-paquet de novelWriter avec la "
"Vous pouvez aussi lancer des tests par sous-paquet de UmbraEdit avec la "
"commande ``-m``. Les groupes de sous-paquetages disponibles sont ``base``, "
"``core``, et ``gui``. Prenons un exemple :"
#: ../../source/technical/tests.rst:64
msgid ""
"This will only run the tests of the \"core\" package, that is, all the classes "
"that deal with the project data of a novelWriter project. The \"gui\" tests, "
"that deal with the project data of a UmbraEdit project. The \"gui\" tests, "
"likewise, will run the tests for the GUI components, and the \"base\" tests "
"cover the bits in-between."
msgstr ""
"Ceci n'exécutera que les tests du paquet « core », c'est-à-dire toutes les "
"classes qui traitent les données d'un projet novelWriter. Les tests « gui », de "
"classes qui traitent les données d'un projet UmbraEdit. Les tests « gui », de "
"même, exécuteront les tests des composants de l'interface graphique, et les "
"tests « base » couvriront les éléments intermédiaires."

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-28 16:04+0200\n"
@@ -27,12 +27,12 @@ msgstr "Mise en forme avancée"
#: ../../source/usage/advanced_formatting.rst:7
msgid ""
"Standard Markdown formatting is somewhat limited, so novelWriter has some "
"Standard Markdown formatting is somewhat limited, so UmbraEdit has some "
"additional formatting codes for special use cases. These codes are all based "
"on brackets, and some allow an additional value to be set after a colon."
msgstr ""
"Le formatage Markdown standard est quelque peu limité, c'est pourquoi "
"novelWriter dispose de quelques codes de formatage supplémentaires pour des "
"UmbraEdit dispose de quelques codes de formatage supplémentaires pour des "
"cas d'utilisation particuliers. Ces codes sont tous basés sur les crochets, et "
"certains permettent de définir une valeur supplémentaire après les deux points."
@@ -262,12 +262,12 @@ msgstr "Insérer le nombre de mots dans le texte"
#: ../../source/usage/advanced_formatting.rst:106
msgid ""
"The cover page of a manuscript normally has the word count stated on it. Any "
"statistics value collected by novelWriter can be inserted into any document "
"statistics value collected by UmbraEdit can be inserted into any document "
"using a special shortcode. You can insert the code for any of the available "
"statistics values from the **Insert** menu under **Word/Character Count**."
msgstr ""
"La page de couverture d'un manuscrit indique normalement le nombre de mots. "
"Toute valeur statistique collectée par novelWriter peut être insérée dans "
"Toute valeur statistique collectée par UmbraEdit peut être insérée dans "
"n'importe quel document à l'aide d'un shortcode spécial. Vous pouvez insérer "
"le code pour n'importe quelle valeur statistique disponible dans le menu "
"**Insérer** sous **Nombre de mots/caractères**."

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-28 14:45+0200\n"
@@ -28,11 +28,11 @@ msgstr "Alignement et indentation"
#: ../../source/usage/alignment_and_indent.rst:7
msgid ""
"The Markdown standard doesn't have commands for aligning text, so "
"novelWriter adds its own syntax for this. It also has syntax for "
"UmbraEdit adds its own syntax for this. It also has syntax for "
"indentation, which is similar to Markdown block quotes."
msgstr ""
"Le standard Markdown n'a pas de commandes pour aligner le texte, donc "
"novelWriter ajoute sa propre syntaxe pour cela. Il dispose également "
"UmbraEdit ajoute sa propre syntaxe pour cela. Il dispose également "
"d'une syntaxe pour l'indentation, qui est similaire aux guillemets de "
"bloc de Markdown."

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-28 10:44+0200\n"
@@ -27,11 +27,11 @@ msgstr "Mise en forme de base"
#: ../../source/usage/basic_formatting.rst:9
msgid ""
"The basic text formatting syntax of novelWriter is based on Markdown_. "
"The basic text formatting syntax of UmbraEdit is based on Markdown_. "
"It is only a subset of the Markdown syntax though. Lists, images, and "
"links are not supported."
msgstr ""
"La syntaxe de formatage de texte de base de novelWriter est basée sur "
"La syntaxe de formatage de texte de base de UmbraEdit est basée sur "
"Markdown_. Il ne s'agit toutefois que d'un sous-ensemble de la syntaxe "
"Markdown. Les listes, les images et les liens ne sont pas pris en charge."
@@ -88,10 +88,10 @@ msgstr ":bdg-danger:`Incorrect`"
#: ../../source/usage/basic_formatting.rst:50
msgid ""
"If you do as shown in the \"Incorrect\" example, novelWriter will "
"If you do as shown in the \"Incorrect\" example, UmbraEdit will "
"understand this as a single paragraph with two lines."
msgstr ""
"Si vous procédez comme dans l'exemple « Incorrect », novelWriter "
"Si vous procédez comme dans l'exemple « Incorrect », UmbraEdit "
"comprendra qu'il s'agit d'un seul paragraphe de deux lignes."
#: ../../source/usage/basic_formatting.rst:57
@@ -137,14 +137,14 @@ msgid ""
"emphasis, although Markdown generally also supports ``__`` for strong "
"and ``*`` for emphasis. However, since the differentiation makes the "
"highlighting and conversion significantly simpler and faster, in "
"novelWriter this is a rule, not just a recommendation."
"UmbraEdit this is a rule, not just a recommendation."
msgstr ""
"Dans les guides Markdown, il est souvent recommandé de différencier le "
"gras de l'italique en utilisant ``**`` pour le gras et ``_`` pour "
"l'italique, bien que Markdown supporte également ``__`` pour le gras et "
"``*`` pour l'italique. Cependant, puisque la différenciation rend la "
"mise en évidence et la conversion significativement plus simple et plus "
"rapide, dans novelWriter il s'agit d'une règle et non d'une simple "
"rapide, dans UmbraEdit il s'agit d'une règle et non d'une simple "
"recommandation."
#: ../../source/usage/basic_formatting.rst:76
@@ -206,13 +206,13 @@ msgstr ""
#: ../../source/usage/basic_formatting.rst:92
msgid ""
"novelWriter supports standard escape syntax for the emphasis markup "
"UmbraEdit supports standard escape syntax for the emphasis markup "
"characters in case the editor misunderstands your intended usage of "
"them. That is, ``\\*``, ``\\_`` and ``\\~`` will generate a plain ``*``, "
"``_`` and ``~``, respectively, without interpreting them as part of the "
"markup."
msgstr ""
"novelWriter supporte la syntaxe d'échappement standard pour les "
"UmbraEdit supporte la syntaxe d'échappement standard pour les "
"caractères d'accentuation au cas où l'éditeur ne comprendrait pas "
"l'usage que vous voulez en faire. C'est-à-dire que ``\\*``, ``\\_`` et "
"``\\~`` généreront respectivement un ``*``, ``_`` et ``~``, sans les "

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-29 14:27+0200\n"
@@ -27,12 +27,12 @@ msgstr "Chapitres et scènes"
#: ../../source/usage/chapters_and_scenes.rst:9
msgid ""
"Since novelWriter uses a plain text format, the structure of your novel must "
"Since UmbraEdit uses a plain text format, the structure of your novel must "
"follow a certain set of simple rules. For documents in a **Novel** type root "
"folder, it is the heading that determines if the document is a chapter or a "
"scene."
msgstr ""
"Comme novelWriter utilise un format de texte brut, la structure de votre "
"Comme UmbraEdit utilise un format de texte brut, la structure de votre "
"roman doit suivre un certain nombre de règles simples. Pour les documents "
"situés dans un dossier racine de type **Roman**, c'est le titre qui détermine "
"s'il s'agit d'un chapitre ou d'une scène."

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-28 11:20+0200\n"
@@ -66,11 +66,11 @@ msgstr ""
#: ../../source/usage/comments.rst:24
msgid ""
"For the most part, novelWriter completely ignores these comments. They "
"For the most part, UmbraEdit completely ignores these comments. They "
"are not included in your word or character counts either, and are only "
"displayed in the document viewer panel if you enable them."
msgstr ""
"La plupart du temps, novelWriter ignore complètement ces commentaires. "
"La plupart du temps, UmbraEdit ignore complètement ces commentaires. "
"Ils ne sont pas non plus inclus dans le décompte des mots ou des "
"caractères, et ne sont affichés dans le panneau de visualisation du "
"document que si vous les activez."
@@ -223,13 +223,13 @@ msgstr "Texte ignoré"
msgid ""
"If you want to completely ignore some of the text in your documents, but "
"are not ready to delete it, you can add ``%~`` before the text paragraph "
"or line. This will cause novelWriter to skip the text entirely when "
"or line. This will cause UmbraEdit to skip the text entirely when "
"generating previews or building manuscripts."
msgstr ""
"Si vous souhaitez ignorer complètement une partie du texte dans vos "
"documents, mais que vous n'êtes pas prêt à l'effacer, vous pouvez "
"ajouter ``%~`` devant le paragraphe ou la ligne de texte. Cela permettra "
"à novelWriter d'ignorer complètement le texte lors de la génération "
"à UmbraEdit d'ignorer complètement le texte lors de la génération "
"d'aperçus ou de la construction de manuscrits."
#: ../../source/usage/comments.rst:150

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-28 16:13+0200\n"
@@ -30,13 +30,13 @@ msgid ""
"Front and back matter documents are documents that go before and after "
"your main story text. They can include pages like your cover page, "
"content tables, prologues, epilogues, etc. These special pages and "
"sections are supported to some extent by novelWriter."
"sections are supported to some extent by UmbraEdit."
msgstr ""
"Les documents de début et de fin sont des documents qui précèdent et "
"suivent le texte principal de l'histoire. Il peut s'agir de pages comme "
"la page de couverture, de tables des matières, de prologues, "
"d'épilogues, etc. Ces pages et sections spéciales sont prises en charge "
"dans une certaine mesure par novelWriter."
"dans une certaine mesure par UmbraEdit."
#: ../../source/usage/front_back_matter.rst:15
msgid "The Title Page"
@@ -73,10 +73,10 @@ msgstr ":bdg-info:`Exemple`"
#: ../../source/usage/front_back_matter.rst:27
msgid ""
"This is the title page novelWriter generates automatically for a new "
"This is the title page UmbraEdit generates automatically for a new "
"project as of version 2.6:"
msgstr ""
"Il s'agit de la page de titre que novelWriter génère automatiquement "
"Il s'agit de la page de titre que UmbraEdit génère automatiquement "
"pour un nouveau projet à partir de la version 2.6 :"
#: ../../source/usage/front_back_matter.rst:43

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-28 16:22+0200\n"
@@ -28,10 +28,10 @@ msgstr "Trucs et astuces"
#: ../../source/usage/howto.rst:9
msgid ""
"This is a list of hopefully helpful little tips on how to get the most out of "
"novelWriter."
"UmbraEdit."
msgstr ""
"Il s'agit d'une liste de petits conseils, que nous espérons utiles, sur la "
"façon de tirer le meilleur parti de novelWriter."
"façon de tirer le meilleur parti de UmbraEdit."
#: ../../source/usage/howto.rst:12
msgid ""
@@ -122,12 +122,12 @@ msgstr "Comment créer un tableau ?"
#: ../../source/usage/howto.rst:52
msgid ""
"The formatting tools available in novelWriter don't allow for complex "
"The formatting tools available in UmbraEdit don't allow for complex "
"structures like tables. However, the editor does render tabs in a similar way "
"that regular word processors do. You can set the width of a tab in "
"**Preferences**."
msgstr ""
"Les outils de formatage disponibles dans novelWriter ne permettent pas de créer "
"Les outils de formatage disponibles dans UmbraEdit ne permettent pas de créer "
"des structures complexes telles que des tableaux. Cependant, l'éditeur rend les "
"tabulations de la même manière que les traitements de texte classiques. Vous "
"pouvez définir la largeur d'un onglet dans les **Préférences**."
@@ -271,10 +271,10 @@ msgstr "Comment convertir mon projet au format yWriter ?"
#: ../../source/usage/howto.rst:116
msgid ""
"There is a tool available that lets you convert a `yWriter <http://spacejock."
"com/yWriter7.html>`_ project to a novelWriter project, and vice versa."
"com/yWriter7.html>`_ project to a UmbraEdit project, and vice versa."
msgstr ""
"Il existe un outil qui vous permet de convertir un projet `yWriter <http://"
"spacejock.com/yWriter7.html>`_ en un projet novelWriter, et vice versa."
"spacejock.com/yWriter7.html>`_ en un projet UmbraEdit, et vice versa."
#: ../../source/usage/howto.rst:119
msgid ""

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-27 21:24+0200\n"
@@ -27,13 +27,13 @@ msgstr "Introduction"
#: ../../source/usage/introduction.rst:9
msgid ""
"In a nutshell, novelWriter is a plain text editor that lets you organise "
"In a nutshell, UmbraEdit is a plain text editor that lets you organise "
"one or more novels and associated notes as many smaller documents. You "
"can at any time generate standard document formats from these plain text "
"documents. Whether it is an outline of your story, a draft, a complete "
"manuscript, or even a collection of your character notes or other notes."
msgstr ""
"En bref, novelWriter est un éditeur de texte brut qui vous permet "
"En bref, UmbraEdit est un éditeur de texte brut qui vous permet "
"d'organiser un ou plusieurs romans et les notes associées sous la forme "
"de plusieurs petits documents. Vous pouvez à tout moment générer des "
"formats de documents standard à partir de ces documents en texte brut. "
@@ -60,14 +60,14 @@ msgid ""
"text. At the very least you need emphasis. Most people are familiar with "
"adding emphasis using ``_underscores_`` and ``**asterisks**``. This "
"formatting standard comes from Markdown_ and is supported by "
"novelWriter. It also uses Markdown formatting for defining document "
"UmbraEdit. It also uses Markdown formatting for defining document "
"headings, which is how you distinguish between chapters and scenes."
msgstr ""
"Bien entendu, vous avez probablement besoin d'une sorte de mise en forme "
"minimale pour votre texte. Au minimum, vous avez besoin d'une mise en "
"valeur. La plupart des gens sont familiers avec l'ajout d'emphase en "
"utilisant ``_underscores_`` et ``**asterisks**``. Ce standard de "
"formatage vient de Markdown_ et est supporté par novelWriter. Il utilise "
"formatage vient de Markdown_ et est supporté par UmbraEdit. Il utilise "
"également le formatage Markdown pour définir les titres du document, ce "
"qui permet de faire la distinction entre les chapitres et les scènes."
@@ -91,13 +91,13 @@ msgstr "Ajout de métadonnées"
#: ../../source/usage/introduction.rst:35
msgid ""
"In addition to the body text of your story, novelWriter allows you to "
"In addition to the body text of your story, UmbraEdit allows you to "
"enter some additional meta data into your text documents to indicate "
"things like which characters are present in a chapter or scene, whose "
"point of view we're seeing, what location the events take place in, and "
"so on."
msgstr ""
"Outre le corps du texte de votre histoire, novelWriter vous permet de "
"Outre le corps du texte de votre histoire, UmbraEdit vous permet de "
"saisir des métadonnées supplémentaires dans vos documents texte afin "
"d'indiquer les personnages présents dans un chapitre ou une scène, le "
"point de vue de chacun, le lieu où se déroulent les événements, etc."
@@ -132,26 +132,26 @@ msgstr "Restrictions"
#: ../../source/usage/introduction.rst:49
msgid ""
"Please keep in mind that novelWriter is designed for writing fiction, so "
"Please keep in mind that UmbraEdit is designed for writing fiction, so "
"the formatting features available are limited to those relevant for this "
"purpose. It is *not* suitable for technical writing. It is also *not* a "
"full-featured Markdown editor."
msgstr ""
"Gardez à l'esprit que novelWriter est conçu pour l'écriture de fictions, "
"Gardez à l'esprit que UmbraEdit est conçu pour l'écriture de fictions, "
"et que les fonctions de formatage disponibles sont donc limitées à "
"celles qui sont pertinentes à cette fin. Il n'est *pas* adapté à la "
"rédaction technique. Ce n'est pas non plus un éditeur Markdown complet."
#: ../../source/usage/introduction.rst:53
msgid ""
"In addition, novelWriter is not intended as a tool for organising "
"In addition, UmbraEdit is not intended as a tool for organising "
"research for writing, and therefore lacks formatting features you may "
"need for this purpose. The notes feature in is mainly intended for "
"character profiles and plot outlines. It is recommended to use a proper "
"note-taking tool for research. This is anyway more practical as you may "
"use the same research for multiple projects."
msgstr ""
"En outre, novelWriter n'est pas conçu comme un outil d'organisation de "
"En outre, UmbraEdit n'est pas conçu comme un outil d'organisation de "
"la recherche en vue de l'écriture, et ne dispose donc pas des fonctions "
"de formatage dont vous pourriez avoir besoin à cette fin. La fonction de "
"notes est principalement destinée aux profils de personnages et aux "

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-28 14:11+0200\n"
@@ -115,11 +115,11 @@ msgstr ""
msgid ""
"The intended usage of each type of root folder is listed below. However, "
"aside from the **Novel** folder, no restrictions are applied by "
"novelWriter on what you put in them. You can use them however you want."
"UmbraEdit on what you put in them. You can use them however you want."
msgstr ""
"L'utilisation prévue de chaque type de dossier racine est indiquée ci-"
"dessous. Cependant, à part le dossier **Roman**, aucune restriction "
"n'est appliquée par novelWriter sur ce que vous mettez dans ces "
"n'est appliquée par UmbraEdit sur ce que vous mettez dans ces "
"dossiers. Vous pouvez les utiliser comme bon vous semble."
#: ../../source/usage/organising_project.rst:46
@@ -294,11 +294,11 @@ msgstr "**Poubelle**"
msgid ""
"This folder behaves like you expect. Anything dropped in here can be "
"deleted permanently from the project, and the content doesn't show up "
"anywhere else in novelWriter."
"anywhere else in UmbraEdit."
msgstr ""
"Ce dossier se comporte comme vous vous y attendez. Tout ce qui y est "
"déposé peut être supprimé définitivement du projet, et son contenu "
"n'apparaît nulle part ailleurs dans novelWriter."
"n'apparaît nulle part ailleurs dans UmbraEdit."
#: ../../source/usage/organising_project.rst:102
msgid ""
@@ -340,11 +340,11 @@ msgstr ""
#: ../../source/usage/organising_project.rst:120
msgid ""
"When novelWriter is processing the documents in a project, like for "
"When UmbraEdit is processing the documents in a project, like for "
"instance when you create a manuscript from it, these folders are "
"ignored. Only the order of the documents themselves matter."
msgstr ""
"Lorsque novelWriter traite les documents d'un projet, comme par exemple "
"Lorsque UmbraEdit traite les documents d'un projet, comme par exemple "
"lorsque vous créez un manuscrit à partir de ce projet, ces dossiers sont "
"ignorés. Seul l'ordre des documents eux-mêmes compte."
@@ -391,13 +391,13 @@ msgid ""
"These are the documents that make up your story or novel. They can only "
"be added under a root folder of type **Novel**. You can technically also "
"add them under **Archive**. See :ref:`docs_usage_headings` for more "
"details on how these documents are handled by novelWriter."
"details on how these documents are handled by UmbraEdit."
msgstr ""
"Ce sont les documents qui constituent votre histoire ou votre roman. Ils "
"ne peuvent être ajoutés que dans un dossier racine de type **Roman**. "
"Techniquement, vous pouvez aussi les ajouter dans **Archive**. Voir :ref:"
"`docs_usage_headings` pour plus de détails sur la façon dont ces "
"documents sont gérés par novelWriter."
"documents sont gérés par UmbraEdit."
#: ../../source/usage/organising_project.rst:145
msgid "**Project Notes**"
@@ -502,13 +502,13 @@ msgstr "Importance et état"
msgid ""
"Each document or folder in your project can have either a \"Status\" or "
"\"Importance\" label set. These are labels and icons that you control "
"and define yourself, and novelWriter doesn't use them for anything. You "
"and define yourself, and UmbraEdit doesn't use them for anything. You "
"can modify these labels in **Project Settings**. See :ref:"
"`docs_ui_projects_settings_status` for more details."
msgstr ""
"Chaque document ou dossier de votre projet peut avoir une étiquette « "
"Statut » ou « Importance ». Ce sont des étiquettes et des icônes que "
"vous contrôlez et définissez vous-même, et novelWriter ne les utilise "
"vous contrôlez et définissez vous-même, et UmbraEdit ne les utilise "
"pas pour quoi que ce soit. Vous pouvez modifier ces étiquettes dans "
"**Paramètres du projet**. Voir :ref:`docs_ui_projects_settings_status` "
"pour plus de détails."

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-28 14:07+0200\n"
@@ -27,27 +27,27 @@ msgstr "Étiquettes et références"
#: ../../source/usage/tags_and_references.rst:7
msgid ""
"One of the core features of novelWriter is its **Tags and References** "
"system. This is perhaps one of the features that makes novelWriter "
"One of the core features of UmbraEdit is its **Tags and References** "
"system. This is perhaps one of the features that makes UmbraEdit "
"different from other similar applications. It is therefore not always "
"obvious to new users how this is supposed to work."
msgstr ""
"L'une des principales caractéristiques de novelWriter est son système "
"L'une des principales caractéristiques de UmbraEdit est son système "
"d'**Étiquettes et de Références**. C'est peut-être l'une des "
"caractéristiques qui différencie novelWriter d'autres applications "
"caractéristiques qui différencie UmbraEdit d'autres applications "
"similaires. Il n'est donc pas toujours évident pour les nouveaux "
"utilisateurs de comprendre comment cela est censé fonctionner."
#: ../../source/usage/tags_and_references.rst:11
msgid ""
"In novelWriter there are no forms or tables to fill in to define "
"In UmbraEdit there are no forms or tables to fill in to define "
"characters, locations or other elements of your story. Instead, you "
"create documents in one of the root folders for notes. Within these "
"documents you can set **tags**, like for instance for your main "
"character. If you then want to annotate a scene with this character as "
"its point-of-view, you create a **reference** to the tag."
msgstr ""
"Dans novelWriter, il n'y a pas de formulaires ou de tableaux à remplir "
"Dans UmbraEdit, il n'y a pas de formulaires ou de tableaux à remplir "
"pour définir les personnages, les lieux ou d'autres éléments de votre "
"histoire. Au lieu de cela, vous créez des documents dans l'un des "
"dossiers racine pour les notes. Dans ces documents, vous pouvez définir "
@@ -76,12 +76,12 @@ msgstr "Comment utiliser les étiquettes"
#: ../../source/usage/tags_and_references.rst:30
msgid ""
"The structure of your novelWriter project is inferred from the headings "
"The structure of your UmbraEdit project is inferred from the headings "
"within the documents, not the documents themselves. See :ref:"
"`docs_usage_headings` for more details. Therefore, metadata is also "
"associated with headings, and not the documents themselves."
msgstr ""
"La structure de votre projet novelWriter est déduite des titres des "
"La structure de votre projet UmbraEdit est déduite des titres des "
"documents, et non des documents eux-mêmes. Voir :ref:"
"`docs_usage_headings` pour plus de détails. Par conséquent, les "
"métadonnées sont également associées aux titres, et non aux documents eux-"
@@ -89,10 +89,10 @@ msgstr ""
#: ../../source/usage/tags_and_references.rst:34
msgid ""
"A \"tag\" in novelWriter is a word or phrase that you define as belonging "
"A \"tag\" in UmbraEdit is a word or phrase that you define as belonging "
"to a heading. Tags are set by using the ``@tag`` keyword."
msgstr ""
"Une « étiquette » dans novelWriter est un mot ou une phrase que vous "
"Une « étiquette » dans UmbraEdit est un mot ou une phrase que vous "
"définissez comme appartenant à une rubrique. Les étiquettes sont définies "
"en utilisant le mot-clé ``@tag``."
@@ -179,10 +179,10 @@ msgstr ""
#: ../../source/usage/tags_and_references.rst:65
msgid ""
"The tag is the only part of notes that novelWriter uses. The rest of the "
"The tag is the only part of notes that UmbraEdit uses. The rest of the "
"document content is there for you to use in whatever way you wish."
msgstr ""
"L'étiquette est la seule partie des notes que novelWriter utilise. Le "
"L'étiquette est la seule partie des notes que UmbraEdit utilise. Le "
"reste du contenu du document peut être utilisé comme bon vous semble."
#: ../../source/usage/tags_and_references.rst:70

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-28 17:39+0200\n"

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-28 16:42+0200\n"
@@ -27,11 +27,11 @@ msgstr "La fenêtre principale"
#: ../../source/user_interface/main_window.rst:7
msgid ""
"The user interface of novelWriter is intended to be as minimalistic as "
"The user interface of UmbraEdit is intended to be as minimalistic as "
"practically possible, while at the same time provide useful features "
"needed for writing a novel."
msgstr ""
"L'interface utilisateur de novelWriter se veut aussi minimaliste que "
"L'interface utilisateur de UmbraEdit se veut aussi minimaliste que "
"possible, tout en offrant les fonctionnalités utiles à l'écriture d'un "
"roman."
@@ -367,12 +367,12 @@ msgstr "La colonne **Titre** ne peut pas être désactivée ou déplacée."
#: ../../source/user_interface/main_window.rst:148
msgid ""
"The information viewed in the outline is based on the project index. "
"While novelWriter does its best to keep the index up to date when "
"While UmbraEdit does its best to keep the index up to date when "
"contents change, you can always rebuild it manually by pressing :kbd:"
"`F9` if something isn't right."
msgstr ""
"Les informations affichées dans le plan sont basées sur l'index du "
"projet. Bien que novelWriter fasse de son mieux pour maintenir l'index à "
"projet. Bien que UmbraEdit fasse de son mieux pour maintenir l'index à "
"jour lorsque le contenu change, vous pouvez toujours le reconstruire "
"manuellement en appuyant sur :kbd:`F9` si quelque chose ne va pas."
@@ -457,11 +457,11 @@ msgstr "Thèmes"
#: ../../source/user_interface/main_window.rst:189
msgid ""
"By default, novelWriter uses a light colour theme. You can also choose "
"By default, UmbraEdit uses a light colour theme. You can also choose "
"between a standard dark theme that have neutral colours, or a series of "
"other included themes, from **Preferences**."
msgstr ""
"Par défaut, novelWriter utilise un thème de couleur claire. Vous pouvez "
"Par défaut, UmbraEdit utilise un thème de couleur claire. Vous pouvez "
"également choisir un thème sombre standard avec des couleurs neutres, ou "
"une série d'autres thèmes inclus, dans les **Préférences**."

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-28 21:08+0200\n"
@@ -573,8 +573,8 @@ msgstr ""
"d'impression et que vous imprimez au format PDF."
#: ../../source/user_interface/manuscript.rst:245
msgid "novelWriter HTML"
msgstr "novelWriter HTML"
msgid "UmbraEdit HTML"
msgstr "UmbraEdit HTML"
#: ../../source/user_interface/manuscript.rst:246
msgid ""
@@ -595,16 +595,16 @@ msgstr "Markdown standard/étendu"
#: ../../source/user_interface/manuscript.rst:251
msgid ""
"The Markdown format comes in both Standard and Extended flavour. The *only* "
"difference in terms of novelWriter functionality is the support for strike "
"difference in terms of UmbraEdit functionality is the support for strike "
"through text, which is not supported by the Standard flavour."
msgstr ""
"Le format Markdown existe en version standard et en version étendue. La "
"*seule* différence en termes de fonctionnalité de novelWriter est la prise en "
"*seule* différence en termes de fonctionnalité de UmbraEdit est la prise en "
"charge du texte barré, qui n'est pas prise en charge par la version standard."
#: ../../source/user_interface/manuscript.rst:255
msgid "novelWriter Markup"
msgstr "novelWriter Markup"
msgid "UmbraEdit Markup"
msgstr "UmbraEdit Markup"
#: ../../source/user_interface/manuscript.rst:256
msgid ""
@@ -612,14 +612,14 @@ msgid ""
"filters into a ``.txt`` file. The documents are stacked together in the order "
"they appear in the project tree, with comments, tags, etc. included if they "
"are selected. This is a useful format for exporting the project for later "
"import back into novelWriter."
"import back into UmbraEdit."
msgstr ""
"Il s'agit simplement d'une concaténation des documents du projet sélectionnés "
"par les filtres dans un fichier ``.txt``. Les documents sont empilés dans "
"l'ordre où ils apparaissent dans l'arborescence du projet, avec les "
"commentaires, les balises, etc. inclus s'ils sont sélectionnés. C'est un "
"format utile pour exporter le projet et le réimporter plus tard dans "
"novelWriter."
"UmbraEdit."
#: ../../source/user_interface/manuscript.rst:263
msgid "Microsoft Word and PDF output options were added."
@@ -631,12 +631,12 @@ msgstr "Formats supplémentaires"
#: ../../source/user_interface/manuscript.rst:269
msgid ""
"In addition to the above document formats, the novelWriter HTML and Markup "
"In addition to the above document formats, the UmbraEdit HTML and Markup "
"formats can also be wrapped in a JSON file. These files will have a meta data "
"entry and a body entry."
msgstr ""
"En plus des formats de document ci-dessus, les formats HTML et Markup de "
"novelWriter peuvent également être enveloppés dans un fichier JSON. Ces "
"UmbraEdit peuvent également être enveloppés dans un fichier JSON. Ces "
"fichiers auront une entrée pour les métadonnées et une entrée pour le corps du "
"texte."

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-28 17:22+0200\n"
@@ -27,14 +27,14 @@ msgstr "Gestion des projets"
#: ../../source/user_interface/projects.rst:7
msgid ""
"Your text in novelWriter is organised into projects. Each project is "
"Your text in UmbraEdit is organised into projects. Each project is "
"meant to contain one novel and associated notes. If you have multiple "
"novels in a series, with the same characters and shared notes, it is "
"also possible to keep all of them in the same project by creating "
"multiple **Novel** root folders. See :ref:`docs_usage_project_roots` for "
"more details."
msgstr ""
"Votre texte dans novelWriter est organisé en projets. Chaque projet est "
"Votre texte dans UmbraEdit est organisé en projets. Chaque projet est "
"censé contenir un roman et les notes associées. Si vous avez plusieurs "
"romans dans une série, avec les mêmes personnages et des notes "
"partagées, il est également possible de les garder tous dans le même "
@@ -51,22 +51,22 @@ msgid ""
"**Create or Open Project**. This will open the **Welcome** dialog, where "
"you can select the :guilabel:`New` button that will assist you in "
"creating a project. This dialog is also displayed when you start "
"novelWriter."
"UmbraEdit."
msgstr ""
"Vous pouvez créer un nouveau projet à partir du menu **Projet** en "
"sélectionnant **Créer ou ouvrir un projet**. Cela ouvrira la boîte de "
"dialogue **Accueil**, où vous pourrez sélectionner le bouton :guilabel:"
"`Nouveau` qui vous aidera à créer un projet. Cette boîte de dialogue "
"s'affiche également lorsque vous démarrez novelWriter."
"s'affiche également lorsque vous démarrez UmbraEdit."
#: ../../source/user_interface/projects.rst:22
msgid ""
"A novelWriter project requires a dedicated folder for storing its files "
"A UmbraEdit project requires a dedicated folder for storing its files "
"on the local file system. If you're interested in the details of how "
"projects are stored, you can have a look at the section :ref:"
"`docs_technical_storage`."
msgstr ""
"Un projet novelWriter nécessite un dossier dédié pour stocker ses "
"Un projet UmbraEdit nécessite un dossier dédié pour stocker ses "
"fichiers sur le système de fichiers local. Si vous êtes intéressé par "
"les détails de la façon dont les projets sont stockés, vous pouvez "
"consulter la section :ref:`docs_technical_storage`."
@@ -226,7 +226,7 @@ msgstr ""
msgid ""
"These labels are there purely for your convenience, and you are not "
"required to use them for any other features to work. No other part of "
"novelWriter accesses this information. The intention is to use these to "
"UmbraEdit accesses this information. The intention is to use these to "
"indicate at what stage of completion each novel document is, or how "
"important the content of a note is to the story. You don't have to use "
"them this way, that's just what they were intended for, but you can make "
@@ -234,7 +234,7 @@ msgid ""
msgstr ""
"Ces étiquettes sont là uniquement pour votre commodité, et vous n'êtes "
"pas obligé de les utiliser pour que d'autres fonctionnalités "
"fonctionnent. Aucune autre partie de novelWriter n'accède à ces "
"fonctionnent. Aucune autre partie de UmbraEdit n'accède à ces "
"informations. L'intention est de les utiliser pour indiquer à quel stade "
"d'achèvement se trouve chaque document de roman, ou à quel point le "
"contenu d'une note est important pour l'histoire. Vous n'êtes pas obligé "
@@ -312,12 +312,12 @@ msgstr "Sauvegarde"
#: ../../source/user_interface/projects.rst:129
msgid ""
"An automatic backup system is built into novelWriter. In order to use "
"An automatic backup system is built into UmbraEdit. In order to use "
"it, a backup path to where the backup files are to be stored must be "
"provided in **Preferences**. The path defaults to a folder named "
"\"Backups\" in your home directory."
msgstr ""
"Un système de sauvegarde automatique est intégré à novelWriter. Pour "
"Un système de sauvegarde automatique est intégré à UmbraEdit. Pour "
"l'utiliser, un chemin d'accès à l'endroit où les fichiers de sauvegarde "
"doivent être stockés doit être indiqué dans les **Préférences**. Le "
"chemin d'accès est par défaut un dossier nommé « Backups » dans votre "

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-28 17:44+0200\n"

View File

@@ -1,13 +1,13 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2025
# This file is distributed under the same license as the novelWriter
# This file is distributed under the same license as the UmbraEdit
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: novelWriter 2.7rc1\n"
"Project-Id-Version: UmbraEdit 2.7rc1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-27 19:59+0200\n"
"PO-Revision-Date: 2025-05-28 21:12+0200\n"
@@ -70,13 +70,13 @@ msgstr "Temps d'inactivité"
#: ../../source/user_interface/statistics.rst:23
msgid ""
"The log file stores how much of the session time was spent idle. The "
"definition of idle here is that the novelWriter main window loses focus, "
"definition of idle here is that the UmbraEdit main window loses focus, "
"or the user hasn't made any changes to the currently open document in "
"five minutes. You can change the number of minutes in **Preferences**."
msgstr ""
"Le fichier journal enregistre la durée de la session passée en mode "
"inactif. La définition de l'inactivité ici est que la fenêtre principale "
"de novelWriter perd le focus, ou que l'utilisateur n'a pas fait de "
"de UmbraEdit perd le focus, ou que l'utilisateur n'a pas fait de "
"changements dans le document ouvert depuis cinq minutes. Vous pouvez "
"modifier le nombre de minutes dans les **Préférences**."

View File

@@ -4,7 +4,7 @@
Custom Themes
*************
There are a few ways you can customise novelWriter yourself. Currently, you can relatively easily
There are a few ways you can customise UmbraEdit yourself. Currently, you can relatively easily
add new GUI themes. You can also add new icon themes, although this is not as straightforward.
@@ -21,15 +21,15 @@ In order to make your own versions, first copy one of the existing files to your
modify it as you like.
The existing colour themes are stored in
`novelwriter/assets/themes <https://github.com/saga-soft/novelWriter/tree/main/novelwriter/assets/themes>`_.
`umbraedit/assets/themes <https://github.com/saga-soft/UmbraEdit/tree/main/umbraedit/assets/themes>`_.
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 **Preferences**.
For novelWriter to be able to locate the custom theme files, you must copy them to the
For UmbraEdit to be able to locate the custom theme files, you must copy them to the
:ref:`docs_technical_locations_data` location in your home or user area. There should be a folder
there named ``themes`` for colour themes. These folders are created the first time you start
novelWriter.
UmbraEdit.
Once the files are copied there, they should show up in **Preferences** with the label you
set as ``name`` inside the file.
@@ -53,7 +53,7 @@ A colour theme ``.toml`` file consists of the following settings:
mode = "light"
author = "Veronica Berglyd Olsen"
credit = "Veronica Berglyd Olsen"
url = "https://github.com/saga-soft/novelWriter"
url = "https://github.com/saga-soft/UmbraEdit"
[Base]
base = "#fcfcfc"
@@ -156,7 +156,7 @@ Theme Sections
.. _ColorRole: https://doc.qt.io/qt-6/qpalette.html#ColorRole-enum
The theme file is made up of different sections depending on what part of novelWriter the theme
The theme file is made up of different sections depending on what part of UmbraEdit the theme
affects.
.. csv-table:: Theme Sections Overview
@@ -239,14 +239,14 @@ Icon themes are *not* straightforward to add, but if you want to make the effort
describes how to do it.
The existing icon themes are stored in
`novelwriter/assets/icons <https://github.com/saga-soft/novelWriter/tree/main/novelwriter/assets/icons>`_.
`umbraedit/assets/icons <https://github.com/saga-soft/UmbraEdit/tree/main/umbraedit/assets/icons>`_.
As with colour themes, remember to 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 **Preferences**.
For novelWriter to be able to locate the custom theme files, you must copy them to the
For UmbraEdit to be able to locate the custom theme files, you must copy them to the
:ref:`docs_technical_locations_data` location in your home or user area. There should be a folder
there ``icons`` for icon themes. These folders are created the first time you start novelWriter.
there ``icons`` for icon themes. These folders are created the first time you start UmbraEdit.
The Icons File Format
@@ -281,14 +281,14 @@ format with entries on the form ``section:key = value``.
icon:cls_trash = <svg ...>
icon:cls_world = <svg ...>
The icon keys are associated with icon placement locations inside novelWriter, and the template for
The icon keys are associated with icon placement locations inside UmbraEdit, and the template for
them is defined in the script that generates the default icon themes.
The script can be found under
`utils/icon_themes.py <https://github.com/saga-soft/novelWriter/blob/main/utils/icon_themes.py>`__
`utils/icon_themes.py <https://github.com/saga-soft/UmbraEdit/blob/main/utils/icon_themes.py>`__
in the source code.
This file includes all the code needed to generate the themes that are included in novelWriter. The
This file includes all the code needed to generate the themes that are included in UmbraEdit. The
icon keys are mapped to icon keys from the specific themes in JSON files in the ``icon_themes``
folder next to the script. This is the recommended way to generate these themes. Doing it manually
is not advisable.
@@ -303,7 +303,7 @@ in-line SVG XML block. The XML must fit on one line and obey the following rules
#. It must be single colour, that is, the fill colour attribute must be able to colourise the
entire icon.
#. The fill colour attribute *must* be defined and must be set to: ``fill="#000000"``. This value
is replaced by the relevant theme colour when the icon is processed in novelWriter.
is replaced by the relevant theme colour when the icon is processed in UmbraEdit.
.. versionadded:: 2.7
The icon theme files were added. Previously, icons were stored as individual SVG files with a

View File

@@ -15,7 +15,7 @@ Linux and MacOS
On Linux and MacOS, you generally only have to install hunspell, aspell or myspell dictionaries on
your system like you do for other applications. See your distro or OS documentation for how to do
this. These dictionaries should show up as available spell check languages in novelWriter.
this. These dictionaries should show up as available spell check languages in UmbraEdit.
Windows

View File

@@ -4,7 +4,7 @@
Handling Errors
***************
In case something goes wrong, novelWriter has a few built-in features to reduce the chance your
In case something goes wrong, UmbraEdit has a few built-in features to reduce the chance your
work is lost. In case of a crash, it will also try to save whatever changes you have made before
exiting, if this is at all possible.
@@ -17,7 +17,7 @@ you're working on is actually at a risk of losing data in the event of a crash.
Recovered Documents
===================
If novelWriter crashes or otherwise exits without saving the project state, or if you're using a
If UmbraEdit crashes or otherwise exits without saving the project state, or if you're using a
file synchronisation tool that runs out of sync, there may be files in the project storage folder
that aren't tracked in the core project file. These files, when discovered, are recovered and added
back into the project when a project is opened.
@@ -40,16 +40,16 @@ be named after its internal key, which is a string of characters and numbers.
Project Lockfile
================
To prevent data loss caused by file conflicts when novelWriter projects are synchronised via file
To prevent data loss caused by file conflicts when UmbraEdit projects are synchronised via file
synchronisation tools, a project lockfile is written to the project storage folder when a project
is open. If you try to open a project that already has such a file present, you will be presented
with a warning, and some information about where else novelWriter thinks the project is also open.
with a warning, and some information about where else UmbraEdit thinks the project is also open.
You will be given the option to ignore this warning, and continue opening the project at your own
risk.
.. note::
If, for some reason, novelWriter or your computer crashes, the lock file may remain even if
If, for some reason, UmbraEdit or your computer crashes, the lock file may remain even if
there are no other instances keeping the project open. In such a case it is safe to ignore the
lock file warning when re-opening the project.
@@ -59,4 +59,4 @@ risk.
the project are in fact open, you are likely to cause inconsistencies and create diverging
project files, potentially resulting in loss of data and orphaned files. You are not likely to
lose any actual text unless both instances have the same document open in the editor, and
novelWriter will try to resolve project inconsistencies the next time you open the project.
UmbraEdit will try to resolve project inconsistencies the next time you open the project.

View File

@@ -4,7 +4,7 @@
Project Format Changes
**********************
Most of the changes to the file formats over the history of novelWriter have no impact on the
Most of the changes to the file formats over the history of UmbraEdit have no impact on the
user side of things. The project files are generally updated automatically. However, some of the
changes require minor actions from the user.
@@ -16,7 +16,7 @@ A full project file format specification is available under "More Documents".
.. caution::
When you update a project from one format version to the next, the project can no longer be
opened by a version of novelWriter prior to the version where the new file format was
opened by a version of UmbraEdit prior to the version where the new file format was
introduced. You will get a notification about any updates to your project file format and will
have the option to decline the upgrade.
@@ -26,7 +26,7 @@ A full project file format specification is available under "More Documents".
Format 1.5 Changes
==================
This project format was introduced in novelWriter version 2.0 RC 2.
This project format was introduced in UmbraEdit version 2.0 RC 2.
This is a modification of the 1.4 format. It makes the XML more consistent in that meta data have
been moved to their respective section nodes as attributes, and key/value settings now have a
@@ -40,7 +40,7 @@ automatically the first time a project is loaded. No user action is required.
Format 1.4 Changes
==================
This project format was introduced in novelWriter version 2.0 RC 1. Since this was a release
This project format was introduced in UmbraEdit version 2.0 RC 1. Since this was a release
candidate, it is unlikely that your project uses it, but it may be the case if you've installed a
pre-release.
@@ -54,7 +54,7 @@ automatically the first time a project is loaded. No user action is required.
Format 1.3 Changes
==================
This project format was introduced in novelWriter version 1.5.
This project format was introduced in UmbraEdit version 1.5.
With this format, the number of document layouts was reduced from eight to two. The conversion of
document layouts is performed automatically when the project is opened.
@@ -93,7 +93,7 @@ should be used only a few places in any given project. These are as follows:
Format 1.2 Changes
==================
This project format was introduced in novelWriter version 0.10.
This project format was introduced in UmbraEdit version 0.10.
With this format, the way auto-replace entries were stored in the main project XML file changed.
Conversion from this format is done automatically.
@@ -104,10 +104,10 @@ Conversion from this format is done automatically.
Format 1.1 Changes
==================
This project format was introduced in novelWriter version 0.7.
This project format was introduced in UmbraEdit version 0.7.
With this format, the ``content`` folder was introduced in the project storage. Previously, all
novelWriter documents were saved in a series of folders numbered from ``data_0`` to ``data_f``.
UmbraEdit documents were saved in a series of folders numbered from ``data_0`` to ``data_f``.
It also reduces the number of meta data and cache files. These files are automatically deleted if
an old project is opened. This was also when the Table of Contents file was introduced. Conversion

View File

@@ -9,12 +9,12 @@ Typographical Notes
.. _Quotation Mark: https://en.wikipedia.org/wiki/Quotation_mark
.. _Modifier letter apostrophe: https://en.wikipedia.org/wiki/Modifier_letter_apostrophe
novelWriter has some support for typographical symbols that are not usually easily available in
UmbraEdit has some support for typographical symbols that are not usually easily available in
many text editors. This includes for instance the proper unicode quotation marks, dashes, ellipsis,
thin spaces, etc. All these symbols are available from the **Insert** menu, and via
keyboard shortcuts. See :ref:`docs_features_shortcuts_insert`.
This chapter provides some additional information on how novelWriter handles these symbols.
This chapter provides some additional information on how UmbraEdit handles these symbols.
Dashes and Ellipsis

View File

@@ -6,7 +6,7 @@ File Locations
.. _QStandardPaths: https://doc.qt.io/qt-6/qstandardpaths.html
novelWriter will create a few files on your system outside of the application folder itself. These
UmbraEdit will create a few files on your system outside of the application folder itself. These
file locations are described in this chapter.
@@ -15,15 +15,15 @@ file locations are described in this chapter.
Configuration
=============
The general configuration of novelWriter, including everything that is in **Preferences**, is saved
The general configuration of UmbraEdit, including everything that is in **Preferences**, is saved
in one central configuration file. The location of this file depends on your operating system. The
system paths are provided by the Qt QStandardPaths_ class and its ``ConfigLocation`` value.
The standard paths are:
* Linux: ``~/.config/novelwriter/novelwriter.conf``
* MacOS: ``~/Library/Preferences/novelwriter/novelwriter.conf``
* Windows: ``C:\Users\<USER>\AppData\Local\novelwriter\novelwriter.conf``
* Linux: ``~/.config/umbraedit/umbraedit.conf``
* MacOS: ``~/Library/Preferences/umbraedit/umbraedit.conf``
* Windows: ``C:\Users\<USER>\AppData\Local\umbraedit\umbraedit.conf``
Here, ``~`` corresponds to the user's home directory on Linux and MacOS, and ``<USER>`` is the
user's username on Windows.
@@ -38,15 +38,15 @@ user's username on Windows.
Application Data
================
novelWriter also stores a bit of data that is generated by the user's actions. This includes the
UmbraEdit also stores a bit of data that is generated by the user's actions. This includes the
list of recent projects form the **Welcome** dialog. Custom themes should also be saved here. The
system paths are provided by the Qt QStandardPaths_ class and its ``AppDataLocation`` value.
The standard paths are:
* Linux: ``~/.local/share/novelwriter/``
* MacOS: ``~/Library/Application Support/novelwriter/``
* Windows: ``C:\Users\<USER>\AppData\Roaming\novelwriter\``
* Linux: ``~/.local/share/umbraedit/``
* MacOS: ``~/Library/Application Support/umbraedit/``
* Windows: ``C:\Users\<USER>\AppData\Roaming\umbraedit\``
Here, ``~`` corresponds to the user's home directory on Linux and MacOS, and ``<USER>`` is the
user's username on Windows.

View File

@@ -4,12 +4,12 @@
Running from Source
*******************
.. _GitHub: https://github.com/saga-soft/novelWriter/releases
.. _PyPi: https://pypi.org/project/novelWriter/
.. _GitHub: https://github.com/saga-soft/UmbraEdit/releases
.. _PyPi: https://pypi.org/project/UmbraEdit/
.. _Sphinx Docs: https://www.sphinx-doc.org/
.. _uv: https://docs.astral.sh/uv/
This chapter describes various ways of running novelWriter directly from the source code, and how
This chapter describes various ways of running UmbraEdit directly from the source code, and how
to build the various components like the translation files and documentation.
.. note::
@@ -18,7 +18,7 @@ to build the various components like the translation files and documentation.
now deprecated, but on many systems the command ``python3`` may be needed instead. Likewise,
``pip`` may need to be replaced with ``pip3``.
Most of the custom commands for building packages of novelWriter, or building assets, are contained
Most of the custom commands for building packages of UmbraEdit, or building assets, are contained
in the ``pkgutils.py`` script in the root of the source code. You can list the available commands
by running:
@@ -33,11 +33,11 @@ by running:
Dependencies
============
novelWriter has been designed to rely on as few dependencies as possible. Only the Python wrapper
UmbraEdit has been designed to rely on as few dependencies as possible. Only the Python wrapper
for the Qt GUI libraries is required. The package for spell checking is optional, but recommended.
Everything else is handled with standard Python libraries.
The following Python packages are needed to run all features of novelWriter:
The following Python packages are needed to run all features of UmbraEdit:
* ``PyQt6`` – needed for connecting with the Qt6 libraries.
* ``PyEnchant`` – needed for spell checking (optional).
@@ -45,13 +45,13 @@ The following Python packages are needed to run all features of novelWriter:
If you want spell checking, you must install the ``PyEnchant`` package. The spell check library
must be at least 3.0 to work with Windows. On Linux, 2.0 also works fine.
If you install novelWriter from PyPi, these dependencies should be installed automatically.
If you install UmbraEdit from PyPi, these dependencies should be installed automatically.
You can run novelWriter directly from source with uv_ or another similar tool:
You can run UmbraEdit directly from source with uv_ or another similar tool:
.. code-block:: bash
uv run novelwriter
uv run umbraedit
If you prefer to install dependencies using ``pip``, you must first generate the
``requirements.txt`` file:
@@ -64,7 +64,7 @@ If you prefer to install dependencies using ``pip``, you must first generate the
.. note::
On Linux distros, the Qt library is usually split up into multiple packages. In some cases,
secondary dependencies may not be installed automatically. For novelWriter, the library files
secondary dependencies may not be installed automatically. For UmbraEdit, the library files
for rendering the SVG icons may be left out and needs to be installed manually. This is the
case on for instance Arch Linux.
@@ -74,7 +74,7 @@ If you prefer to install dependencies using ``pip``, you must first generate the
Build and Install from Source
=============================
If you want to install novelWriter directly from the source available on GitHub_, you must first
If you want to install UmbraEdit directly from the source available on GitHub_, you must first
build the package using the Python Packaging Authority's build tool. It can be installed with:
.. code-block:: bash
@@ -87,7 +87,7 @@ On Debian-based systems the tool can also be installed with:
sudo apt install python3-build
With the tool installed, run the following command from the root of the novelWriter source code:
With the tool installed, run the following command from the root of the UmbraEdit source code:
.. code-block:: bash
@@ -99,7 +99,7 @@ different:
.. code-block:: bash
pip install --user dist/novelWriter-2.0.7-py3-none-any.whl
pip install --user dist/UmbraEdit-2.0.7-py3-none-any.whl
.. _docs_technical_source_i18n:
@@ -107,9 +107,9 @@ different:
Building the Translation Files
==============================
If you installed novelWriter from a package, the translation files should be pre-built and
included. If you're running novelWriter from the source code, you will need to generate the files
yourself. The files you need will be written to the ``novelwriter/assets/i18n`` folder, and will
If you installed UmbraEdit from a package, the translation files should be pre-built and
included. If you're running UmbraEdit from the source code, you will need to generate the files
yourself. The files you need will be written to the ``umbraedit/assets/i18n`` folder, and will
have the ``.qm`` file extension.
You can build the ``.qm`` files with:
@@ -123,7 +123,7 @@ needed package is called ``qttools5-dev-tools``.
.. note::
If you want to improve novelWriter with translation files for another language, or update an
If you want to improve UmbraEdit with translation files for another language, or update an
existing translation, instructions for how to contribute can be found in the ``README.md`` file
in the ``i18n`` folder of the source code.
@@ -178,6 +178,6 @@ You can also build a PDF manual from the documentation using the ``pkgutils.py``
python pkgutils.py docs-pdf en
This will build the English documentation as a PDF using LaTeX. The file will then be copied into
the assets folder and made available in the **Help** menu in novelWriter. Replace ``en`` with
the assets folder and made available in the **Help** menu in UmbraEdit. Replace ``en`` with
``all`` to build for all languages. The Sphinx build system has a few extra dependencies when
building the PDF. Please check the `Sphinx Docs`_ for more details.

View File

@@ -6,13 +6,13 @@ How Data is Stored
.. _version control: https://en.wikipedia.org/wiki/Version_control
This chapter contains details of how novelWriter stores and handles the project data.
This chapter contains details of how UmbraEdit stores and handles the project data.
Overview
========
The files of a novelWriter project are stored in a dedicated project folder. The project structure
The files of a UmbraEdit project are stored in a dedicated project folder. The project structure
is kept in a file at the root of this folder called ``nwProject.nwx``. All the document files and
associated meta data are stored in other folders below the project folder.
@@ -32,7 +32,7 @@ well, which makes it easier to track them with version control software.
.. note::
Since novelWriter has to keep track of a bunch of files and folders when a project is open, it
Since UmbraEdit has to keep track of a bunch of files and folders when a project is open, it
may not run well on some virtual file systems. A file or folder must be accessible with exactly
the path it was saved or created with. An example where this is not the case is the way Google
Drive is mapped on Linux Gnome desktops using gvfs/gio.
@@ -46,14 +46,14 @@ well, which makes it easier to track them with version control software.
Editing text files in the ``content`` folder is less risky as these are just plain text. Editing
the main project XML file, however, may make the project file unreadable and you may crash
novelWriter and lose project structure information and project settings.
UmbraEdit and lose project structure information and project settings.
Project Structure
=================
All novelWriter files are written with utf-8 encoding. Since Python automatically converts Unix
line endings to Windows line endings on Windows systems, novelWriter does not make any adaptations
All UmbraEdit files are written with utf-8 encoding. Since Python automatically converts Unix
line endings to Windows line endings on Windows systems, UmbraEdit does not make any adaptations
to the formatting on Windows systems. This is handled entirely by the Python standard library.
Python also handles this when working on the same files on both Windows and Unix-based operating
systems.
@@ -62,7 +62,7 @@ systems.
Main Project File
-----------------
The project itself requires a dedicated folder for storing its files, where novelWriter will create
The project itself requires a dedicated folder for storing its files, where UmbraEdit will create
its own "file system" where the project's folder and file hierarchy is described in a project XML
file. This is the main project file in the project's root folder with the name ``nwProject.nwx``.
This file also contains all the meta data required for the project (except the index data), and a
@@ -101,19 +101,19 @@ using a versioning system.
Each document file contains a plain text version of the text from the editor. The file can in
principle be edited in any text editor, and is suitable for diffing and version control if so
desired. Just make sure the file remains in utf-8 encoding, otherwise unicode characters may
become mangled when the file is opened in novelWriter again.
become mangled when the file is opened in UmbraEdit again.
Editing these files is generally not recommended. The reason for this is that the index will not be
automatically updated when doing so, which means novelWriter doesn't know you've altered the file.
automatically updated when doing so, which means UmbraEdit doesn't know you've altered the file.
If you *do* edit a file in this manner, you should rebuild the index when you next open the project
in novelWriter.
in UmbraEdit.
The first lines of the file may contain some meta data starting with the characters ``%%~``. These
lines are mainly there to restore some information if the file is lost from the main project file,
and the information may be helpful if you do open the file in an external editor as it contains the
document label and the document class and layout. The lines can be deleted without any consequences
to the rest of the content of the file, and will be added back the next time the document is saved
in novelWriter.
in UmbraEdit.
The File Saving Process
@@ -131,7 +131,7 @@ Project Meta Data
The project folder contains a subfolder named ``meta``, containing a number of files. The meta
folder contains semi-important files. That is, they can be lost with only minor impact to the
project. All files in this folder are JSON or JSON Lines files, although some other files may
remain from earlier versions of novelWriter as they haven't all been JSON files in the past.
remain from earlier versions of UmbraEdit as they haven't all been JSON files in the past.
If you use version control software on your project, you can exclude this folder, although you may
want to track the session log file and the custom words list.
@@ -141,7 +141,7 @@ The Project Index
-----------------
Between writing sessions, the project index is saved in a JSON file in ``meta/index.json``.
This file is not critical. If it is lost, it can be completely rebuilt from within novelWriter from
This file is not critical. If it is lost, it can be completely rebuilt from within UmbraEdit from
the **Tools** menu.
The index is maintained and updated whenever a document or note is saved in the editor. It contains
@@ -150,8 +150,8 @@ project, and the word counts within each header section.
The integrity of the index is checked when the file is loaded. It is possible to corrupt the index
if the file is manually edited and manipulated, so the check is important to avoid sudden crashes
of novelWriter. If the file contains errors, novelWriter will automatically build it anew. If the
check somehow fails and novelWriter keeps crashing, you can delete the file manually and rebuild
of UmbraEdit. If the file contains errors, UmbraEdit will automatically build it anew. If the
check somehow fails and UmbraEdit keeps crashing, you can delete the file manually and rebuild
the index. If this too fails, you have likely encountered a bug.

View File

@@ -6,7 +6,7 @@ Running Tests
.. _uv: https://docs.astral.sh/uv/
The novelWriter source code is well covered by tests. The test framework used for the development
The UmbraEdit source code is well covered by tests. The test framework used for the development
is ``pytest`` with the use of an extension for Qt.
@@ -21,7 +21,7 @@ To run the tests, you simply need to execute the following from the root of the
This uses uv_. See below for manually installing dependencies using ``pip``.
Since several of the tests involve opening up the novelWriter GUI, you may want to disable the GUI
Since several of the tests involve opening up the UmbraEdit GUI, you may want to disable the GUI
for the duration of the test run. Moving your mouse while the tests are running may otherwise
interfere with the execution of some tests.
@@ -55,19 +55,19 @@ You can also add coverage report generation. For instance to HTML:
.. code-block:: bash
export QT_QPA_PLATFORM=offscreen pytest -v --cov=novelwriter --cov-report=html
export QT_QPA_PLATFORM=offscreen pytest -v --cov=umbraedit --cov-report=html
Other useful report formats are ``xml``, and ``term`` for terminal output.
You can also run tests per subpackage of novelWriter with the ``-m`` command. The available
You can also run tests per subpackage of UmbraEdit with the ``-m`` command. The available
subpackage groups are ``base``, ``core``, and ``gui``. Consider for instance:
.. code-block:: bash
export QT_QPA_PLATFORM=offscreen pytest -v --cov=novelwriter --cov-report=html -m core
export QT_QPA_PLATFORM=offscreen pytest -v --cov=umbraedit --cov-report=html -m core
This will only run the tests of the "core" package, that is, all the classes that deal with the
project data of a novelWriter project. The "gui" tests, likewise, will run the tests for the GUI
project data of a UmbraEdit project. The "gui" tests, likewise, will run the tests for the GUI
components, and the "base" tests cover the bits in-between.
You can also filter the tests with the ``-k`` switch. The following will do the same as
@@ -75,7 +75,7 @@ You can also filter the tests with the ``-k`` switch. The following will do the
.. code-block:: bash
export QT_QPA_PLATFORM=offscreen pytest -v --cov=novelwriter --cov-report=html -k testCore
export QT_QPA_PLATFORM=offscreen pytest -v --cov=umbraedit --cov-report=html -k testCore
All tests are named in such a way that you can filter them by adding more bits of the test names.
They all start with the word "test". Then comes the group: "Core", "Base", "Dlg", "Tool", or "Gui".
@@ -84,6 +84,6 @@ file. For instance, running the following will run all tests for the document ed
.. code-block:: bash
export QT_QPA_PLATFORM=offscreen pytest -v --cov=novelwriter --cov-report=html -k testGuiEditor
export QT_QPA_PLATFORM=offscreen pytest -v --cov=umbraedit --cov-report=html -k testGuiEditor
To run a single test, simply add the full test name to the ``-k`` switch.

View File

@@ -4,7 +4,7 @@
Advanced Formatting
*******************
Standard Markdown formatting is somewhat limited, so novelWriter has some additional formatting
Standard Markdown formatting is somewhat limited, so UmbraEdit has some additional formatting
codes for special use cases. These codes are all based on brackets, and some allow an additional
value to be set after a colon.
@@ -118,7 +118,7 @@ Inserting Word Counts in the Text
=================================
The cover page of a manuscript normally has the word count stated on it. Any statistics value
collected by novelWriter can be inserted into any document using a special shortcode. You can
collected by UmbraEdit can be inserted into any document using a special shortcode. You can
insert the code for any of the available statistics values from the **Insert** menu under
**Word/Character Count**.

View File

@@ -4,7 +4,7 @@
Alignment and Indentation
*************************
The Markdown standard doesn't have commands for aligning text, so novelWriter adds its own syntax
The Markdown standard doesn't have commands for aligning text, so UmbraEdit adds its own syntax
for this. It also has syntax for indentation, which is similar to Markdown block quotes.

View File

@@ -6,7 +6,7 @@ Basic Formatting
.. _Markdown: https://en.wikipedia.org/wiki/Markdown
The basic text formatting syntax of novelWriter is based on Markdown_. It is only a subset of the
The basic text formatting syntax of UmbraEdit is based on Markdown_. It is only a subset of the
Markdown syntax though. Images are not supported, and list support is limited.
@@ -43,7 +43,7 @@ being separated by blank lines.
This is a text paragraph.
This is meant to be another text paragraph.
If you do as shown in the "Incorrect" example, novelWriter will understand this as a single
If you do as shown in the "Incorrect" example, UmbraEdit will understand this as a single
paragraph with two lines.
@@ -72,11 +72,11 @@ A minimal set of Markdown text emphasis styles are supported for text paragraphs
In Markdown guides it is often recommended to differentiate between strong emphasis and emphasis
by using ``**`` for strong and ``_`` for emphasis, although Markdown generally also supports ``__``
for strong and ``*`` for emphasis. However, since the differentiation makes the highlighting and
conversion significantly simpler and faster, in novelWriter this is a rule, not just a
conversion significantly simpler and faster, in UmbraEdit this is a rule, not just a
recommendation.
As of version 2026.1, it is possible to enable ``*text*`` for bold text. This has become a very
common notation in many user interfaces, and is now also supported by novelWriter. It can be
common notation in many user interfaces, and is now also supported by UmbraEdit. It can be
enabled in **Preferences** in the **Text Editing** section. Enabling this will not disable
``**text**`` as bold, but will allow both formats. It will, however, change the format button and
:kbd:`Ctrl+B` to use a single asterisk instead of two.
@@ -97,7 +97,7 @@ In general, the following rules apply:
.. tip::
novelWriter supports standard escape syntax for the emphasis markup characters in case the
UmbraEdit supports standard escape syntax for the emphasis markup characters in case the
editor misunderstands your intended usage of them. That is, ``\*``, ``\_``, ``\#`` and ``\~``
will generate a plain ``*``, ``_``, ``#`` and ``~``, respectively, without interpreting them as
part of the markup.
@@ -134,7 +134,7 @@ You can also use Markdown URL formatting to make them clickable text.
Markdown Lists
==============
novelWriter supports single level lists with either bullet or numbered style. Nested lists are not
UmbraEdit supports single level lists with either bullet or numbered style. Nested lists are not
currently supported. The editor will highlight the list marker when it is correctly used. When you
press :kbd:`Enter` on a list item, the next line gets the same marker. Pressing :kbd:`Enter` on an
empty item removes the marker and ends the list.

View File

@@ -6,7 +6,7 @@ Chapters and Scenes
.. _Markdown: https://en.wikipedia.org/wiki/Markdown
Since novelWriter uses a plain text format, the structure of your novel must follow a certain set
Since UmbraEdit uses a plain text format, the structure of your novel must follow a certain set
of simple rules. For documents in a **Novel** type root folder, it is the heading that determines
if the document is a chapter or a scene.

View File

@@ -21,7 +21,7 @@ A plain comment is a line or paragraph that starts with the character ``%`` as i
You can put them wherever you like in your documents, and you can choose to include or exclude them
from your manuscript.
For the most part, novelWriter completely ignores these comments. They are not included in your
For the most part, UmbraEdit completely ignores these comments. They are not included in your
word or character counts either, and are only displayed in the document viewer panel if you enable
them.
@@ -144,7 +144,7 @@ Ignored Text
============
If you want to completely ignore some of the text in your documents, but are not ready to delete
it, you can add ``%~`` before the text paragraph or line. This will cause novelWriter to skip the
it, you can add ``%~`` before the text paragraph or line. This will cause UmbraEdit to skip the
text entirely when generating previews or building manuscripts.
This is a better way of removing text than converting them to regular comments, as you may want to

View File

@@ -6,7 +6,7 @@ Front and Back Matter
Front and back matter documents are documents that go before and after your main story text. They
can include pages like your cover page, content tables, prologues, epilogues, etc. These special
pages and sections are supported to some extent by novelWriter.
pages and sections are supported to some extent by UmbraEdit.
.. _docs_usage_front_back_matter_title:
@@ -24,7 +24,7 @@ format you use, and additional space added before the title.
:bdg-info:`Example`
This is the title page novelWriter generates automatically for a new project as of version 2.6:
This is the title page UmbraEdit generates automatically for a new project as of version 2.6:
.. code-block:: md

View File

@@ -4,9 +4,9 @@
Tips & Tricks
*************
.. _Discussions Page: https://github.com/saga-soft/novelWriter/discussions
.. _Discussions Page: https://github.com/saga-soft/UmbraEdit/discussions
This is a list of hopefully helpful little tips on how to get the most out of novelWriter.
This is a list of hopefully helpful little tips on how to get the most out of UmbraEdit.
.. note::
This section will be expanded over time. If you would like to have something added, feel free to
@@ -77,7 +77,7 @@ Your Project
Examples: ``en`` for English, ``de`` for German, etc.
If you want to help add new languages to novelWriter, see: :ref:`docs_contributing`.
If you want to help add new languages to UmbraEdit, see: :ref:`docs_contributing`.
.. versionadded:: 2.8
@@ -88,7 +88,7 @@ The Application
.. dropdown:: How can I increase the line height?
:animate: fade-in-slide-down
Unfortunately, in this case, novelWriter uses the plain text editor component of the underlying
Unfortunately, in this case, UmbraEdit uses the plain text editor component of the underlying
framework (called Qt) which doesn't support changing the line height. However, you can choose an
editor font with larger leading (the spacing between the lines). A good font for this case is
`Noto <https://fonts.google.com/noto>`__, which comes in both Sans-Serif and Serif.
@@ -100,7 +100,7 @@ Layout Tricks
.. dropdown:: How do I create a table?
:animate: fade-in-slide-down
The formatting tools available in novelWriter don't allow for complex structures like tables.
The formatting tools available in UmbraEdit don't allow for complex structures like tables.
However, the editor does render tabs in a similar way that regular word processors do. You can
set the width of a tab in **Preferences**.
@@ -137,6 +137,6 @@ Other Tools
:animate: fade-in-slide-down
There is a tool available that lets you convert a `yWriter <http://spacejock.com/yWriter7.html>`_
project to a novelWriter project, and vice versa.
project to a UmbraEdit project, and vice versa.
The tool is available at `peter88213.github.io/yw2nw <https://peter88213.github.io/yw2nw/>`__

View File

@@ -5,10 +5,10 @@ Introduction
************
.. _Markdown: https://en.wikipedia.org/wiki/Markdown
.. _Contributing Guide: https://github.com/saga-soft/novelWriter/blob/main/CONTRIBUTING.md
.. _Crowdin: https://crowdin.com/project/novelwriter
.. _Contributing Guide: https://github.com/saga-soft/UmbraEdit/blob/main/CONTRIBUTING.md
.. _Crowdin: https://crowdin.com/project/umbraedit
In a nutshell, novelWriter is a plain text editor that lets you organise one or more novels, and
In a nutshell, UmbraEdit is a plain text editor that lets you organise one or more novels, and
associated notes, as many smaller documents. You can at any time generate standard document formats
from these plain text documents. Whether it is an outline of your story, a draft, a complete
manuscript, or even a collection of your character notes or other notes.
@@ -22,7 +22,7 @@ be distracted by it.
Of course, you probably need *some* form of minimal formatting for your text. At the very least you
need emphasis. Most people are familiar with adding emphasis using ``_underscores_`` and
``**asterisks**``. This formatting standard comes from Markdown_ and is supported by novelWriter.
``**asterisks**``. This formatting standard comes from Markdown_ and is supported by UmbraEdit.
It also uses Markdown formatting for defining document headings, which is how you distinguish
between chapters and scenes.
@@ -34,7 +34,7 @@ standard format buttons. So don't worry. You don't have to learn any of these co
Adding Meta Data
================
In addition to the body text of your story, novelWriter allows you to enter some additional meta
In addition to the body text of your story, UmbraEdit allows you to enter some additional meta
data into your text documents to indicate things like which characters are present in a chapter or
scene, whose point of view we're seeing, what location the events take place in, and so on.
@@ -48,11 +48,11 @@ comments, and an auto-complete menu can help you here too. More about this later
.. admonition:: Limitations
Please keep in mind that novelWriter is designed for writing fiction, so the formatting features
Please keep in mind that UmbraEdit is designed for writing fiction, so the formatting features
available are limited to those relevant for this purpose. It is *not* suitable for technical
writing. It is also *not* a full-featured Markdown editor.
In addition, novelWriter is not intended as a tool for organising research for writing, and
In addition, UmbraEdit is not intended as a tool for organising research for writing, and
therefore lacks formatting features you may need for this purpose. The notes feature is
mainly intended for character profiles and plot outlines. It is recommended to use a proper
note-taking tool for research. This is anyway more practical as you may use the same research

View File

@@ -38,7 +38,7 @@ A new project may not have all of the root folders present, but you can add the
the project tree tool bar.
The intended usage of each type of root folder is listed below. However, aside from the **Novel**
folder, no restrictions are applied by novelWriter on what you put in them. You can use them
folder, no restrictions are applied by UmbraEdit on what you put in them. You can use them
however you want.
@@ -97,7 +97,7 @@ Root Folder Types
**Trash**
This folder behaves like you expect. Anything dropped in here can be deleted permanently from
the project, and the content doesn't show up anywhere else in novelWriter.
the project, and the content doesn't show up anywhere else in UmbraEdit.
The root folder types are closely tied to the tags and reference system. Each folder type for novel
and notes corresponds to one or more categories of tags that can be used to reference the content
@@ -117,7 +117,7 @@ You can add regular folders anywhere you want in the project. The folders are th
for you to organise the documents in meaningful sections and to be able to collapse and hide them
in the project tree when you're not working on those documents.
When novelWriter is processing the documents in a project, like for instance when you create a
When UmbraEdit is processing the documents in a project, like for instance when you create a
manuscript from it, these folders are ignored. Only the order of the documents themselves matter.
@@ -140,7 +140,7 @@ Documents come in two types:
**Novel Documents**
These are the documents that make up your story or novel. They can only be added under a root
folder of type **Novel**. You can technically also add them under **Archive**. See
:ref:`docs_usage_headings` for more details on how these documents are handled by novelWriter.
:ref:`docs_usage_headings` for more details on how these documents are handled by UmbraEdit.
**Project Notes**
These are the documents where you keep your notes. You can add them anywhere in your project,
@@ -192,7 +192,7 @@ Importance and Status
=====================
Each document or folder in your project can have either a "Status" or "Importance" label set. These
are labels and icons that you control and define yourself, and novelWriter doesn't use them for
are labels and icons that you control and define yourself, and UmbraEdit doesn't use them for
anything. You can modify these labels in **Project Settings**.
See :ref:`docs_ui_projects_settings_status` for more details.

View File

@@ -4,11 +4,11 @@
Tags and References
*******************
One of the core features of novelWriter is its **Tags and References** system. This is perhaps one
of the features that makes novelWriter different from other similar applications. It is therefore
One of the core features of UmbraEdit is its **Tags and References** system. This is perhaps one
of the features that makes UmbraEdit different from other similar applications. It is therefore
not always obvious to new users how this is supposed to work.
In novelWriter there are no forms or tables to fill in to define characters, locations or other
In UmbraEdit there are no forms or tables to fill in to define characters, locations or other
elements of your story. Instead, you create documents in one of the root folders for notes. Within
these documents you can set **tags**, like for instance for your main character. If you then want
to annotate a scene with this character as its point-of-view, you create a **reference** to the
@@ -27,11 +27,11 @@ tag.
How to Use Tags
===============
The structure of your novelWriter project is inferred from the headings within the documents, not
The structure of your UmbraEdit project is inferred from the headings within the documents, not
the documents themselves. See :ref:`docs_usage_headings` for more details. Therefore, metadata is
also associated with headings, and not the documents themselves.
A "tag" in novelWriter is a word or phrase that you define as belonging to a heading. Tags are set
A "tag" in UmbraEdit is a word or phrase that you define as belonging to a heading. Tags are set
by using the ``@tag`` keyword.
The basic format of a tag is ``@tag: TagName``.
@@ -62,7 +62,7 @@ The editor will indicate to you that the keyword is correctly used and that the
that is, the tag is unique, by adding a colour highlighting to it. An invalid tag should have a
wiggly line under it, and will not receive the colour that valid tags do.
The tag is the only part of notes that novelWriter uses. The rest of the document content is there
The tag is the only part of notes that UmbraEdit uses. The rest of the document content is there
for you to use in whatever way you wish.
.. versionadded:: 2.2

View File

@@ -53,7 +53,7 @@ You can preview the result of these format strings by clicking :guilabel:`Apply`
The language used for generating chapter numbers is defined by the project language set in
**Project Settings**. This feature relies on translation files existing for each language.
If you want to help add new languages to novelWriter, see: :ref:`docs_contributing`.
If you want to help add new languages to UmbraEdit, see: :ref:`docs_contributing`.
.. _docs_ui_manuscript_formatting_head_numbers:

View File

@@ -4,7 +4,7 @@
The Main Window
***************
The user interface of novelWriter is intended to be as minimalistic as practically possible, while
The user interface of UmbraEdit is intended to be as minimalistic as practically possible, while
at the same time provide useful features needed for writing a novel.
The main window does not by default have an editor toolbar like many other applications do. This
@@ -145,7 +145,7 @@ different position. You column settings are saved between sessions on a per-proj
The **Title** column cannot be disabled or moved.
The information viewed in the outline is based on the project index. While novelWriter does its
The information viewed in the outline is based on the project index. While UmbraEdit does its
best to keep the index up to date when contents change, you can always rebuild it manually by
pressing :kbd:`F9` if something isn't right.
@@ -186,7 +186,7 @@ See :ref:`docs_features_shortcuts` for more details.
Colour Themes
=============
By default, novelWriter should pick a dark or light theme based on the colour mode of your
By default, UmbraEdit should pick a dark or light theme based on the colour mode of your
operating system. You can select which colour mode to use from the application sidebar.
The default light and dark theme can be changed from **Preferences**. There are a number of themes

View File

@@ -218,7 +218,7 @@ Portable Document Format (PDF)
capabilities as the preview. It's identical to what is produced if you select the print option
and print to PDF.
novelWriter HTML
UmbraEdit HTML
The HTML format writes a single ``.htm`` file with minimal style formatting. The HTML document
is suitable for further processing by document conversion tools like Pandoc_, for importing in
word processors, or for printing from browser.
@@ -229,14 +229,14 @@ Electronic Publication E-book (EPub)
Standard/Extended Markdown
The Markdown format comes in both Standard and Extended flavour. The *only* difference in terms
of novelWriter functionality is the support for strike through and highlighted text, which is
of UmbraEdit functionality is the support for strike through and highlighted text, which is
not supported by the Standard flavour.
novelWriter Markup
UmbraEdit Markup
This is simply a concatenation of the project documents selected by the filters into a ``.txt``
file. The documents are stacked together in the order they appear in the project tree, with
comments, tags, etc. included if they are selected. This is a useful format for exporting the
project for later import back into novelWriter.
project for later import back into UmbraEdit.
.. versionadded:: 2.6
@@ -246,7 +246,7 @@ novelWriter Markup
Additional Formats
------------------
In addition to the above document formats, the novelWriter HTML and Markup formats can also be
In addition to the above document formats, the UmbraEdit HTML and Markup formats can also be
wrapped in a JSON file. These files will have a meta data entry and a body entry.
The text body is saved in a two-level list. The outer list contains one entry per document, in the

View File

@@ -4,7 +4,7 @@
Managing Projects
*****************
Your text in novelWriter is organised into projects. Each project is meant to contain one novel
Your text in UmbraEdit is organised into projects. Each project is meant to contain one novel
and associated notes. If you have multiple novels in a series, with the same characters and shared
notes, it is also possible to keep all of them in the same project by creating multiple **Novel**
root folders. See :ref:`docs_usage_project_roots` for more details.
@@ -17,9 +17,9 @@ Creating A New Project
You can create a new project from the **Project** menu by selecting **Create or Open Project**.
This will open the **Welcome** dialog, where you can select the :guilabel:`New` button that will
assist you in creating a project. This dialog is also displayed when you start novelWriter.
assist you in creating a project. This dialog is also displayed when you start UmbraEdit.
A novelWriter project requires a dedicated folder for storing its files on the local file system.
A UmbraEdit project requires a dedicated folder for storing its files on the local file system.
If you're interested in the details of how projects are stored, you can have a look at the section
:ref:`docs_technical_storage`.
@@ -85,7 +85,7 @@ icon with an optional shape selected from a list of pre-defined shapes. Each doc
the remaining types can be given an "Importance" label with the same customisation options.
These labels are there purely for your convenience, and you are not required to use them for any
other features to work. No other part of novelWriter accesses this information. The intention is to
other features to work. No other part of UmbraEdit accesses this information. The intention is to
use these to indicate at what stage of completion each novel document is, or how important the
content of a note is to the story. You don't have to use them this way, that's just what they were
intended for, but you can make them whatever you want.
@@ -124,7 +124,7 @@ text is in this list.
Backup
======
An automatic backup system is built into novelWriter. In order to use it, a backup path to where
An automatic backup system is built into UmbraEdit. In order to use it, a backup path to where
the backup files are to be stored must be provided in **Preferences**. The path defaults to a
folder named "Backups" in your home directory.

View File

@@ -21,7 +21,7 @@ Idle Time
=========
The log file stores how much of the session time was spent idle. The definition of idle here is
that the novelWriter main window loses focus, or the user hasn't made any changes to the currently
that the UmbraEdit main window loses focus, or the user hasn't made any changes to the currently
open document in five minutes. You can change the number of minutes in **Preferences**.

View File

@@ -1,14 +1,14 @@
# novelWriter Internationalisation (i18n)
# UmbraEdit Internationalisation (i18n)
The maintenance of translations has been moved to the Crowdin service. The translation strings can
be edited there at the [novelWriter project page](https://crowdin.com/project/novelwriter).
be edited there at the [UmbraEdit project page](https://crowdin.com/project/umbraedit).
However, please read the Translation Guidelines section below.
You can still use the manual approach listed below, and then upload the file through the website's
interface. The translation strings for that language will then be updated and queued for approval.
To verify a language file translated through the Crowdin tool, download and extract it into the
`i18n` folder in the novelWriter source and follow the instructions in
`i18n` folder in the UmbraEdit source and follow the instructions in
[Generate an Updated Translation File](#generate-an-updated-translation-file) below.
@@ -30,12 +30,12 @@ When contributing translations, keep the following things in mind.
# Direct Approach Using Qt Linguist
Here you will find instructions for translating novelWriter to a new language directly using Qt
Here you will find instructions for translating UmbraEdit to a new language directly using Qt
Linguist, or updating the translations for an already existing supported language.
There are two areas relevant to localisation:
* The Qt GUI translation files, which consists of `nw_XX.ts` files. This is the bulk of the
* The Qt GUI translation files, which consists of `ue_XX.ts` files. This is the bulk of the
translation work.
* The `project_XX.json` files. See [Project Localisation](#project-localisation) below.
@@ -60,9 +60,9 @@ See also [Qt Linguist Manual: Translators](https://doc.qt.io/qt-6/linguist-trans
Here's an overview of the localisation workflow:
1. First, create a new branch off of `main`, and there, generate a new `nw_XX.ts` translation file.
1. First, create a new branch off of `main`, and there, generate a new `ue_XX.ts` translation file.
1. Load the translation file in Qt Linguist. Translate and save your changes.
1. Generate the `nw_XX.qm` file.
1. Generate the `ue_XX.qm` file.
1. Run the application and verify your changes. Iterate from step 2.
1. Once finished, commit your changes and submit your pull request.
@@ -72,21 +72,21 @@ translation file. Continue from step 2.
### Generate an Updated Translation File
The `i18n` folder at the root of the repository contains the `nw_XX.ts` translation files.
The `i18n` folder at the root of the repository contains the `ue_XX.ts` translation files.
Whether to add a new language to the translation framework, or to update the file against the
current source code, you must first run the `qtlupdate` command:
```bash
python3 pkgutils.py qtlupdate i18n/nw_XX.ts
python3 pkgutils.py qtlupdate i18n/ue_XX.ts
```
The file name must be in the correct format. All translation files must be located in the `i18n`
folder, start with `nw_` and end with `.ts`. In between goes the language and country code. It must
be a valid ISO language code, otherwise novelWriter will not accept the file.
folder, start with `ue_` and end with `.ts`. In between goes the language and country code. It must
be a valid ISO language code, otherwise UmbraEdit will not accept the file.
For instance, the French translation uses the language code `fr_FR`, so its translation file will
be `nw_fr_FR.ts`
be `ue_fr_FR.ts`
Note: The `qtlupdate` command needs the `lupdate` tool provided by PyQt6, which uses the latest
TS file format. On Debian/Ubuntu it is provided by the package `pyqt6-dev-tools`.
@@ -94,7 +94,7 @@ TS file format. On Debian/Ubuntu it is provided by the package `pyqt6-dev-tools`
### Edit the Translation File in Qt Linguist
The `i18n/nw_XX.ts` file can be edited with the Qt Linguist application provided by Qt. This is
The `i18n/ue_XX.ts` file can be edited with the Qt Linguist application provided by Qt. This is
by far easier than manually editing the `.ts` file.
Please select "English" and "United Kingdom" as the _source_ language if prompted by Qt Linguist.
@@ -102,7 +102,7 @@ Please select "English" and "United Kingdom" as the _source_ language if prompte
### Verify Your Translation
The application does not use `.ts` files directly. The `novelwriter/assets/i18n/nw_XX.qm` files are
The application does not use `.ts` files directly. The `umbraedit/assets/i18n/ue_XX.qm` files are
the actual files used to translate the GUI into another language other than the default British
English. These files are not generated by default, but they can be built with:
@@ -110,14 +110,14 @@ English. These files are not generated by default, but they can be built with:
python3 pkgutils.py qtlrelease
```
You can now test the translation in novelWriter. The Preferences dialog should list the newly added
You can now test the translation in UmbraEdit. The Preferences dialog should list the newly added
language, so go ahead and select it.
## Project Localisation
Projects can have a different language setting than the GUI itself. The files with format
`project_XX.json` in `novelwriter/assets/i18n` are simple translation maps for text that goes into
`project_XX.json` in `umbraedit/assets/i18n` are simple translation maps for text that goes into
the exported documents generated by the Build Novel Project tool.
The files are loaded based on the language setting in the Build Novel Project tool. At the present

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More