Merge 2.6.1 release into main

This commit is contained in:
Veronica Berglyd Olsen
2025-02-02 18:54:08 +01:00
34 changed files with 3462 additions and 3069 deletions
+47
View File
@@ -1,5 +1,52 @@
# novelWriter Changelog # novelWriter Changelog
## Version 2.6.1 [2025-02-02]
### Release Notes
This is a patch release that fixes an issue with creating new notes from the editor context menu,
adds an option to turn off the confirmation box that pops up when closing novelWriter, and improves
the recent project list on the Welcome dialog.
A French version of the user guide is now also available when the localisation is set to French,
and the French, Latin American Spanish, Norwegian, US English, German and Japanese translations of
the application have been updated.
### Detailed Changelog
**Bugfixes**
* Fixed an issue where the "Create Note from Tag" would also show up for `@story` references. These
should not create new novel documents. The same menu entry was also removed for `@mention`
references, as it is not known what category the would belong to. Issue #2212. PR #2215.
**Improvements**
* A setting was added to Preferences to disable the dialog box when exiting novelWriter. It is
available under the "Behaviour" section. Issue #2209. PR#2213.
* Recent projects on the Welcome dialog box are now tracked using their unique ID as well as their
path. This means that if a project is moved, it should not show up twice in the list, but the
path should be updated. Issue #2217. PR #2218.
**Documentation**
* A French version of the user guide is nov available from the Help menu if the GUi language is set
to French. The French translation was contributed by @Karduin. It is currently directly added to
the source, but from 2.7 it will be generated automatically in the same way the English user
guide is. Discussion #1834. PR #2220.
**Internationalisation**
* French translations are available up to the 2.6 release. That is, the new exit dialog setting is
not translated yet. PR #2214.
* Latin American Spanish, Norwegian, US English, German and Japanese translations are fully
updated. PR #2214.
See the [translation activity stream](https://crowdin.com/project/novelwriter/activity-stream) for
more details.
----
## Version 2.6 [2025-01-26] ## Version 2.6 [2025-01-26]
### Release Notes ### Release Notes
+314 -304
View File
File diff suppressed because it is too large Load Diff
+315 -305
View File
File diff suppressed because it is too large Load Diff
+315 -305
View File
File diff suppressed because it is too large Load Diff
+546 -501
View File
File diff suppressed because it is too large Load Diff
+286 -241
View File
File diff suppressed because it is too large Load Diff
+107 -97
View File
@@ -2630,8 +2630,8 @@
<translation>Carattere del documento</translation> <translation>Carattere del documento</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="427" /> <location filename="../novelwriter/dialogs/preferences.py" line="435" />
<location filename="../novelwriter/dialogs/preferences.py" line="416" /> <location filename="../novelwriter/dialogs/preferences.py" line="424" />
<location filename="../novelwriter/dialogs/preferences.py" line="247" /> <location filename="../novelwriter/dialogs/preferences.py" line="247" />
<source>Applies to both document editor and viewer.</source> <source>Applies to both document editor and viewer.</source>
<translation>Si applica sia all'editor di documenti che al visualizzatore.</translation> <translation>Si applica sia all'editor di documenti che al visualizzatore.</translation>
@@ -2663,8 +2663,8 @@
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="277" /> <location filename="../novelwriter/dialogs/preferences.py" line="277" />
<source>Auto Save</source> <source>Behaviour</source>
<translation>Salvataggio automatico</translation> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="289" /> <location filename="../novelwriter/dialogs/preferences.py" line="289" />
@@ -2693,443 +2693,453 @@
<translation>Quante volte il progetto viene salvato automaticamente.</translation> <translation>Quante volte il progetto viene salvato automaticamente.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="307" /> <location filename="../novelwriter/dialogs/preferences.py" line="308" />
<source>Ask before exiting novelWriter</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/dialogs/preferences.py" line="309" />
<source>Only applies when a project is open.</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/dialogs/preferences.py" line="315" />
<source>Project Backup</source> <source>Project Backup</source>
<translation>Backup del progetto</translation> <translation>Backup del progetto</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="314" /> <location filename="../novelwriter/dialogs/preferences.py" line="322" />
<source>Browse</source> <source>Browse</source>
<translation>Sfoglia</translation> <translation>Sfoglia</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="318" /> <location filename="../novelwriter/dialogs/preferences.py" line="326" />
<source>Backup storage location</source> <source>Backup storage location</source>
<translation>Posizione di archiviazione del backup</translation> <translation>Posizione di archiviazione del backup</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="835" /> <location filename="../novelwriter/dialogs/preferences.py" line="843" />
<location filename="../novelwriter/dialogs/preferences.py" line="319" /> <location filename="../novelwriter/dialogs/preferences.py" line="327" />
<source>Path: {0}</source> <source>Path: {0}</source>
<translation>Percorso: {0}</translation> <translation>Percorso: {0}</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="327" /> <location filename="../novelwriter/dialogs/preferences.py" line="335" />
<source>Run backup when the project is closed</source> <source>Run backup when the project is closed</source>
<translation>Esegui il backup quando il progetto è chiuso</translation> <translation>Esegui il backup quando il progetto è chiuso</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="328" /> <location filename="../novelwriter/dialogs/preferences.py" line="336" />
<source>Can be overridden for individual projects in Project Settings.</source> <source>Can be overridden for individual projects in Project Settings.</source>
<translation>Può essere sovrascritto per singoli progetti nelle Impostazioni del progetto.</translation> <translation>Può essere sovrascritto per singoli progetti nelle Impostazioni del progetto.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="337" /> <location filename="../novelwriter/dialogs/preferences.py" line="345" />
<source>Ask before running backup</source> <source>Ask before running backup</source>
<translation>Chiedi prima di eseguire il backup</translation> <translation>Chiedi prima di eseguire il backup</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="338" /> <location filename="../novelwriter/dialogs/preferences.py" line="346" />
<source>If off, backups will run in the background.</source> <source>If off, backups will run in the background.</source>
<translation>Se disattivato, i backup verranno eseguiti in background.</translation> <translation>Se disattivato, i backup verranno eseguiti in background.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="344" /> <location filename="../novelwriter/dialogs/preferences.py" line="352" />
<source>Session Timer</source> <source>Session Timer</source>
<translation>Timer della sessione</translation> <translation>Timer della sessione</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="353" /> <location filename="../novelwriter/dialogs/preferences.py" line="361" />
<source>Pause the session timer when not writing</source> <source>Pause the session timer when not writing</source>
<translation>Metti in pausa il timer di sessione quando non si scrive</translation> <translation>Metti in pausa il timer di sessione quando non si scrive</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="354" /> <location filename="../novelwriter/dialogs/preferences.py" line="362" />
<source>Also pauses when the application window does not have focus.</source> <source>Also pauses when the application window does not have focus.</source>
<translation>Inoltre si interrompe quando la finestra dell'applicazione non ha focus.</translation> <translation>Inoltre si interrompe quando la finestra dell'applicazione non ha focus.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="365" /> <location filename="../novelwriter/dialogs/preferences.py" line="373" />
<source>Editor inactive time before pausing timer</source> <source>Editor inactive time before pausing timer</source>
<translation>Tempo d'inattività dell'editor prima di mettere in pausa il timer</translation> <translation>Tempo d'inattività dell'editor prima di mettere in pausa il timer</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="366" /> <location filename="../novelwriter/dialogs/preferences.py" line="374" />
<source>User activity includes typing and changing the content.</source> <source>User activity includes typing and changing the content.</source>
<translation>L'attività dell'utente include la digitazione e la modifica del contenuto.</translation> <translation>L'attività dell'utente include la digitazione e la modifica del contenuto.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="367" /> <location filename="../novelwriter/dialogs/preferences.py" line="375" />
<source>minutes</source> <source>minutes</source>
<translation>minuti</translation> <translation>minuti</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="371" /> <location filename="../novelwriter/dialogs/preferences.py" line="379" />
<source>Writing</source> <source>Writing</source>
<translation>Scrittura</translation> <translation>Scrittura</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="376" /> <location filename="../novelwriter/dialogs/preferences.py" line="384" />
<source>Text Flow</source> <source>Text Flow</source>
<translation>Flusso del testo</translation> <translation>Flusso del testo</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="388" /> <location filename="../novelwriter/dialogs/preferences.py" line="396" />
<source>Maximum text width in "Normal Mode"</source> <source>Maximum text width in "Normal Mode"</source>
<translation>Larghezza massima del testo in "Modalità normale"</translation> <translation>Larghezza massima del testo in "Modalità normale"</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="389" /> <location filename="../novelwriter/dialogs/preferences.py" line="397" />
<source>Set to 0 to disable this feature.</source> <source>Set to 0 to disable this feature.</source>
<translation>Impostare a 0 per disabilitare questa funzione.</translation> <translation>Impostare a 0 per disabilitare questa funzione.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="440" /> <location filename="../novelwriter/dialogs/preferences.py" line="448" />
<location filename="../novelwriter/dialogs/preferences.py" line="428" /> <location filename="../novelwriter/dialogs/preferences.py" line="436" />
<location filename="../novelwriter/dialogs/preferences.py" line="400" /> <location filename="../novelwriter/dialogs/preferences.py" line="408" />
<location filename="../novelwriter/dialogs/preferences.py" line="389" /> <location filename="../novelwriter/dialogs/preferences.py" line="397" />
<source>px</source> <source>px</source>
<translation>px</translation> <translation>px</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="399" /> <location filename="../novelwriter/dialogs/preferences.py" line="407" />
<source>Maximum text width in "Focus Mode"</source> <source>Maximum text width in "Focus Mode"</source>
<translation>Larghezza massima del testo in "Modalità Focus"</translation> <translation>Larghezza massima del testo in "Modalità Focus"</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="400" /> <location filename="../novelwriter/dialogs/preferences.py" line="408" />
<source>The maximum width cannot be disabled.</source> <source>The maximum width cannot be disabled.</source>
<translation>La larghezza massima non può essere disabilitata.</translation> <translation>La larghezza massima non può essere disabilitata.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="407" /> <location filename="../novelwriter/dialogs/preferences.py" line="415" />
<source>Hide document footer in "Focus Mode"</source> <source>Hide document footer in "Focus Mode"</source>
<translation>Nascondi piè di pagina del documento in "Modalità Focus"</translation> <translation>Nascondi piè di pagina del documento in "Modalità Focus"</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="408" /> <location filename="../novelwriter/dialogs/preferences.py" line="416" />
<source>Hide the information bar in the document editor.</source> <source>Hide the information bar in the document editor.</source>
<translation>Nascondi la barra delle informazioni nell'editor dei documenti.</translation> <translation>Nascondi la barra delle informazioni nell'editor dei documenti.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="415" /> <location filename="../novelwriter/dialogs/preferences.py" line="423" />
<source>Justify the text margins</source> <source>Justify the text margins</source>
<translation>Giustifica i margini del testo</translation> <translation>Giustifica i margini del testo</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="426" /> <location filename="../novelwriter/dialogs/preferences.py" line="434" />
<source>Minimum text margin</source> <source>Minimum text margin</source>
<translation>Dimensione minima del margine del testo</translation> <translation>Dimensione minima del margine del testo</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="438" /> <location filename="../novelwriter/dialogs/preferences.py" line="446" />
<source>Tab width</source> <source>Tab width</source>
<translation>Larghezza di tabulazione</translation> <translation>Larghezza di tabulazione</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="439" /> <location filename="../novelwriter/dialogs/preferences.py" line="447" />
<source>The width of a tab key press in the editor and viewer.</source> <source>The width of a tab key press in the editor and viewer.</source>
<translation>La larghezza ottenibile con una pressione sul tasto TAB nell'editor e nel visualizzatore.</translation> <translation>La larghezza ottenibile con una pressione sul tasto TAB nell'editor e nel visualizzatore.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="446" /> <location filename="../novelwriter/dialogs/preferences.py" line="454" />
<source>Text Editing</source> <source>Text Editing</source>
<translation>Modifica del testo</translation> <translation>Modifica del testo</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="466" /> <location filename="../novelwriter/dialogs/preferences.py" line="474" />
<source>Spell check language</source> <source>Spell check language</source>
<translation>Lingua per il controllo ortografico</translation> <translation>Lingua per il controllo ortografico</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="467" /> <location filename="../novelwriter/dialogs/preferences.py" line="475" />
<source>Available languages are determined by your system.</source> <source>Available languages are determined by your system.</source>
<translation>Le lingue disponibili sono determinate dal tuo sistema.</translation> <translation>Le lingue disponibili sono determinate dal tuo sistema.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="474" /> <location filename="../novelwriter/dialogs/preferences.py" line="482" />
<source>Auto-select word under cursor</source> <source>Auto-select word under cursor</source>
<translation>Seleziona automaticamente la parola sotto il cursore</translation> <translation>Seleziona automaticamente la parola sotto il cursore</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="475" /> <location filename="../novelwriter/dialogs/preferences.py" line="483" />
<source>Apply formatting to word under cursor if no selection is made.</source> <source>Apply formatting to word under cursor if no selection is made.</source>
<translation>Applica la formattazione alla parola sotto il cursore se non viene effettuata alcuna selezione.</translation> <translation>Applica la formattazione alla parola sotto il cursore se non viene effettuata alcuna selezione.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="482" /> <location filename="../novelwriter/dialogs/preferences.py" line="490" />
<source>Show tabs and spaces</source> <source>Show tabs and spaces</source>
<translation>Mostra tabulazioni e spazi</translation> <translation>Mostra tabulazioni e spazi</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="489" /> <location filename="../novelwriter/dialogs/preferences.py" line="497" />
<source>Show line endings</source> <source>Show line endings</source>
<translation>Mostra terminazioni di riga</translation> <translation>Mostra terminazioni di riga</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="495" /> <location filename="../novelwriter/dialogs/preferences.py" line="503" />
<source>Editor Scrolling</source> <source>Editor Scrolling</source>
<translation>Scorrimento dell'editor</translation> <translation>Scorrimento dell'editor</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="504" /> <location filename="../novelwriter/dialogs/preferences.py" line="512" />
<source>Scroll past end of the document</source> <source>Scroll past end of the document</source>
<translation>Scorri alla fine del documento</translation> <translation>Scorri alla fine del documento</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="505" /> <location filename="../novelwriter/dialogs/preferences.py" line="513" />
<source>Also centres the cursor when scrolling.</source> <source>Also centres the cursor when scrolling.</source>
<translation>Centra anche il cursore durante lo scorrimento.</translation> <translation>Centra anche il cursore durante lo scorrimento.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="512" /> <location filename="../novelwriter/dialogs/preferences.py" line="520" />
<source>Typewriter style scrolling when you type</source> <source>Typewriter style scrolling when you type</source>
<translation>Scorrimento stile macchina da scrivere quando si digita</translation> <translation>Scorrimento stile macchina da scrivere quando si digita</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="513" /> <location filename="../novelwriter/dialogs/preferences.py" line="521" />
<source>Keeps the cursor at a fixed vertical position.</source> <source>Keeps the cursor at a fixed vertical position.</source>
<translation>Mantiene il cursore in posizione verticale fissa.</translation> <translation>Mantiene il cursore in posizione verticale fissa.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="523" /> <location filename="../novelwriter/dialogs/preferences.py" line="531" />
<source>Minimum position for Typewriter scrolling</source> <source>Minimum position for Typewriter scrolling</source>
<translation>Posizione minima per lo scorrimento della macchina da scrivere</translation> <translation>Posizione minima per lo scorrimento della macchina da scrivere</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="524" /> <location filename="../novelwriter/dialogs/preferences.py" line="532" />
<source>Percentage of the editor height from the top.</source> <source>Percentage of the editor height from the top.</source>
<translation>Percentuale dell'altezza dell'editor dall'alto.</translation> <translation>Percentuale dell'altezza dell'editor dall'alto.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="530" /> <location filename="../novelwriter/dialogs/preferences.py" line="538" />
<source>Text Highlighting</source> <source>Text Highlighting</source>
<translation>Evidenziazione del testo</translation> <translation>Evidenziazione del testo</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="536" /> <location filename="../novelwriter/dialogs/preferences.py" line="544" />
<source>None</source> <source>None</source>
<translation>Nessuno</translation> <translation>Nessuno</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="537" /> <location filename="../novelwriter/dialogs/preferences.py" line="545" />
<source>Single Quotes</source> <source>Single Quotes</source>
<translation>Singole virgolette</translation> <translation>Singole virgolette</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="538" /> <location filename="../novelwriter/dialogs/preferences.py" line="546" />
<source>Double Quotes</source> <source>Double Quotes</source>
<translation>Doppie virgolette</translation> <translation>Doppie virgolette</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="539" /> <location filename="../novelwriter/dialogs/preferences.py" line="547" />
<source>Both</source> <source>Both</source>
<translation>Entrambe</translation> <translation>Entrambe</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="542" /> <location filename="../novelwriter/dialogs/preferences.py" line="550" />
<source>Highlight dialogue</source> <source>Highlight dialogue</source>
<translation>Evidenzia il dialogo</translation> <translation>Evidenzia il dialogo</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="543" /> <location filename="../novelwriter/dialogs/preferences.py" line="551" />
<source>Applies to the selected quote styles.</source> <source>Applies to the selected quote styles.</source>
<translation>Si applica agli stili di virgolette selezionati.</translation> <translation>Si applica agli stili di virgolette selezionati.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="559" /> <location filename="../novelwriter/dialogs/preferences.py" line="567" />
<source>Alternative dialogue symbols</source> <source>Alternative dialogue symbols</source>
<translation>Simboli di dialogo alternativi</translation> <translation>Simboli di dialogo alternativi</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="560" /> <location filename="../novelwriter/dialogs/preferences.py" line="568" />
<source>Custom highlighting of dialogue text.</source> <source>Custom highlighting of dialogue text.</source>
<translation>Evidenziazione personalizzata del testo del dialogo.</translation> <translation>Evidenziazione personalizzata del testo del dialogo.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="566" /> <location filename="../novelwriter/dialogs/preferences.py" line="574" />
<source>Allow open-ended dialogue</source> <source>Allow open-ended dialogue</source>
<translation>Consenti dialogo aperto</translation> <translation>Consenti dialogo aperto</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="567" /> <location filename="../novelwriter/dialogs/preferences.py" line="575" />
<source>Highlight dialogue line with no closing quote.</source> <source>Highlight dialogue line with no closing quote.</source>
<translation>Evidenzia la linea di dialogo senza virgolette di chiusura.</translation> <translation>Evidenzia la linea di dialogo senza virgolette di chiusura.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="576" /> <location filename="../novelwriter/dialogs/preferences.py" line="584" />
<source>Dialogue line symbols</source> <source>Dialogue line symbols</source>
<translation>Simboli delle righe di dialogo</translation> <translation>Simboli delle righe di dialogo</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="577" /> <location filename="../novelwriter/dialogs/preferences.py" line="585" />
<source>Lines starting with any of these symbols are dialogue.</source> <source>Lines starting with any of these symbols are dialogue.</source>
<translation>Le linee che iniziano con uno di questi simboli sono dialogo.</translation> <translation>Le linee che iniziano con uno di questi simboli sono dialogo.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="586" /> <location filename="../novelwriter/dialogs/preferences.py" line="594" />
<source>Narrator break symbol</source> <source>Narrator break symbol</source>
<translation>Simbolo per gli interventi del narratore</translation> <translation>Simbolo per gli interventi del narratore</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="587" /> <location filename="../novelwriter/dialogs/preferences.py" line="595" />
<source>Symbol to indicate a narrator break in dialogue.</source> <source>Symbol to indicate a narrator break in dialogue.</source>
<translation>Simbolo che indica l'intervento del narratore nel dialogo.</translation> <translation>Simbolo che indica l'intervento del narratore nel dialogo.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="596" /> <location filename="../novelwriter/dialogs/preferences.py" line="604" />
<source>Alternating dialogue/narration symbol</source> <source>Alternating dialogue/narration symbol</source>
<translation>Simbolo alternativo di dialogo/narrazione</translation> <translation>Simbolo alternativo di dialogo/narrazione</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="597" /> <location filename="../novelwriter/dialogs/preferences.py" line="605" />
<source>Alternates dialogue highlighting within any paragraph.</source> <source>Alternates dialogue highlighting within any paragraph.</source>
<translation>Alterna l'evidenziazione dei dialoghi all'interno di qualsiasi paragrafo.</translation> <translation>Alterna l'evidenziazione dei dialoghi all'interno di qualsiasi paragrafo.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="603" /> <location filename="../novelwriter/dialogs/preferences.py" line="611" />
<source>Add highlight colour to emphasised text</source> <source>Add highlight colour to emphasised text</source>
<translation>Aggiungi un colore per evidenziare ed enfatizzare il testo</translation> <translation>Aggiungi un colore per evidenziare ed enfatizzare il testo</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="611" /> <location filename="../novelwriter/dialogs/preferences.py" line="619" />
<location filename="../novelwriter/dialogs/preferences.py" line="604" /> <location filename="../novelwriter/dialogs/preferences.py" line="612" />
<source>Applies to the document editor only.</source> <source>Applies to the document editor only.</source>
<translation>Si applica solo all'editor dei documenti.</translation> <translation>Si applica solo all'editor dei documenti.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="610" /> <location filename="../novelwriter/dialogs/preferences.py" line="618" />
<source>Highlight multiple or trailing spaces</source> <source>Highlight multiple or trailing spaces</source>
<translation>Evidenzia spazi multipli o finali</translation> <translation>Evidenzia spazi multipli o finali</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="617" /> <location filename="../novelwriter/dialogs/preferences.py" line="625" />
<source>Text Automation</source> <source>Text Automation</source>
<translation>Automatismi del testo</translation> <translation>Automatismi del testo</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="629" /> <location filename="../novelwriter/dialogs/preferences.py" line="637" />
<source>Auto-replace text as you type</source> <source>Auto-replace text as you type</source>
<translation>Sostituisci automaticamente il testo mentre digiti</translation> <translation>Sostituisci automaticamente il testo mentre digiti</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="630" /> <location filename="../novelwriter/dialogs/preferences.py" line="638" />
<source>Allow the editor to replace symbols as you type.</source> <source>Allow the editor to replace symbols as you type.</source>
<translation>Consenti all'editor di sostituire i simboli durante la digitazione.</translation> <translation>Consenti all'editor di sostituire i simboli durante la digitazione.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="638" /> <location filename="../novelwriter/dialogs/preferences.py" line="646" />
<source>Auto-replace single quotes</source> <source>Auto-replace single quotes</source>
<translation>Sostituisci automaticamente le virgolette singole</translation> <translation>Sostituisci automaticamente le virgolette singole</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="648" /> <location filename="../novelwriter/dialogs/preferences.py" line="656" />
<location filename="../novelwriter/dialogs/preferences.py" line="639" /> <location filename="../novelwriter/dialogs/preferences.py" line="647" />
<source>Try to guess which is an opening or a closing quote.</source> <source>Try to guess which is an opening or a closing quote.</source>
<translation>Prova a indovinare quale sia l'inizio o la fine di una citazione.</translation> <translation>Prova a indovinare quale sia l'inizio o la fine di una citazione.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="647" /> <location filename="../novelwriter/dialogs/preferences.py" line="655" />
<source>Auto-replace double quotes</source> <source>Auto-replace double quotes</source>
<translation>Sostituisci automaticamente le virgolette doppie</translation> <translation>Sostituisci automaticamente le virgolette doppie</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="656" /> <location filename="../novelwriter/dialogs/preferences.py" line="664" />
<source>Auto-replace dashes</source> <source>Auto-replace dashes</source>
<translation>Sostituisci automaticamente i trattini</translation> <translation>Sostituisci automaticamente i trattini</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="657" /> <location filename="../novelwriter/dialogs/preferences.py" line="665" />
<source>Double and triple hyphens become short and long dashes.</source> <source>Double and triple hyphens become short and long dashes.</source>
<translation>I trattini doppi e tripli diventano brevi e lunghi trattini.</translation> <translation>I trattini doppi e tripli diventano brevi e lunghi trattini.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="665" /> <location filename="../novelwriter/dialogs/preferences.py" line="673" />
<source>Auto-replace dots</source> <source>Auto-replace dots</source>
<translation>Sostituisci automaticamente i puntini</translation> <translation>Sostituisci automaticamente i puntini</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="666" /> <location filename="../novelwriter/dialogs/preferences.py" line="674" />
<source>Three consecutive dots become ellipsis.</source> <source>Three consecutive dots become ellipsis.</source>
<translation>Tre punti consecutivi diventano puntini di sospensione.</translation> <translation>Tre punti consecutivi diventano puntini di sospensione.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="675" /> <location filename="../novelwriter/dialogs/preferences.py" line="683" />
<source>Insert non-breaking space before</source> <source>Insert non-breaking space before</source>
<translation>Inserisci uno spazio prima di</translation> <translation>Inserisci uno spazio prima di</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="676" /> <location filename="../novelwriter/dialogs/preferences.py" line="684" />
<source>Automatically add space before any of these symbols.</source> <source>Automatically add space before any of these symbols.</source>
<translation>Aggiungi automaticamente spazio prima di uno di questi simboli.</translation> <translation>Aggiungi automaticamente spazio prima di uno di questi simboli.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="685" /> <location filename="../novelwriter/dialogs/preferences.py" line="693" />
<source>Insert non-breaking space after</source> <source>Insert non-breaking space after</source>
<translation>Inserisci uno spazio dopo di</translation> <translation>Inserisci uno spazio dopo di</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="686" /> <location filename="../novelwriter/dialogs/preferences.py" line="694" />
<source>Automatically add space after any of these symbols.</source> <source>Automatically add space after any of these symbols.</source>
<translation>Aggiungi automaticamente uno spazio dopo uno di questi simboli.</translation> <translation>Aggiungi automaticamente uno spazio dopo uno di questi simboli.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="694" /> <location filename="../novelwriter/dialogs/preferences.py" line="702" />
<source>Use thin space instead</source> <source>Use thin space instead</source>
<translation>Usa invece uno spazio sottile</translation> <translation>Usa invece uno spazio sottile</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="695" /> <location filename="../novelwriter/dialogs/preferences.py" line="703" />
<source>Inserts a thin space instead of a regular space.</source> <source>Inserts a thin space instead of a regular space.</source>
<translation>Inserisce uno spazio sottile invece di uno spazio regolare.</translation> <translation>Inserisce uno spazio sottile invece di uno spazio regolare.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="701" /> <location filename="../novelwriter/dialogs/preferences.py" line="709" />
<source>Quotation Style</source> <source>Quotation Style</source>
<translation>Stile delle citazioni</translation> <translation>Stile delle citazioni</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="716" /> <location filename="../novelwriter/dialogs/preferences.py" line="724" />
<source>Single quote open style</source> <source>Single quote open style</source>
<translation>Singola virgoletta aperta</translation> <translation>Singola virgoletta aperta</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="717" /> <location filename="../novelwriter/dialogs/preferences.py" line="725" />
<source>The symbol to use for a leading single quote.</source> <source>The symbol to use for a leading single quote.</source>
<translation>Il simbolo da usare per una singola virgoletta iniziale.</translation> <translation>Il simbolo da usare per una singola virgoletta iniziale.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="730" /> <location filename="../novelwriter/dialogs/preferences.py" line="738" />
<source>Single quote close style</source> <source>Single quote close style</source>
<translation>Singola virgoletta chiusa</translation> <translation>Singola virgoletta chiusa</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="731" /> <location filename="../novelwriter/dialogs/preferences.py" line="739" />
<source>The symbol to use for a trailing single quote.</source> <source>The symbol to use for a trailing single quote.</source>
<translation>Il simbolo da usare per una singola virgoletta finale.</translation> <translation>Il simbolo da usare per una singola virgoletta finale.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="745" /> <location filename="../novelwriter/dialogs/preferences.py" line="753" />
<source>Double quote open style</source> <source>Double quote open style</source>
<translation>Doppie virgolette aperte</translation> <translation>Doppie virgolette aperte</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="746" /> <location filename="../novelwriter/dialogs/preferences.py" line="754" />
<source>The symbol to use for a leading double quote.</source> <source>The symbol to use for a leading double quote.</source>
<translation>Il simbolo da usare per avere doppie virgolette iniziali.</translation> <translation>Il simbolo da usare per avere doppie virgolette iniziali.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="759" /> <location filename="../novelwriter/dialogs/preferences.py" line="767" />
<source>Double quote close style</source> <source>Double quote close style</source>
<translation>Doppie virgolette chiuse</translation> <translation>Doppie virgolette chiuse</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="760" /> <location filename="../novelwriter/dialogs/preferences.py" line="768" />
<source>The symbol to use for a trailing double quote.</source> <source>The symbol to use for a trailing double quote.</source>
<translation>Il simbolo da usare per avere doppie virgolette finali.</translation> <translation>Il simbolo da usare per avere doppie virgolette finali.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="831" /> <location filename="../novelwriter/dialogs/preferences.py" line="839" />
<source>Backup Directory</source> <source>Backup Directory</source>
<translation>Percorso di backup</translation> <translation>Percorso di backup</translation>
</message> </message>
+315 -305
View File
File diff suppressed because it is too large Load Diff
+315 -305
View File
File diff suppressed because it is too large Load Diff
+196 -151
View File
@@ -178,68 +178,103 @@
<source>Text Margins</source> <source>Text Margins</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message>
<location filename="../novelwriter/core/buildsettings.py" line="162" />
<source>Title and Partition</source>
<translation type="unfinished" />
</message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="163" /> <location filename="../novelwriter/core/buildsettings.py" line="163" />
<source>Page Layout</source> <source>Heading 1 and Chapter</source>
<translation>Pagina lay-out</translation> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="164" /> <location filename="../novelwriter/core/buildsettings.py" line="164" />
<source>Unit</source> <source>Heading 2 and Scene</source>
<translation>Eenheid</translation> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="165" /> <location filename="../novelwriter/core/buildsettings.py" line="165" />
<source>Page Size</source> <source>Heading 3 and Section</source>
<translation>Paginagrootte</translation> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="166" /> <location filename="../novelwriter/core/buildsettings.py" line="166" />
<source>Page Margins</source> <source>Heading 4</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/core/buildsettings.py" line="167" />
<source>Text Paragraph</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="168" /> <location filename="../novelwriter/core/buildsettings.py" line="168" />
<source>Document Style</source> <source>Scene Separator</source>
<translation type="unfinished">Document stijl</translation> <translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/core/buildsettings.py" line="169" />
<source>Page Header</source>
<translation>Pagina kop</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="170" /> <location filename="../novelwriter/core/buildsettings.py" line="170" />
<source>Page Counter Offset</source> <source>Page Layout</source>
<translation>Pagina teller offset</translation> <translation>Pagina lay-out</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="171" /> <location filename="../novelwriter/core/buildsettings.py" line="171" />
<source>Add Colours to Headings</source> <source>Unit</source>
<translation type="unfinished" /> <translation>Eenheid</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="172" /> <location filename="../novelwriter/core/buildsettings.py" line="172" />
<source>Increase Size of Headings</source> <source>Page Size</source>
<translation type="unfinished" /> <translation>Paginagrootte</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="173" /> <location filename="../novelwriter/core/buildsettings.py" line="173" />
<source>Bold Headings</source> <source>Page Margins</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="175" /> <location filename="../novelwriter/core/buildsettings.py" line="175" />
<source>Document Style</source>
<translation type="unfinished">Document stijl</translation>
</message>
<message>
<location filename="../novelwriter/core/buildsettings.py" line="176" />
<source>Page Header</source>
<translation>Pagina kop</translation>
</message>
<message>
<location filename="../novelwriter/core/buildsettings.py" line="177" />
<source>Page Counter Offset</source>
<translation>Pagina teller offset</translation>
</message>
<message>
<location filename="../novelwriter/core/buildsettings.py" line="178" />
<source>Add Colours to Headings</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/core/buildsettings.py" line="179" />
<source>Increase Size of Headings</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/core/buildsettings.py" line="180" />
<source>Bold Headings</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/core/buildsettings.py" line="182" />
<source>HTML Options</source> <source>HTML Options</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="176" /> <location filename="../novelwriter/core/buildsettings.py" line="183" />
<source>Add CSS Styles</source> <source>Add CSS Styles</source>
<translation>CSS stijlen toevoegen</translation> <translation>CSS stijlen toevoegen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="177" /> <location filename="../novelwriter/core/buildsettings.py" line="184" />
<source>Preserve Tab Characters</source> <source>Preserve Tab Characters</source>
<translation>Tab tekens behouden</translation> <translation>Tab tekens behouden</translation>
</message> </message>
@@ -1363,12 +1398,12 @@
<translation>Status</translation> <translation>Status</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/itemdetails.py" line="98" /> <location filename="../novelwriter/gui/itemdetails.py" line="99" />
<source>Class</source> <source>Class</source>
<translation>Klasse</translation> <translation>Klasse</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/itemdetails.py" line="110" /> <location filename="../novelwriter/gui/itemdetails.py" line="111" />
<source>Usage</source> <source>Usage</source>
<translation>Gebruik</translation> <translation>Gebruik</translation>
</message> </message>
@@ -2595,8 +2630,8 @@
<translation>Lettertype document</translation> <translation>Lettertype document</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="427" /> <location filename="../novelwriter/dialogs/preferences.py" line="435" />
<location filename="../novelwriter/dialogs/preferences.py" line="416" /> <location filename="../novelwriter/dialogs/preferences.py" line="424" />
<location filename="../novelwriter/dialogs/preferences.py" line="247" /> <location filename="../novelwriter/dialogs/preferences.py" line="247" />
<source>Applies to both document editor and viewer.</source> <source>Applies to both document editor and viewer.</source>
<translation>Van toepassing op zowel de documentbewerker als de kijker.</translation> <translation>Van toepassing op zowel de documentbewerker als de kijker.</translation>
@@ -2628,8 +2663,8 @@
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="277" /> <location filename="../novelwriter/dialogs/preferences.py" line="277" />
<source>Auto Save</source> <source>Behaviour</source>
<translation>Automatisch opslaan</translation> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="289" /> <location filename="../novelwriter/dialogs/preferences.py" line="289" />
@@ -2658,443 +2693,453 @@
<translation>Hoe vaak het project automatisch wordt opgeslagen.</translation> <translation>Hoe vaak het project automatisch wordt opgeslagen.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="307" /> <location filename="../novelwriter/dialogs/preferences.py" line="308" />
<source>Ask before exiting novelWriter</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/dialogs/preferences.py" line="309" />
<source>Only applies when a project is open.</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/dialogs/preferences.py" line="315" />
<source>Project Backup</source> <source>Project Backup</source>
<translation>Project Reservekopie</translation> <translation>Project Reservekopie</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="314" /> <location filename="../novelwriter/dialogs/preferences.py" line="322" />
<source>Browse</source> <source>Browse</source>
<translation>Blader</translation> <translation>Blader</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="318" /> <location filename="../novelwriter/dialogs/preferences.py" line="326" />
<source>Backup storage location</source> <source>Backup storage location</source>
<translation>Opslaglocatie voor reservekopie</translation> <translation>Opslaglocatie voor reservekopie</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="835" /> <location filename="../novelwriter/dialogs/preferences.py" line="843" />
<location filename="../novelwriter/dialogs/preferences.py" line="319" /> <location filename="../novelwriter/dialogs/preferences.py" line="327" />
<source>Path: {0}</source> <source>Path: {0}</source>
<translation>Pad: {0}</translation> <translation>Pad: {0}</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="327" /> <location filename="../novelwriter/dialogs/preferences.py" line="335" />
<source>Run backup when the project is closed</source> <source>Run backup when the project is closed</source>
<translation>Reservekopie maken wanneer het project wordt gesloten</translation> <translation>Reservekopie maken wanneer het project wordt gesloten</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="328" /> <location filename="../novelwriter/dialogs/preferences.py" line="336" />
<source>Can be overridden for individual projects in Project Settings.</source> <source>Can be overridden for individual projects in Project Settings.</source>
<translation>Kan voor individuele projecten overschreven worden in Projectinstellingen.</translation> <translation>Kan voor individuele projecten overschreven worden in Projectinstellingen.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="337" /> <location filename="../novelwriter/dialogs/preferences.py" line="345" />
<source>Ask before running backup</source> <source>Ask before running backup</source>
<translation>Vraag voor het maken van een reservekopie</translation> <translation>Vraag voor het maken van een reservekopie</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="338" /> <location filename="../novelwriter/dialogs/preferences.py" line="346" />
<source>If off, backups will run in the background.</source> <source>If off, backups will run in the background.</source>
<translation>Indien uit, worden reservekopieën op de achtergrond gemaakt.</translation> <translation>Indien uit, worden reservekopieën op de achtergrond gemaakt.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="344" /> <location filename="../novelwriter/dialogs/preferences.py" line="352" />
<source>Session Timer</source> <source>Session Timer</source>
<translation>Sessie Timer</translation> <translation>Sessie Timer</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="353" /> <location filename="../novelwriter/dialogs/preferences.py" line="361" />
<source>Pause the session timer when not writing</source> <source>Pause the session timer when not writing</source>
<translation>De sessie timer pauzeren wanneer niet geschreven wordt</translation> <translation>De sessie timer pauzeren wanneer niet geschreven wordt</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="354" /> <location filename="../novelwriter/dialogs/preferences.py" line="362" />
<source>Also pauses when the application window does not have focus.</source> <source>Also pauses when the application window does not have focus.</source>
<translation>Pauzeert ook wanneer het toepassingsvenster geen focus heeft.</translation> <translation>Pauzeert ook wanneer het toepassingsvenster geen focus heeft.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="365" /> <location filename="../novelwriter/dialogs/preferences.py" line="373" />
<source>Editor inactive time before pausing timer</source> <source>Editor inactive time before pausing timer</source>
<translation>Inactieve tekstbewerker duur voordat timer wordt gepauzeerd</translation> <translation>Inactieve tekstbewerker duur voordat timer wordt gepauzeerd</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="366" /> <location filename="../novelwriter/dialogs/preferences.py" line="374" />
<source>User activity includes typing and changing the content.</source> <source>User activity includes typing and changing the content.</source>
<translation>Gebruikersactiviteit omvat typen en het wijzigen van de inhoud.</translation> <translation>Gebruikersactiviteit omvat typen en het wijzigen van de inhoud.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="367" /> <location filename="../novelwriter/dialogs/preferences.py" line="375" />
<source>minutes</source> <source>minutes</source>
<translation>minuten</translation> <translation>minuten</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="371" /> <location filename="../novelwriter/dialogs/preferences.py" line="379" />
<source>Writing</source> <source>Writing</source>
<translation>Schrijven</translation> <translation>Schrijven</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="376" /> <location filename="../novelwriter/dialogs/preferences.py" line="384" />
<source>Text Flow</source> <source>Text Flow</source>
<translation>Tekst Flow</translation> <translation>Tekst Flow</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="388" /> <location filename="../novelwriter/dialogs/preferences.py" line="396" />
<source>Maximum text width in "Normal Mode"</source> <source>Maximum text width in "Normal Mode"</source>
<translation>Maximale tekstbreedte in "Normale Modus"</translation> <translation>Maximale tekstbreedte in "Normale Modus"</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="389" /> <location filename="../novelwriter/dialogs/preferences.py" line="397" />
<source>Set to 0 to disable this feature.</source> <source>Set to 0 to disable this feature.</source>
<translation>Stel in op 0 om deze functie uit te schakelen.</translation> <translation>Stel in op 0 om deze functie uit te schakelen.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="440" /> <location filename="../novelwriter/dialogs/preferences.py" line="448" />
<location filename="../novelwriter/dialogs/preferences.py" line="428" /> <location filename="../novelwriter/dialogs/preferences.py" line="436" />
<location filename="../novelwriter/dialogs/preferences.py" line="400" /> <location filename="../novelwriter/dialogs/preferences.py" line="408" />
<location filename="../novelwriter/dialogs/preferences.py" line="389" /> <location filename="../novelwriter/dialogs/preferences.py" line="397" />
<source>px</source> <source>px</source>
<translation>px</translation> <translation>px</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="399" /> <location filename="../novelwriter/dialogs/preferences.py" line="407" />
<source>Maximum text width in "Focus Mode"</source> <source>Maximum text width in "Focus Mode"</source>
<translation>Maximale tekstbreedte in "Focus Modus"</translation> <translation>Maximale tekstbreedte in "Focus Modus"</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="400" /> <location filename="../novelwriter/dialogs/preferences.py" line="408" />
<source>The maximum width cannot be disabled.</source> <source>The maximum width cannot be disabled.</source>
<translation>De maximale breedte kan niet worden uitgeschakeld.</translation> <translation>De maximale breedte kan niet worden uitgeschakeld.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="407" /> <location filename="../novelwriter/dialogs/preferences.py" line="415" />
<source>Hide document footer in "Focus Mode"</source> <source>Hide document footer in "Focus Mode"</source>
<translation>Verberg document voettekst in "Focus Modus"</translation> <translation>Verberg document voettekst in "Focus Modus"</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="408" /> <location filename="../novelwriter/dialogs/preferences.py" line="416" />
<source>Hide the information bar in the document editor.</source> <source>Hide the information bar in the document editor.</source>
<translation>Verberg de informatiebalk in de documentbewerker.</translation> <translation>Verberg de informatiebalk in de documentbewerker.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="415" /> <location filename="../novelwriter/dialogs/preferences.py" line="423" />
<source>Justify the text margins</source> <source>Justify the text margins</source>
<translation>De tekstmarges uitvullen</translation> <translation>De tekstmarges uitvullen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="426" /> <location filename="../novelwriter/dialogs/preferences.py" line="434" />
<source>Minimum text margin</source> <source>Minimum text margin</source>
<translation>Minimale tekstmarge</translation> <translation>Minimale tekstmarge</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="438" /> <location filename="../novelwriter/dialogs/preferences.py" line="446" />
<source>Tab width</source> <source>Tab width</source>
<translation>Tab breedte</translation> <translation>Tab breedte</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="439" /> <location filename="../novelwriter/dialogs/preferences.py" line="447" />
<source>The width of a tab key press in the editor and viewer.</source> <source>The width of a tab key press in the editor and viewer.</source>
<translation>De breedte van een tab teken in de tekstbewerker en kijker.</translation> <translation>De breedte van een tab teken in de tekstbewerker en kijker.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="446" /> <location filename="../novelwriter/dialogs/preferences.py" line="454" />
<source>Text Editing</source> <source>Text Editing</source>
<translation>Tekstbewerking</translation> <translation>Tekstbewerking</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="466" /> <location filename="../novelwriter/dialogs/preferences.py" line="474" />
<source>Spell check language</source> <source>Spell check language</source>
<translation>Taal voor spellingscontrole</translation> <translation>Taal voor spellingscontrole</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="467" /> <location filename="../novelwriter/dialogs/preferences.py" line="475" />
<source>Available languages are determined by your system.</source> <source>Available languages are determined by your system.</source>
<translation>Beschikbare talen worden bepaald door uw systeem.</translation> <translation>Beschikbare talen worden bepaald door uw systeem.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="474" /> <location filename="../novelwriter/dialogs/preferences.py" line="482" />
<source>Auto-select word under cursor</source> <source>Auto-select word under cursor</source>
<translation>Automatisch woord onder cursor selecteren</translation> <translation>Automatisch woord onder cursor selecteren</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="475" /> <location filename="../novelwriter/dialogs/preferences.py" line="483" />
<source>Apply formatting to word under cursor if no selection is made.</source> <source>Apply formatting to word under cursor if no selection is made.</source>
<translation>Opmaak toepassen op woord onder de cursor als er geen selectie is gemaakt.</translation> <translation>Opmaak toepassen op woord onder de cursor als er geen selectie is gemaakt.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="482" /> <location filename="../novelwriter/dialogs/preferences.py" line="490" />
<source>Show tabs and spaces</source> <source>Show tabs and spaces</source>
<translation>Tabs en spaties weergeven</translation> <translation>Tabs en spaties weergeven</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="489" /> <location filename="../novelwriter/dialogs/preferences.py" line="497" />
<source>Show line endings</source> <source>Show line endings</source>
<translation>Regeleindes weergeven</translation> <translation>Regeleindes weergeven</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="495" /> <location filename="../novelwriter/dialogs/preferences.py" line="503" />
<source>Editor Scrolling</source> <source>Editor Scrolling</source>
<translation>Bewerker scrollen</translation> <translation>Bewerker scrollen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="504" /> <location filename="../novelwriter/dialogs/preferences.py" line="512" />
<source>Scroll past end of the document</source> <source>Scroll past end of the document</source>
<translation>Scroll voorbij het einde van het document</translation> <translation>Scroll voorbij het einde van het document</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="505" /> <location filename="../novelwriter/dialogs/preferences.py" line="513" />
<source>Also centres the cursor when scrolling.</source> <source>Also centres the cursor when scrolling.</source>
<translation>Centreer ook de cursor bij het scrollen.</translation> <translation>Centreer ook de cursor bij het scrollen.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="512" /> <location filename="../novelwriter/dialogs/preferences.py" line="520" />
<source>Typewriter style scrolling when you type</source> <source>Typewriter style scrolling when you type</source>
<translation>Schrijfmachine stijl scrollen bij het typen</translation> <translation>Schrijfmachine stijl scrollen bij het typen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="513" /> <location filename="../novelwriter/dialogs/preferences.py" line="521" />
<source>Keeps the cursor at a fixed vertical position.</source> <source>Keeps the cursor at a fixed vertical position.</source>
<translation>Houd de cursor op een vaste verticale positie.</translation> <translation>Houd de cursor op een vaste verticale positie.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="523" /> <location filename="../novelwriter/dialogs/preferences.py" line="531" />
<source>Minimum position for Typewriter scrolling</source> <source>Minimum position for Typewriter scrolling</source>
<translation>Minimumpositie voor Schrijfmachine scrollen</translation> <translation>Minimumpositie voor Schrijfmachine scrollen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="524" /> <location filename="../novelwriter/dialogs/preferences.py" line="532" />
<source>Percentage of the editor height from the top.</source> <source>Percentage of the editor height from the top.</source>
<translation>Percentage van de tekstverwerker hoogte vanaf de bovenkant.</translation> <translation>Percentage van de tekstverwerker hoogte vanaf de bovenkant.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="530" /> <location filename="../novelwriter/dialogs/preferences.py" line="538" />
<source>Text Highlighting</source> <source>Text Highlighting</source>
<translation>Tekstmarkering</translation> <translation>Tekstmarkering</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="536" /> <location filename="../novelwriter/dialogs/preferences.py" line="544" />
<source>None</source> <source>None</source>
<translation>Geen</translation> <translation>Geen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="537" /> <location filename="../novelwriter/dialogs/preferences.py" line="545" />
<source>Single Quotes</source> <source>Single Quotes</source>
<translation>Enkele aanhalingstekens</translation> <translation>Enkele aanhalingstekens</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="538" /> <location filename="../novelwriter/dialogs/preferences.py" line="546" />
<source>Double Quotes</source> <source>Double Quotes</source>
<translation>Dubbele aanhalingstekens</translation> <translation>Dubbele aanhalingstekens</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="539" /> <location filename="../novelwriter/dialogs/preferences.py" line="547" />
<source>Both</source> <source>Both</source>
<translation>Beide</translation> <translation>Beide</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="542" /> <location filename="../novelwriter/dialogs/preferences.py" line="550" />
<source>Highlight dialogue</source> <source>Highlight dialogue</source>
<translation>Dialoog markeren</translation> <translation>Dialoog markeren</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="543" /> <location filename="../novelwriter/dialogs/preferences.py" line="551" />
<source>Applies to the selected quote styles.</source> <source>Applies to the selected quote styles.</source>
<translation>Van toepassing op de geselecteerde aanhalingsteken stijlen.</translation> <translation>Van toepassing op de geselecteerde aanhalingsteken stijlen.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="559" /> <location filename="../novelwriter/dialogs/preferences.py" line="567" />
<source>Alternative dialogue symbols</source> <source>Alternative dialogue symbols</source>
<translation>Alternatieve dialoogsymbolen</translation> <translation>Alternatieve dialoogsymbolen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="560" /> <location filename="../novelwriter/dialogs/preferences.py" line="568" />
<source>Custom highlighting of dialogue text.</source> <source>Custom highlighting of dialogue text.</source>
<translation>Aangepaste markering van dialoogtekst.</translation> <translation>Aangepaste markering van dialoogtekst.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="566" /> <location filename="../novelwriter/dialogs/preferences.py" line="574" />
<source>Allow open-ended dialogue</source> <source>Allow open-ended dialogue</source>
<translation>Toestaan van open einde dialoog</translation> <translation>Toestaan van open einde dialoog</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="567" /> <location filename="../novelwriter/dialogs/preferences.py" line="575" />
<source>Highlight dialogue line with no closing quote.</source> <source>Highlight dialogue line with no closing quote.</source>
<translation>Markeer de dialoog regel zonder afsluitend aanhalingsteken.</translation> <translation>Markeer de dialoog regel zonder afsluitend aanhalingsteken.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="576" /> <location filename="../novelwriter/dialogs/preferences.py" line="584" />
<source>Dialogue line symbols</source> <source>Dialogue line symbols</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="577" /> <location filename="../novelwriter/dialogs/preferences.py" line="585" />
<source>Lines starting with any of these symbols are dialogue.</source> <source>Lines starting with any of these symbols are dialogue.</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="586" /> <location filename="../novelwriter/dialogs/preferences.py" line="594" />
<source>Narrator break symbol</source> <source>Narrator break symbol</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="587" /> <location filename="../novelwriter/dialogs/preferences.py" line="595" />
<source>Symbol to indicate a narrator break in dialogue.</source> <source>Symbol to indicate a narrator break in dialogue.</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="596" /> <location filename="../novelwriter/dialogs/preferences.py" line="604" />
<source>Alternating dialogue/narration symbol</source> <source>Alternating dialogue/narration symbol</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="597" /> <location filename="../novelwriter/dialogs/preferences.py" line="605" />
<source>Alternates dialogue highlighting within any paragraph.</source> <source>Alternates dialogue highlighting within any paragraph.</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="603" /> <location filename="../novelwriter/dialogs/preferences.py" line="611" />
<source>Add highlight colour to emphasised text</source> <source>Add highlight colour to emphasised text</source>
<translation>Voeg markeerkleur toe aan geaccentueerde tekst</translation> <translation>Voeg markeerkleur toe aan geaccentueerde tekst</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="611" /> <location filename="../novelwriter/dialogs/preferences.py" line="619" />
<location filename="../novelwriter/dialogs/preferences.py" line="604" /> <location filename="../novelwriter/dialogs/preferences.py" line="612" />
<source>Applies to the document editor only.</source> <source>Applies to the document editor only.</source>
<translation>Alleen van toepassing op de tekst bewerker.</translation> <translation>Alleen van toepassing op de tekst bewerker.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="610" /> <location filename="../novelwriter/dialogs/preferences.py" line="618" />
<source>Highlight multiple or trailing spaces</source> <source>Highlight multiple or trailing spaces</source>
<translation>Markeer meerdere of afsluitende spaties</translation> <translation>Markeer meerdere of afsluitende spaties</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="617" /> <location filename="../novelwriter/dialogs/preferences.py" line="625" />
<source>Text Automation</source> <source>Text Automation</source>
<translation>Tekstautomatisering</translation> <translation>Tekstautomatisering</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="629" /> <location filename="../novelwriter/dialogs/preferences.py" line="637" />
<source>Auto-replace text as you type</source> <source>Auto-replace text as you type</source>
<translation>Automatisch tekst vervangen terwijl u typt</translation> <translation>Automatisch tekst vervangen terwijl u typt</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="630" /> <location filename="../novelwriter/dialogs/preferences.py" line="638" />
<source>Allow the editor to replace symbols as you type.</source> <source>Allow the editor to replace symbols as you type.</source>
<translation>Sta de tekstbewerker toe om symbolen te vervangen terwijl u typt.</translation> <translation>Sta de tekstbewerker toe om symbolen te vervangen terwijl u typt.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="638" /> <location filename="../novelwriter/dialogs/preferences.py" line="646" />
<source>Auto-replace single quotes</source> <source>Auto-replace single quotes</source>
<translation>Automatisch enkele aanhalingstekens vervangen</translation> <translation>Automatisch enkele aanhalingstekens vervangen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="648" /> <location filename="../novelwriter/dialogs/preferences.py" line="656" />
<location filename="../novelwriter/dialogs/preferences.py" line="639" /> <location filename="../novelwriter/dialogs/preferences.py" line="647" />
<source>Try to guess which is an opening or a closing quote.</source> <source>Try to guess which is an opening or a closing quote.</source>
<translation>Probeer te raden wat een openend of afsluitend aanhalingsteken is.</translation> <translation>Probeer te raden wat een openend of afsluitend aanhalingsteken is.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="647" /> <location filename="../novelwriter/dialogs/preferences.py" line="655" />
<source>Auto-replace double quotes</source> <source>Auto-replace double quotes</source>
<translation>Automatisch dubbele aanhalingstekens vervangen</translation> <translation>Automatisch dubbele aanhalingstekens vervangen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="656" /> <location filename="../novelwriter/dialogs/preferences.py" line="664" />
<source>Auto-replace dashes</source> <source>Auto-replace dashes</source>
<translation>Automatisch streepjes vervangen</translation> <translation>Automatisch streepjes vervangen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="657" /> <location filename="../novelwriter/dialogs/preferences.py" line="665" />
<source>Double and triple hyphens become short and long dashes.</source> <source>Double and triple hyphens become short and long dashes.</source>
<translation>Dubbele en drievoudige koppeltekens worden korte en lange streepjes.</translation> <translation>Dubbele en drievoudige koppeltekens worden korte en lange streepjes.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="665" /> <location filename="../novelwriter/dialogs/preferences.py" line="673" />
<source>Auto-replace dots</source> <source>Auto-replace dots</source>
<translation>Automatisch stippen vervangen</translation> <translation>Automatisch stippen vervangen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="666" /> <location filename="../novelwriter/dialogs/preferences.py" line="674" />
<source>Three consecutive dots become ellipsis.</source> <source>Three consecutive dots become ellipsis.</source>
<translation>Drie opeenvolgende stippen worden ellips.</translation> <translation>Drie opeenvolgende stippen worden ellips.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="675" /> <location filename="../novelwriter/dialogs/preferences.py" line="683" />
<source>Insert non-breaking space before</source> <source>Insert non-breaking space before</source>
<translation>Vaste spatie invoegen voor</translation> <translation>Vaste spatie invoegen voor</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="676" /> <location filename="../novelwriter/dialogs/preferences.py" line="684" />
<source>Automatically add space before any of these symbols.</source> <source>Automatically add space before any of these symbols.</source>
<translation>Voeg automatisch een spatie toe voor één van deze symbolen.</translation> <translation>Voeg automatisch een spatie toe voor één van deze symbolen.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="685" /> <location filename="../novelwriter/dialogs/preferences.py" line="693" />
<source>Insert non-breaking space after</source> <source>Insert non-breaking space after</source>
<translation>Vaste spatie invoegen na</translation> <translation>Vaste spatie invoegen na</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="686" /> <location filename="../novelwriter/dialogs/preferences.py" line="694" />
<source>Automatically add space after any of these symbols.</source> <source>Automatically add space after any of these symbols.</source>
<translation>Voeg automatisch een spatie toe na één van deze symbolen.</translation> <translation>Voeg automatisch een spatie toe na één van deze symbolen.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="694" /> <location filename="../novelwriter/dialogs/preferences.py" line="702" />
<source>Use thin space instead</source> <source>Use thin space instead</source>
<translation>Gebruik dunne spatie in plaats van</translation> <translation>Gebruik dunne spatie in plaats van</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="695" /> <location filename="../novelwriter/dialogs/preferences.py" line="703" />
<source>Inserts a thin space instead of a regular space.</source> <source>Inserts a thin space instead of a regular space.</source>
<translation>Voegt een dunne spatie toe in plaats van een normale spatie.</translation> <translation>Voegt een dunne spatie toe in plaats van een normale spatie.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="701" /> <location filename="../novelwriter/dialogs/preferences.py" line="709" />
<source>Quotation Style</source> <source>Quotation Style</source>
<translation>Citeer Stijl</translation> <translation>Citeer Stijl</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="716" /> <location filename="../novelwriter/dialogs/preferences.py" line="724" />
<source>Single quote open style</source> <source>Single quote open style</source>
<translation>Enkel aanhalingsteken open stijl</translation> <translation>Enkel aanhalingsteken open stijl</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="717" /> <location filename="../novelwriter/dialogs/preferences.py" line="725" />
<source>The symbol to use for a leading single quote.</source> <source>The symbol to use for a leading single quote.</source>
<translation>Het symbool om te gebruiken voor een leidend enkel aanhalingsteken.</translation> <translation>Het symbool om te gebruiken voor een leidend enkel aanhalingsteken.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="730" /> <location filename="../novelwriter/dialogs/preferences.py" line="738" />
<source>Single quote close style</source> <source>Single quote close style</source>
<translation>Enkel aanhalingsteken sluit stijl</translation> <translation>Enkel aanhalingsteken sluit stijl</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="731" /> <location filename="../novelwriter/dialogs/preferences.py" line="739" />
<source>The symbol to use for a trailing single quote.</source> <source>The symbol to use for a trailing single quote.</source>
<translation>Het symbool om te gebruiken voor een afsluitend enkel aanhalingsteken.</translation> <translation>Het symbool om te gebruiken voor een afsluitend enkel aanhalingsteken.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="745" /> <location filename="../novelwriter/dialogs/preferences.py" line="753" />
<source>Double quote open style</source> <source>Double quote open style</source>
<translation>Dubbele aanhalingsteken open stijl</translation> <translation>Dubbele aanhalingsteken open stijl</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="746" /> <location filename="../novelwriter/dialogs/preferences.py" line="754" />
<source>The symbol to use for a leading double quote.</source> <source>The symbol to use for a leading double quote.</source>
<translation>Het symbool om te gebruiken voor een leidend dubbel aanhalingsteken.</translation> <translation>Het symbool om te gebruiken voor een leidend dubbel aanhalingsteken.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="759" /> <location filename="../novelwriter/dialogs/preferences.py" line="767" />
<source>Double quote close style</source> <source>Double quote close style</source>
<translation>Dubbel aanhalingsteken sluit stijl</translation> <translation>Dubbel aanhalingsteken sluit stijl</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="760" /> <location filename="../novelwriter/dialogs/preferences.py" line="768" />
<source>The symbol to use for a trailing double quote.</source> <source>The symbol to use for a trailing double quote.</source>
<translation>Het symbool om te gebruiken voor een afsluitend dubbel aanhalingsteken.</translation> <translation>Het symbool om te gebruiken voor een afsluitend dubbel aanhalingsteken.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="831" /> <location filename="../novelwriter/dialogs/preferences.py" line="839" />
<source>Backup Directory</source> <source>Backup Directory</source>
<translation>Reservekopie map</translation> <translation>Reservekopie map</translation>
</message> </message>
@@ -3739,7 +3784,7 @@
<context> <context>
<name>NovelSelector</name> <name>NovelSelector</name>
<message> <message>
<location filename="../novelwriter/extensions/novelselector.py" line="111" /> <location filename="../novelwriter/extensions/novelselector.py" line="112" />
<source>All Novel Folders</source> <source>All Novel Folders</source>
<translation>Alle Roman Mappen</translation> <translation>Alle Roman Mappen</translation>
</message> </message>
@@ -4896,121 +4941,121 @@
<context> <context>
<name>_TreeContextMenu</name> <name>_TreeContextMenu</name>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1136" /> <location filename="../novelwriter/gui/projtree.py" line="1133" />
<source>Empty Trash</source> <source>Empty Trash</source>
<translation>Prullenbak legen</translation> <translation>Prullenbak legen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1157" /> <location filename="../novelwriter/gui/projtree.py" line="1154" />
<source>Rename</source> <source>Rename</source>
<translation>Hernoemen</translation> <translation>Hernoemen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1172" /> <location filename="../novelwriter/gui/projtree.py" line="1169" />
<source>Duplicate</source> <source>Duplicate</source>
<translation>Dupliceren</translation> <translation>Dupliceren</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1192" /> <location filename="../novelwriter/gui/projtree.py" line="1189" />
<source>Open Document</source> <source>Open Document</source>
<translation>Document openen</translation> <translation>Document openen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1197" /> <location filename="../novelwriter/gui/projtree.py" line="1194" />
<source>View Document</source> <source>View Document</source>
<translation>Bekijk document</translation> <translation>Bekijk document</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1206" /> <location filename="../novelwriter/gui/projtree.py" line="1203" />
<source>Create New ...</source> <source>Create New ...</source>
<translation>Nieuwe aanmaken...</translation> <translation>Nieuwe aanmaken...</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1218" /> <location filename="../novelwriter/gui/projtree.py" line="1215" />
<source>Rename to Heading</source> <source>Rename to Heading</source>
<translation>Hernoemen naar titel</translation> <translation>Hernoemen naar titel</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1227" /> <location filename="../novelwriter/gui/projtree.py" line="1224" />
<source>Set Active to ...</source> <source>Set Active to ...</source>
<translation>Stel Actief in op...</translation> <translation>Stel Actief in op...</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1233" /> <location filename="../novelwriter/gui/projtree.py" line="1230" />
<source>Toggle Active</source> <source>Toggle Active</source>
<translation>Schakel actief</translation> <translation>Schakel actief</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1240" /> <location filename="../novelwriter/gui/projtree.py" line="1237" />
<source>Set Status to ...</source> <source>Set Status to ...</source>
<translation>Status instellen op ...</translation> <translation>Status instellen op ...</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1270" /> <location filename="../novelwriter/gui/projtree.py" line="1267" />
<location filename="../novelwriter/gui/projtree.py" line="1252" /> <location filename="../novelwriter/gui/projtree.py" line="1249" />
<source>Manage Labels ...</source> <source>Manage Labels ...</source>
<translation>Labels beheren ...</translation> <translation>Labels beheren ...</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1258" /> <location filename="../novelwriter/gui/projtree.py" line="1255" />
<source>Set Importance to ...</source> <source>Set Importance to ...</source>
<translation>Belangrijkheid instellen op ...</translation> <translation>Belangrijkheid instellen op ...</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1279" /> <location filename="../novelwriter/gui/projtree.py" line="1276" />
<source>Transform ...</source> <source>Transform ...</source>
<translation>Transformeren ...</translation> <translation>Transformeren ...</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1301" /> <location filename="../novelwriter/gui/projtree.py" line="1298" />
<location filename="../novelwriter/gui/projtree.py" line="1297" /> <location filename="../novelwriter/gui/projtree.py" line="1294" />
<location filename="../novelwriter/gui/projtree.py" line="1293" /> <location filename="../novelwriter/gui/projtree.py" line="1290" />
<location filename="../novelwriter/gui/projtree.py" line="1289" /> <location filename="../novelwriter/gui/projtree.py" line="1286" />
<source>Convert to {0}</source> <source>Convert to {0}</source>
<translation>Converteer naar {0}</translation> <translation>Converteer naar {0}</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1305" /> <location filename="../novelwriter/gui/projtree.py" line="1302" />
<source>Merge Child Items into Self</source> <source>Merge Child Items into Self</source>
<translation>Onderliggende items samenvoegen in zelf</translation> <translation>Onderliggende items samenvoegen in zelf</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1307" /> <location filename="../novelwriter/gui/projtree.py" line="1304" />
<source>Merge Child Items into New</source> <source>Merge Child Items into New</source>
<translation>Onderliggende items samenvoegen in nieuw</translation> <translation>Onderliggende items samenvoegen in nieuw</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1311" /> <location filename="../novelwriter/gui/projtree.py" line="1308" />
<source>Merge Documents in Folder</source> <source>Merge Documents in Folder</source>
<translation>Documenten in Map Samenvoegen</translation> <translation>Documenten in Map Samenvoegen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1315" /> <location filename="../novelwriter/gui/projtree.py" line="1312" />
<source>Split Document by Headings</source> <source>Split Document by Headings</source>
<translation>Document splitsen op koppen</translation> <translation>Document splitsen op koppen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1322" /> <location filename="../novelwriter/gui/projtree.py" line="1319" />
<source>Expand All</source> <source>Expand All</source>
<translation>Alles Uitklappen</translation> <translation>Alles Uitklappen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1324" /> <location filename="../novelwriter/gui/projtree.py" line="1321" />
<source>Collapse All</source> <source>Collapse All</source>
<translation>Alles Samenvouwen</translation> <translation>Alles Samenvouwen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1334" /> <location filename="../novelwriter/gui/projtree.py" line="1331" />
<source>Delete Permanently</source> <source>Delete Permanently</source>
<translation>Permanent Verwijderen</translation> <translation>Permanent Verwijderen</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1336" /> <location filename="../novelwriter/gui/projtree.py" line="1333" />
<source>Move to Trash</source> <source>Move to Trash</source>
<translation>Verplaatsen naar Prullenbak</translation> <translation>Verplaatsen naar Prullenbak</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1412" /> <location filename="../novelwriter/gui/projtree.py" line="1409" />
<source>Do you want to convert the folder to a {0}? This action cannot be reversed.</source> <source>Do you want to convert the folder to a {0}? This action cannot be reversed.</source>
<translation>Wilt u de map converteren naar een {0}? Deze actie kan niet ongedaan worden gemaakt.</translation> <translation>Wilt u de map converteren naar een {0}? Deze actie kan niet ongedaan worden gemaakt.</translation>
</message> </message>
@@ -5018,7 +5063,7 @@
<context> <context>
<name>_UpdatableMenu</name> <name>_UpdatableMenu</name>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1050" /> <location filename="../novelwriter/gui/projtree.py" line="1047" />
<source>From Template</source> <source>From Template</source>
<translation>Van sjabloon</translation> <translation>Van sjabloon</translation>
</message> </message>
+107 -97
View File
@@ -2630,8 +2630,8 @@
<translation>Czcionka dokumentu</translation> <translation>Czcionka dokumentu</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="427" /> <location filename="../novelwriter/dialogs/preferences.py" line="435" />
<location filename="../novelwriter/dialogs/preferences.py" line="416" /> <location filename="../novelwriter/dialogs/preferences.py" line="424" />
<location filename="../novelwriter/dialogs/preferences.py" line="247" /> <location filename="../novelwriter/dialogs/preferences.py" line="247" />
<source>Applies to both document editor and viewer.</source> <source>Applies to both document editor and viewer.</source>
<translation>Dotyczy zarówno edytora, jak i okna podglądu.</translation> <translation>Dotyczy zarówno edytora, jak i okna podglądu.</translation>
@@ -2663,8 +2663,8 @@
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="277" /> <location filename="../novelwriter/dialogs/preferences.py" line="277" />
<source>Auto Save</source> <source>Behaviour</source>
<translation>Autozapis</translation> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="289" /> <location filename="../novelwriter/dialogs/preferences.py" line="289" />
@@ -2693,443 +2693,453 @@
<translation>Jak często projekt ma być zapisywany automatycznie.</translation> <translation>Jak często projekt ma być zapisywany automatycznie.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="307" /> <location filename="../novelwriter/dialogs/preferences.py" line="308" />
<source>Ask before exiting novelWriter</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/dialogs/preferences.py" line="309" />
<source>Only applies when a project is open.</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/dialogs/preferences.py" line="315" />
<source>Project Backup</source> <source>Project Backup</source>
<translation>Kopia zapasowa projektu</translation> <translation>Kopia zapasowa projektu</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="314" /> <location filename="../novelwriter/dialogs/preferences.py" line="322" />
<source>Browse</source> <source>Browse</source>
<translation>Przeglądaj</translation> <translation>Przeglądaj</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="318" /> <location filename="../novelwriter/dialogs/preferences.py" line="326" />
<source>Backup storage location</source> <source>Backup storage location</source>
<translation>Lokalizacja kopii zapasowych</translation> <translation>Lokalizacja kopii zapasowych</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="835" /> <location filename="../novelwriter/dialogs/preferences.py" line="843" />
<location filename="../novelwriter/dialogs/preferences.py" line="319" /> <location filename="../novelwriter/dialogs/preferences.py" line="327" />
<source>Path: {0}</source> <source>Path: {0}</source>
<translation>Ścieżka: {0}</translation> <translation>Ścieżka: {0}</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="327" /> <location filename="../novelwriter/dialogs/preferences.py" line="335" />
<source>Run backup when the project is closed</source> <source>Run backup when the project is closed</source>
<translation>Wykonuj kopię zapasową podczas zamykania projektu</translation> <translation>Wykonuj kopię zapasową podczas zamykania projektu</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="328" /> <location filename="../novelwriter/dialogs/preferences.py" line="336" />
<source>Can be overridden for individual projects in Project Settings.</source> <source>Can be overridden for individual projects in Project Settings.</source>
<translation>Może zostać zmienione dla konkretnych projektów w ustawieniach projektu.</translation> <translation>Może zostać zmienione dla konkretnych projektów w ustawieniach projektu.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="337" /> <location filename="../novelwriter/dialogs/preferences.py" line="345" />
<source>Ask before running backup</source> <source>Ask before running backup</source>
<translation>Zapytaj przed stworzeniem kopii zapasowej</translation> <translation>Zapytaj przed stworzeniem kopii zapasowej</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="338" /> <location filename="../novelwriter/dialogs/preferences.py" line="346" />
<source>If off, backups will run in the background.</source> <source>If off, backups will run in the background.</source>
<translation>Jeśli wyłączone, to kopie zapasowe będą tworzone w tle.</translation> <translation>Jeśli wyłączone, to kopie zapasowe będą tworzone w tle.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="344" /> <location filename="../novelwriter/dialogs/preferences.py" line="352" />
<source>Session Timer</source> <source>Session Timer</source>
<translation>Licznik sesji</translation> <translation>Licznik sesji</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="353" /> <location filename="../novelwriter/dialogs/preferences.py" line="361" />
<source>Pause the session timer when not writing</source> <source>Pause the session timer when not writing</source>
<translation>Zatrzymaj licznik sesji, gdy pisanie jest przerwane</translation> <translation>Zatrzymaj licznik sesji, gdy pisanie jest przerwane</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="354" /> <location filename="../novelwriter/dialogs/preferences.py" line="362" />
<source>Also pauses when the application window does not have focus.</source> <source>Also pauses when the application window does not have focus.</source>
<translation>Licznik zatrzymuje się również, kiedy okno programu jest nieaktywne.</translation> <translation>Licznik zatrzymuje się również, kiedy okno programu jest nieaktywne.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="365" /> <location filename="../novelwriter/dialogs/preferences.py" line="373" />
<source>Editor inactive time before pausing timer</source> <source>Editor inactive time before pausing timer</source>
<translation>Czas nieaktywności edytora przed zatrzymaniem licznika</translation> <translation>Czas nieaktywności edytora przed zatrzymaniem licznika</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="366" /> <location filename="../novelwriter/dialogs/preferences.py" line="374" />
<source>User activity includes typing and changing the content.</source> <source>User activity includes typing and changing the content.</source>
<translation>Aktywność użytkownika oznacza pisanie oraz zmianę zawartości.</translation> <translation>Aktywność użytkownika oznacza pisanie oraz zmianę zawartości.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="367" /> <location filename="../novelwriter/dialogs/preferences.py" line="375" />
<source>minutes</source> <source>minutes</source>
<translation>minuty</translation> <translation>minuty</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="371" /> <location filename="../novelwriter/dialogs/preferences.py" line="379" />
<source>Writing</source> <source>Writing</source>
<translation>Pisanie</translation> <translation>Pisanie</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="376" /> <location filename="../novelwriter/dialogs/preferences.py" line="384" />
<source>Text Flow</source> <source>Text Flow</source>
<translation>Przepływ tekstu</translation> <translation>Przepływ tekstu</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="388" /> <location filename="../novelwriter/dialogs/preferences.py" line="396" />
<source>Maximum text width in "Normal Mode"</source> <source>Maximum text width in "Normal Mode"</source>
<translation>Maksymalna szerokość tekstu w trybie normalnym</translation> <translation>Maksymalna szerokość tekstu w trybie normalnym</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="389" /> <location filename="../novelwriter/dialogs/preferences.py" line="397" />
<source>Set to 0 to disable this feature.</source> <source>Set to 0 to disable this feature.</source>
<translation>Ustaw jako 0, żeby wyłączyć opcję.</translation> <translation>Ustaw jako 0, żeby wyłączyć opcję.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="440" /> <location filename="../novelwriter/dialogs/preferences.py" line="448" />
<location filename="../novelwriter/dialogs/preferences.py" line="428" /> <location filename="../novelwriter/dialogs/preferences.py" line="436" />
<location filename="../novelwriter/dialogs/preferences.py" line="400" /> <location filename="../novelwriter/dialogs/preferences.py" line="408" />
<location filename="../novelwriter/dialogs/preferences.py" line="389" /> <location filename="../novelwriter/dialogs/preferences.py" line="397" />
<source>px</source> <source>px</source>
<translation>px</translation> <translation>px</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="399" /> <location filename="../novelwriter/dialogs/preferences.py" line="407" />
<source>Maximum text width in "Focus Mode"</source> <source>Maximum text width in "Focus Mode"</source>
<translation>Maksymalna szerokość tekstu w trybie skupienia</translation> <translation>Maksymalna szerokość tekstu w trybie skupienia</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="400" /> <location filename="../novelwriter/dialogs/preferences.py" line="408" />
<source>The maximum width cannot be disabled.</source> <source>The maximum width cannot be disabled.</source>
<translation>Maksymalna szerokość nie może być wyłączona.</translation> <translation>Maksymalna szerokość nie może być wyłączona.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="407" /> <location filename="../novelwriter/dialogs/preferences.py" line="415" />
<source>Hide document footer in "Focus Mode"</source> <source>Hide document footer in "Focus Mode"</source>
<translation>Ukryj dolny pasek dokumentu w trybie skupienia</translation> <translation>Ukryj dolny pasek dokumentu w trybie skupienia</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="408" /> <location filename="../novelwriter/dialogs/preferences.py" line="416" />
<source>Hide the information bar in the document editor.</source> <source>Hide the information bar in the document editor.</source>
<translation>Ukryj pasek informacji w edytorze dokumentu.</translation> <translation>Ukryj pasek informacji w edytorze dokumentu.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="415" /> <location filename="../novelwriter/dialogs/preferences.py" line="423" />
<source>Justify the text margins</source> <source>Justify the text margins</source>
<translation>Wyjustuj marginesy tekstu</translation> <translation>Wyjustuj marginesy tekstu</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="426" /> <location filename="../novelwriter/dialogs/preferences.py" line="434" />
<source>Minimum text margin</source> <source>Minimum text margin</source>
<translation>Minimalny margines tekstu</translation> <translation>Minimalny margines tekstu</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="438" /> <location filename="../novelwriter/dialogs/preferences.py" line="446" />
<source>Tab width</source> <source>Tab width</source>
<translation>Szerokość tabulatora</translation> <translation>Szerokość tabulatora</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="439" /> <location filename="../novelwriter/dialogs/preferences.py" line="447" />
<source>The width of a tab key press in the editor and viewer.</source> <source>The width of a tab key press in the editor and viewer.</source>
<translation>Szerokość znaku tabulacji w edytorze i oknie podglądu.</translation> <translation>Szerokość znaku tabulacji w edytorze i oknie podglądu.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="446" /> <location filename="../novelwriter/dialogs/preferences.py" line="454" />
<source>Text Editing</source> <source>Text Editing</source>
<translation>Edycja tekstu</translation> <translation>Edycja tekstu</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="466" /> <location filename="../novelwriter/dialogs/preferences.py" line="474" />
<source>Spell check language</source> <source>Spell check language</source>
<translation>Język sprawdzania pisowni</translation> <translation>Język sprawdzania pisowni</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="467" /> <location filename="../novelwriter/dialogs/preferences.py" line="475" />
<source>Available languages are determined by your system.</source> <source>Available languages are determined by your system.</source>
<translation>Dostępne języki zależą od twojego systemu.</translation> <translation>Dostępne języki zależą od twojego systemu.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="474" /> <location filename="../novelwriter/dialogs/preferences.py" line="482" />
<source>Auto-select word under cursor</source> <source>Auto-select word under cursor</source>
<translation>Automatycznie wybieraj słowo pod kursorem</translation> <translation>Automatycznie wybieraj słowo pod kursorem</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="475" /> <location filename="../novelwriter/dialogs/preferences.py" line="483" />
<source>Apply formatting to word under cursor if no selection is made.</source> <source>Apply formatting to word under cursor if no selection is made.</source>
<translation>Nadaj formatowanie słowu pod kursorem, jeśli nic nie zostało zaznaczone.</translation> <translation>Nadaj formatowanie słowu pod kursorem, jeśli nic nie zostało zaznaczone.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="482" /> <location filename="../novelwriter/dialogs/preferences.py" line="490" />
<source>Show tabs and spaces</source> <source>Show tabs and spaces</source>
<translation>Pokazuj spacje i znaki tabulacji</translation> <translation>Pokazuj spacje i znaki tabulacji</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="489" /> <location filename="../novelwriter/dialogs/preferences.py" line="497" />
<source>Show line endings</source> <source>Show line endings</source>
<translation>Pokazuj znaki końca wiersza</translation> <translation>Pokazuj znaki końca wiersza</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="495" /> <location filename="../novelwriter/dialogs/preferences.py" line="503" />
<source>Editor Scrolling</source> <source>Editor Scrolling</source>
<translation>Przewijanie w edytorze</translation> <translation>Przewijanie w edytorze</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="504" /> <location filename="../novelwriter/dialogs/preferences.py" line="512" />
<source>Scroll past end of the document</source> <source>Scroll past end of the document</source>
<translation>Przewijaj poza koniec dokumentu</translation> <translation>Przewijaj poza koniec dokumentu</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="505" /> <location filename="../novelwriter/dialogs/preferences.py" line="513" />
<source>Also centres the cursor when scrolling.</source> <source>Also centres the cursor when scrolling.</source>
<translation>Również wyśrodkowuje kursor podczas przewijania.</translation> <translation>Również wyśrodkowuje kursor podczas przewijania.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="512" /> <location filename="../novelwriter/dialogs/preferences.py" line="520" />
<source>Typewriter style scrolling when you type</source> <source>Typewriter style scrolling when you type</source>
<translation>Przewijanie w stylu maszyny do pisania podczas wprowadzania tekstu</translation> <translation>Przewijanie w stylu maszyny do pisania podczas wprowadzania tekstu</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="513" /> <location filename="../novelwriter/dialogs/preferences.py" line="521" />
<source>Keeps the cursor at a fixed vertical position.</source> <source>Keeps the cursor at a fixed vertical position.</source>
<translation>Utrzymuje kursor w na stałej pozycji w pionie.</translation> <translation>Utrzymuje kursor w na stałej pozycji w pionie.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="523" /> <location filename="../novelwriter/dialogs/preferences.py" line="531" />
<source>Minimum position for Typewriter scrolling</source> <source>Minimum position for Typewriter scrolling</source>
<translation>Minimalna pozycja do przewijania w stylu maszyny do pisania</translation> <translation>Minimalna pozycja do przewijania w stylu maszyny do pisania</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="524" /> <location filename="../novelwriter/dialogs/preferences.py" line="532" />
<source>Percentage of the editor height from the top.</source> <source>Percentage of the editor height from the top.</source>
<translation>Procentowa wysokość od góry edytora.</translation> <translation>Procentowa wysokość od góry edytora.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="530" /> <location filename="../novelwriter/dialogs/preferences.py" line="538" />
<source>Text Highlighting</source> <source>Text Highlighting</source>
<translation>Wyróżnianie tekstu</translation> <translation>Wyróżnianie tekstu</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="536" /> <location filename="../novelwriter/dialogs/preferences.py" line="544" />
<source>None</source> <source>None</source>
<translation>Żaden</translation> <translation>Żaden</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="537" /> <location filename="../novelwriter/dialogs/preferences.py" line="545" />
<source>Single Quotes</source> <source>Single Quotes</source>
<translation>Pojedynczy cudzysłów</translation> <translation>Pojedynczy cudzysłów</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="538" /> <location filename="../novelwriter/dialogs/preferences.py" line="546" />
<source>Double Quotes</source> <source>Double Quotes</source>
<translation>Podwójny cudzysłów</translation> <translation>Podwójny cudzysłów</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="539" /> <location filename="../novelwriter/dialogs/preferences.py" line="547" />
<source>Both</source> <source>Both</source>
<translation>Obydwa</translation> <translation>Obydwa</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="542" /> <location filename="../novelwriter/dialogs/preferences.py" line="550" />
<source>Highlight dialogue</source> <source>Highlight dialogue</source>
<translation>Wyróżniaj dialogi</translation> <translation>Wyróżniaj dialogi</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="543" /> <location filename="../novelwriter/dialogs/preferences.py" line="551" />
<source>Applies to the selected quote styles.</source> <source>Applies to the selected quote styles.</source>
<translation>Dotyczy wybranych stylów cudzysłowu.</translation> <translation>Dotyczy wybranych stylów cudzysłowu.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="559" /> <location filename="../novelwriter/dialogs/preferences.py" line="567" />
<source>Alternative dialogue symbols</source> <source>Alternative dialogue symbols</source>
<translation>Alternatywne symbole kwestii dialogowych</translation> <translation>Alternatywne symbole kwestii dialogowych</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="560" /> <location filename="../novelwriter/dialogs/preferences.py" line="568" />
<source>Custom highlighting of dialogue text.</source> <source>Custom highlighting of dialogue text.</source>
<translation>Niestandardowe wyróżnienie kwestii dialogowej.</translation> <translation>Niestandardowe wyróżnienie kwestii dialogowej.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="566" /> <location filename="../novelwriter/dialogs/preferences.py" line="574" />
<source>Allow open-ended dialogue</source> <source>Allow open-ended dialogue</source>
<translation>Zezwalaj na otwarty dialog</translation> <translation>Zezwalaj na otwarty dialog</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="567" /> <location filename="../novelwriter/dialogs/preferences.py" line="575" />
<source>Highlight dialogue line with no closing quote.</source> <source>Highlight dialogue line with no closing quote.</source>
<translation>Wyróżniaj dialog bez cudzysłowu zamykającego.</translation> <translation>Wyróżniaj dialog bez cudzysłowu zamykającego.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="576" /> <location filename="../novelwriter/dialogs/preferences.py" line="584" />
<source>Dialogue line symbols</source> <source>Dialogue line symbols</source>
<translation>Symbol kwestii dialogowej</translation> <translation>Symbol kwestii dialogowej</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="577" /> <location filename="../novelwriter/dialogs/preferences.py" line="585" />
<source>Lines starting with any of these symbols are dialogue.</source> <source>Lines starting with any of these symbols are dialogue.</source>
<translation>Wiersze zaczynające się od tego symbolu dialogiem.</translation> <translation>Wiersze zaczynające się od tego symbolu dialogiem.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="586" /> <location filename="../novelwriter/dialogs/preferences.py" line="594" />
<source>Narrator break symbol</source> <source>Narrator break symbol</source>
<translation>Symbol wtrącenia narratora</translation> <translation>Symbol wtrącenia narratora</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="587" /> <location filename="../novelwriter/dialogs/preferences.py" line="595" />
<source>Symbol to indicate a narrator break in dialogue.</source> <source>Symbol to indicate a narrator break in dialogue.</source>
<translation>Symbol wskazujący na wtrącenie narratora w dialogu.</translation> <translation>Symbol wskazujący na wtrącenie narratora w dialogu.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="596" /> <location filename="../novelwriter/dialogs/preferences.py" line="604" />
<source>Alternating dialogue/narration symbol</source> <source>Alternating dialogue/narration symbol</source>
<translation>Symbol przeplatania dialogu i narracji</translation> <translation>Symbol przeplatania dialogu i narracji</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="597" /> <location filename="../novelwriter/dialogs/preferences.py" line="605" />
<source>Alternates dialogue highlighting within any paragraph.</source> <source>Alternates dialogue highlighting within any paragraph.</source>
<translation>Zmienia wyróżnianie dialogu w dowolnym akapicie.</translation> <translation>Zmienia wyróżnianie dialogu w dowolnym akapicie.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="603" /> <location filename="../novelwriter/dialogs/preferences.py" line="611" />
<source>Add highlight colour to emphasised text</source> <source>Add highlight colour to emphasised text</source>
<translation>Nadaj kolor wyróżnionemu tekstowi</translation> <translation>Nadaj kolor wyróżnionemu tekstowi</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="611" /> <location filename="../novelwriter/dialogs/preferences.py" line="619" />
<location filename="../novelwriter/dialogs/preferences.py" line="604" /> <location filename="../novelwriter/dialogs/preferences.py" line="612" />
<source>Applies to the document editor only.</source> <source>Applies to the document editor only.</source>
<translation>Dotyczy tylko edytora dokumentów.</translation> <translation>Dotyczy tylko edytora dokumentów.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="610" /> <location filename="../novelwriter/dialogs/preferences.py" line="618" />
<source>Highlight multiple or trailing spaces</source> <source>Highlight multiple or trailing spaces</source>
<translation>Wyświetlaj spacje wielokrotne lub znajdujące się na końcu linii</translation> <translation>Wyświetlaj spacje wielokrotne lub znajdujące się na końcu linii</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="617" /> <location filename="../novelwriter/dialogs/preferences.py" line="625" />
<source>Text Automation</source> <source>Text Automation</source>
<translation>Automatyzacja tekstu</translation> <translation>Automatyzacja tekstu</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="629" /> <location filename="../novelwriter/dialogs/preferences.py" line="637" />
<source>Auto-replace text as you type</source> <source>Auto-replace text as you type</source>
<translation>Automatycznie zastępuj tekst podczas pisania</translation> <translation>Automatycznie zastępuj tekst podczas pisania</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="630" /> <location filename="../novelwriter/dialogs/preferences.py" line="638" />
<source>Allow the editor to replace symbols as you type.</source> <source>Allow the editor to replace symbols as you type.</source>
<translation>Pozwól, żeby edytor zastępował symbole w trakcie ich wprowadzania.</translation> <translation>Pozwól, żeby edytor zastępował symbole w trakcie ich wprowadzania.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="638" /> <location filename="../novelwriter/dialogs/preferences.py" line="646" />
<source>Auto-replace single quotes</source> <source>Auto-replace single quotes</source>
<translation>Automatycznie zastępuj pojedyncze cudzysłowy</translation> <translation>Automatycznie zastępuj pojedyncze cudzysłowy</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="648" /> <location filename="../novelwriter/dialogs/preferences.py" line="656" />
<location filename="../novelwriter/dialogs/preferences.py" line="639" /> <location filename="../novelwriter/dialogs/preferences.py" line="647" />
<source>Try to guess which is an opening or a closing quote.</source> <source>Try to guess which is an opening or a closing quote.</source>
<translation>Próbuj zgadnąć, czy cudzysłów jest otwierający czy zamykający.</translation> <translation>Próbuj zgadnąć, czy cudzysłów jest otwierający czy zamykający.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="647" /> <location filename="../novelwriter/dialogs/preferences.py" line="655" />
<source>Auto-replace double quotes</source> <source>Auto-replace double quotes</source>
<translation>Automatycznie zastępuj podwójne cudzysłowy</translation> <translation>Automatycznie zastępuj podwójne cudzysłowy</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="656" /> <location filename="../novelwriter/dialogs/preferences.py" line="664" />
<source>Auto-replace dashes</source> <source>Auto-replace dashes</source>
<translation>Automatycznie zastępuj myślniki</translation> <translation>Automatycznie zastępuj myślniki</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="657" /> <location filename="../novelwriter/dialogs/preferences.py" line="665" />
<source>Double and triple hyphens become short and long dashes.</source> <source>Double and triple hyphens become short and long dashes.</source>
<translation>Podwójne i potrójne dywizy zamieniane na półpauzy i pauzy.</translation> <translation>Podwójne i potrójne dywizy zamieniane na półpauzy i pauzy.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="665" /> <location filename="../novelwriter/dialogs/preferences.py" line="673" />
<source>Auto-replace dots</source> <source>Auto-replace dots</source>
<translation>Automatycznie zastępuj kropki</translation> <translation>Automatycznie zastępuj kropki</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="666" /> <location filename="../novelwriter/dialogs/preferences.py" line="674" />
<source>Three consecutive dots become ellipsis.</source> <source>Three consecutive dots become ellipsis.</source>
<translation>Trzy kolejne kropki zamieniane na wielokropek.</translation> <translation>Trzy kolejne kropki zamieniane na wielokropek.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="675" /> <location filename="../novelwriter/dialogs/preferences.py" line="683" />
<source>Insert non-breaking space before</source> <source>Insert non-breaking space before</source>
<translation>Wstawiaj spację niełamiącą przed</translation> <translation>Wstawiaj spację niełamiącą przed</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="676" /> <location filename="../novelwriter/dialogs/preferences.py" line="684" />
<source>Automatically add space before any of these symbols.</source> <source>Automatically add space before any of these symbols.</source>
<translation>Automatycznie dodawaj spację przed jednym z tych znaków.</translation> <translation>Automatycznie dodawaj spację przed jednym z tych znaków.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="685" /> <location filename="../novelwriter/dialogs/preferences.py" line="693" />
<source>Insert non-breaking space after</source> <source>Insert non-breaking space after</source>
<translation>Wstawiaj spację niełamiącą po</translation> <translation>Wstawiaj spację niełamiącą po</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="686" /> <location filename="../novelwriter/dialogs/preferences.py" line="694" />
<source>Automatically add space after any of these symbols.</source> <source>Automatically add space after any of these symbols.</source>
<translation>Automatycznie dodawaj spację po jednym z tych znaków.</translation> <translation>Automatycznie dodawaj spację po jednym z tych znaków.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="694" /> <location filename="../novelwriter/dialogs/preferences.py" line="702" />
<source>Use thin space instead</source> <source>Use thin space instead</source>
<translation>Używaj wąskiej spacji</translation> <translation>Używaj wąskiej spacji</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="695" /> <location filename="../novelwriter/dialogs/preferences.py" line="703" />
<source>Inserts a thin space instead of a regular space.</source> <source>Inserts a thin space instead of a regular space.</source>
<translation>Wstawia wąską spację zamiast zwykłej.</translation> <translation>Wstawia wąską spację zamiast zwykłej.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="701" /> <location filename="../novelwriter/dialogs/preferences.py" line="709" />
<source>Quotation Style</source> <source>Quotation Style</source>
<translation>Style znaków cytowania</translation> <translation>Style znaków cytowania</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="716" /> <location filename="../novelwriter/dialogs/preferences.py" line="724" />
<source>Single quote open style</source> <source>Single quote open style</source>
<translation>Pojedynczy otwierający cudzysłów</translation> <translation>Pojedynczy otwierający cudzysłów</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="717" /> <location filename="../novelwriter/dialogs/preferences.py" line="725" />
<source>The symbol to use for a leading single quote.</source> <source>The symbol to use for a leading single quote.</source>
<translation>Symbol używany jako początkowy znak cytowania.</translation> <translation>Symbol używany jako początkowy znak cytowania.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="730" /> <location filename="../novelwriter/dialogs/preferences.py" line="738" />
<source>Single quote close style</source> <source>Single quote close style</source>
<translation>Pojedynczy zamykający cudzysłów</translation> <translation>Pojedynczy zamykający cudzysłów</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="731" /> <location filename="../novelwriter/dialogs/preferences.py" line="739" />
<source>The symbol to use for a trailing single quote.</source> <source>The symbol to use for a trailing single quote.</source>
<translation>Symbol używany jako końcowy znak cytowania.</translation> <translation>Symbol używany jako końcowy znak cytowania.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="745" /> <location filename="../novelwriter/dialogs/preferences.py" line="753" />
<source>Double quote open style</source> <source>Double quote open style</source>
<translation>Podwójny otwierający cudzysłów</translation> <translation>Podwójny otwierający cudzysłów</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="746" /> <location filename="../novelwriter/dialogs/preferences.py" line="754" />
<source>The symbol to use for a leading double quote.</source> <source>The symbol to use for a leading double quote.</source>
<translation>Symbol używany jako początkowy znak cytowania.</translation> <translation>Symbol używany jako początkowy znak cytowania.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="759" /> <location filename="../novelwriter/dialogs/preferences.py" line="767" />
<source>Double quote close style</source> <source>Double quote close style</source>
<translation>Podwójny zamykający cudzysłów</translation> <translation>Podwójny zamykający cudzysłów</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="760" /> <location filename="../novelwriter/dialogs/preferences.py" line="768" />
<source>The symbol to use for a trailing double quote.</source> <source>The symbol to use for a trailing double quote.</source>
<translation>Symbol używany jako końcowy znak cytowania.</translation> <translation>Symbol używany jako końcowy znak cytowania.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="831" /> <location filename="../novelwriter/dialogs/preferences.py" line="839" />
<source>Backup Directory</source> <source>Backup Directory</source>
<translation>Katalog kopii zapasowych</translation> <translation>Katalog kopii zapasowych</translation>
</message> </message>
+116 -106
View File
@@ -66,7 +66,7 @@
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="135" /> <location filename="../novelwriter/core/buildsettings.py" line="135" />
<source>Partition Styling</source> <source>Partition Styling</source>
<translation>Estilo da parte</translation> <translation>Estilo de parte</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="136" /> <location filename="../novelwriter/core/buildsettings.py" line="136" />
@@ -181,42 +181,42 @@
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="162" /> <location filename="../novelwriter/core/buildsettings.py" line="162" />
<source>Title and Partition</source> <source>Title and Partition</source>
<translation type="unfinished" /> <translation>Título e parte</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="163" /> <location filename="../novelwriter/core/buildsettings.py" line="163" />
<source>Heading 1 and Chapter</source> <source>Heading 1 and Chapter</source>
<translation type="unfinished" /> <translation>Cabeçalho 1 e capítulo</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="164" /> <location filename="../novelwriter/core/buildsettings.py" line="164" />
<source>Heading 2 and Scene</source> <source>Heading 2 and Scene</source>
<translation type="unfinished" /> <translation>Cabeçalho 2 e cena</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="165" /> <location filename="../novelwriter/core/buildsettings.py" line="165" />
<source>Heading 3 and Section</source> <source>Heading 3 and Section</source>
<translation type="unfinished" /> <translation>Cabeçalho 3 e seção</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="166" /> <location filename="../novelwriter/core/buildsettings.py" line="166" />
<source>Heading 4</source> <source>Heading 4</source>
<translation type="unfinished" /> <translation>Cabeçalho 4</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="167" /> <location filename="../novelwriter/core/buildsettings.py" line="167" />
<source>Text Paragraph</source> <source>Text Paragraph</source>
<translation type="unfinished">Parágrafo de texto</translation> <translation>Parágrafo</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="168" /> <location filename="../novelwriter/core/buildsettings.py" line="168" />
<source>Scene Separator</source> <source>Scene Separator</source>
<translation type="unfinished">Separador de cena</translation> <translation>Separador de cena</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="170" /> <location filename="../novelwriter/core/buildsettings.py" line="170" />
<source>Page Layout</source> <source>Page Layout</source>
<translation>Layout da página</translation> <translation>Formato da página</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="171" /> <location filename="../novelwriter/core/buildsettings.py" line="171" />
@@ -2630,8 +2630,8 @@
<translation>Fonte do documento</translation> <translation>Fonte do documento</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="427" /> <location filename="../novelwriter/dialogs/preferences.py" line="435" />
<location filename="../novelwriter/dialogs/preferences.py" line="416" /> <location filename="../novelwriter/dialogs/preferences.py" line="424" />
<location filename="../novelwriter/dialogs/preferences.py" line="247" /> <location filename="../novelwriter/dialogs/preferences.py" line="247" />
<source>Applies to both document editor and viewer.</source> <source>Applies to both document editor and viewer.</source>
<translation>Aplica-se ao editor e à visualização de documentos.</translation> <translation>Aplica-se ao editor e à visualização de documentos.</translation>
@@ -2663,8 +2663,8 @@
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="277" /> <location filename="../novelwriter/dialogs/preferences.py" line="277" />
<source>Auto Save</source> <source>Behaviour</source>
<translation>Salvamento automático</translation> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="289" /> <location filename="../novelwriter/dialogs/preferences.py" line="289" />
@@ -2693,443 +2693,453 @@
<translation>Com qual frequência o projeto é salvo automaticamente.</translation> <translation>Com qual frequência o projeto é salvo automaticamente.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="307" /> <location filename="../novelwriter/dialogs/preferences.py" line="308" />
<source>Ask before exiting novelWriter</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/dialogs/preferences.py" line="309" />
<source>Only applies when a project is open.</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/dialogs/preferences.py" line="315" />
<source>Project Backup</source> <source>Project Backup</source>
<translation>Cópia de segurança</translation> <translation>Cópia de segurança</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="314" /> <location filename="../novelwriter/dialogs/preferences.py" line="322" />
<source>Browse</source> <source>Browse</source>
<translation>Explorar</translation> <translation>Explorar</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="318" /> <location filename="../novelwriter/dialogs/preferences.py" line="326" />
<source>Backup storage location</source> <source>Backup storage location</source>
<translation>Local da cópia de segurança</translation> <translation>Local da cópia de segurança</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="835" /> <location filename="../novelwriter/dialogs/preferences.py" line="843" />
<location filename="../novelwriter/dialogs/preferences.py" line="319" /> <location filename="../novelwriter/dialogs/preferences.py" line="327" />
<source>Path: {0}</source> <source>Path: {0}</source>
<translation>Caminho: {0}</translation> <translation>Caminho: {0}</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="327" /> <location filename="../novelwriter/dialogs/preferences.py" line="335" />
<source>Run backup when the project is closed</source> <source>Run backup when the project is closed</source>
<translation>Criar cópia de segurança quando o projeto é fechado</translation> <translation>Criar cópia de segurança quando o projeto é fechado</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="328" /> <location filename="../novelwriter/dialogs/preferences.py" line="336" />
<source>Can be overridden for individual projects in Project Settings.</source> <source>Can be overridden for individual projects in Project Settings.</source>
<translation>Pode ser sobrescrito por projeto individual nas configurações do projeto.</translation> <translation>Pode ser sobrescrito por projeto individual nas configurações do projeto.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="337" /> <location filename="../novelwriter/dialogs/preferences.py" line="345" />
<source>Ask before running backup</source> <source>Ask before running backup</source>
<translation>Perguntar antes de criar cópia de segurança</translation> <translation>Perguntar antes de criar cópia de segurança</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="338" /> <location filename="../novelwriter/dialogs/preferences.py" line="346" />
<source>If off, backups will run in the background.</source> <source>If off, backups will run in the background.</source>
<translation>Se desativado, cópias de segurança serão criadas em segundo plano.</translation> <translation>Se desativado, cópias de segurança serão criadas em segundo plano.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="344" /> <location filename="../novelwriter/dialogs/preferences.py" line="352" />
<source>Session Timer</source> <source>Session Timer</source>
<translation>Temporizador de sessão</translation> <translation>Temporizador de sessão</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="353" /> <location filename="../novelwriter/dialogs/preferences.py" line="361" />
<source>Pause the session timer when not writing</source> <source>Pause the session timer when not writing</source>
<translation>Pausar o temporizador de sessão quando não estiver escrevendo</translation> <translation>Pausar o temporizador de sessão quando não estiver escrevendo</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="354" /> <location filename="../novelwriter/dialogs/preferences.py" line="362" />
<source>Also pauses when the application window does not have focus.</source> <source>Also pauses when the application window does not have focus.</source>
<translation>Também pausa quando a janela do programa não estiver em foco.</translation> <translation>Também pausa quando a janela do programa não estiver em foco.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="365" /> <location filename="../novelwriter/dialogs/preferences.py" line="373" />
<source>Editor inactive time before pausing timer</source> <source>Editor inactive time before pausing timer</source>
<translation>Tempo de inatividade do editor antes de pausar o temporizador</translation> <translation>Tempo de inatividade do editor antes de pausar o temporizador</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="366" /> <location filename="../novelwriter/dialogs/preferences.py" line="374" />
<source>User activity includes typing and changing the content.</source> <source>User activity includes typing and changing the content.</source>
<translation>Atividades de usuário incluem digitar e modificar o conteúdo.</translation> <translation>Atividades de usuário incluem digitar e modificar o conteúdo.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="367" /> <location filename="../novelwriter/dialogs/preferences.py" line="375" />
<source>minutes</source> <source>minutes</source>
<translation>minutos</translation> <translation>minutos</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="371" /> <location filename="../novelwriter/dialogs/preferences.py" line="379" />
<source>Writing</source> <source>Writing</source>
<translation>Escrita</translation> <translation>Escrita</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="376" /> <location filename="../novelwriter/dialogs/preferences.py" line="384" />
<source>Text Flow</source> <source>Text Flow</source>
<translation>Fluxo do texto</translation> <translation>Fluxo do texto</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="388" /> <location filename="../novelwriter/dialogs/preferences.py" line="396" />
<source>Maximum text width in "Normal Mode"</source> <source>Maximum text width in "Normal Mode"</source>
<translation>Largura máxima do texto no "Modo Normal"</translation> <translation>Largura máxima do texto no "Modo Normal"</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="389" /> <location filename="../novelwriter/dialogs/preferences.py" line="397" />
<source>Set to 0 to disable this feature.</source> <source>Set to 0 to disable this feature.</source>
<translation>Use 0 para desativar esta função.</translation> <translation>Use 0 para desativar esta função.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="440" /> <location filename="../novelwriter/dialogs/preferences.py" line="448" />
<location filename="../novelwriter/dialogs/preferences.py" line="428" /> <location filename="../novelwriter/dialogs/preferences.py" line="436" />
<location filename="../novelwriter/dialogs/preferences.py" line="400" /> <location filename="../novelwriter/dialogs/preferences.py" line="408" />
<location filename="../novelwriter/dialogs/preferences.py" line="389" /> <location filename="../novelwriter/dialogs/preferences.py" line="397" />
<source>px</source> <source>px</source>
<translation>px</translation> <translation>px</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="399" /> <location filename="../novelwriter/dialogs/preferences.py" line="407" />
<source>Maximum text width in "Focus Mode"</source> <source>Maximum text width in "Focus Mode"</source>
<translation>Largura máxima do texto no "Modo Foco"</translation> <translation>Largura máxima do texto no "Modo Foco"</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="400" /> <location filename="../novelwriter/dialogs/preferences.py" line="408" />
<source>The maximum width cannot be disabled.</source> <source>The maximum width cannot be disabled.</source>
<translation>A largura máxima não pode ser desativada.</translation> <translation>A largura máxima não pode ser desativada.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="407" /> <location filename="../novelwriter/dialogs/preferences.py" line="415" />
<source>Hide document footer in "Focus Mode"</source> <source>Hide document footer in "Focus Mode"</source>
<translation>Ocultar o rodapé do documento no "Modo Foco"</translation> <translation>Ocultar o rodapé do documento no "Modo Foco"</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="408" /> <location filename="../novelwriter/dialogs/preferences.py" line="416" />
<source>Hide the information bar in the document editor.</source> <source>Hide the information bar in the document editor.</source>
<translation>Ocultar a barra de informações do editor de documentos.</translation> <translation>Ocultar a barra de informações do editor de documentos.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="415" /> <location filename="../novelwriter/dialogs/preferences.py" line="423" />
<source>Justify the text margins</source> <source>Justify the text margins</source>
<translation>Justificar as margens do texto</translation> <translation>Justificar as margens do texto</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="426" /> <location filename="../novelwriter/dialogs/preferences.py" line="434" />
<source>Minimum text margin</source> <source>Minimum text margin</source>
<translation>Margem de texto mínima</translation> <translation>Margem de texto mínima</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="438" /> <location filename="../novelwriter/dialogs/preferences.py" line="446" />
<source>Tab width</source> <source>Tab width</source>
<translation>Largura da tabulação</translation> <translation>Largura da tabulação</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="439" /> <location filename="../novelwriter/dialogs/preferences.py" line="447" />
<source>The width of a tab key press in the editor and viewer.</source> <source>The width of a tab key press in the editor and viewer.</source>
<translation>Largura da tabulação no editor e visualizador.</translation> <translation>Largura da tabulação no editor e visualizador.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="446" /> <location filename="../novelwriter/dialogs/preferences.py" line="454" />
<source>Text Editing</source> <source>Text Editing</source>
<translation>Edição de texto</translation> <translation>Edição de texto</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="466" /> <location filename="../novelwriter/dialogs/preferences.py" line="474" />
<source>Spell check language</source> <source>Spell check language</source>
<translation>Idioma da verificação ortográfica</translation> <translation>Idioma da verificação ortográfica</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="467" /> <location filename="../novelwriter/dialogs/preferences.py" line="475" />
<source>Available languages are determined by your system.</source> <source>Available languages are determined by your system.</source>
<translation>Os idiomas disponíveis são determinados pelo seu sistema.</translation> <translation>Os idiomas disponíveis são determinados pelo seu sistema.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="474" /> <location filename="../novelwriter/dialogs/preferences.py" line="482" />
<source>Auto-select word under cursor</source> <source>Auto-select word under cursor</source>
<translation>Selecionar automaticamente a palavra sob o cursor</translation> <translation>Selecionar automaticamente a palavra sob o cursor</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="475" /> <location filename="../novelwriter/dialogs/preferences.py" line="483" />
<source>Apply formatting to word under cursor if no selection is made.</source> <source>Apply formatting to word under cursor if no selection is made.</source>
<translation>Aplicar a formatação à palavra sob o cursor se nenhuma seleção for feita.</translation> <translation>Aplicar a formatação à palavra sob o cursor se nenhuma seleção for feita.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="482" /> <location filename="../novelwriter/dialogs/preferences.py" line="490" />
<source>Show tabs and spaces</source> <source>Show tabs and spaces</source>
<translation>Mostrar tabulações e espaços</translation> <translation>Mostrar tabulações e espaços</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="489" /> <location filename="../novelwriter/dialogs/preferences.py" line="497" />
<source>Show line endings</source> <source>Show line endings</source>
<translation>Mostrar terminações de linha</translation> <translation>Mostrar terminações de linha</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="495" /> <location filename="../novelwriter/dialogs/preferences.py" line="503" />
<source>Editor Scrolling</source> <source>Editor Scrolling</source>
<translation>Rolagem do editor</translation> <translation>Rolagem do editor</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="504" /> <location filename="../novelwriter/dialogs/preferences.py" line="512" />
<source>Scroll past end of the document</source> <source>Scroll past end of the document</source>
<translation>Rolar após o final do documento</translation> <translation>Rolar após o final do documento</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="505" /> <location filename="../novelwriter/dialogs/preferences.py" line="513" />
<source>Also centres the cursor when scrolling.</source> <source>Also centres the cursor when scrolling.</source>
<translation>Também centraliza o cursor ao rolar.</translation> <translation>Também centraliza o cursor ao rolar.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="512" /> <location filename="../novelwriter/dialogs/preferences.py" line="520" />
<source>Typewriter style scrolling when you type</source> <source>Typewriter style scrolling when you type</source>
<translation>Rolagem no estilo de máquina de escrever ao digitar</translation> <translation>Rolagem no estilo de máquina de escrever ao digitar</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="513" /> <location filename="../novelwriter/dialogs/preferences.py" line="521" />
<source>Keeps the cursor at a fixed vertical position.</source> <source>Keeps the cursor at a fixed vertical position.</source>
<translation>Mantém o cursor em uma posição vertical fixa.</translation> <translation>Mantém o cursor em uma posição vertical fixa.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="523" /> <location filename="../novelwriter/dialogs/preferences.py" line="531" />
<source>Minimum position for Typewriter scrolling</source> <source>Minimum position for Typewriter scrolling</source>
<translation>Posição mínima para a rolagem de máquina de escrever</translation> <translation>Posição mínima para a rolagem de máquina de escrever</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="524" /> <location filename="../novelwriter/dialogs/preferences.py" line="532" />
<source>Percentage of the editor height from the top.</source> <source>Percentage of the editor height from the top.</source>
<translation>Porcentagem da altura do editor desde o topo.</translation> <translation>Porcentagem da altura do editor desde o topo.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="530" /> <location filename="../novelwriter/dialogs/preferences.py" line="538" />
<source>Text Highlighting</source> <source>Text Highlighting</source>
<translation>Destaque de texto</translation> <translation>Destaque de texto</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="536" /> <location filename="../novelwriter/dialogs/preferences.py" line="544" />
<source>None</source> <source>None</source>
<translation>Nenhum</translation> <translation>Nenhum</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="537" /> <location filename="../novelwriter/dialogs/preferences.py" line="545" />
<source>Single Quotes</source> <source>Single Quotes</source>
<translation>Aspas simples</translation> <translation>Aspas simples</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="538" /> <location filename="../novelwriter/dialogs/preferences.py" line="546" />
<source>Double Quotes</source> <source>Double Quotes</source>
<translation>Aspas duplas</translation> <translation>Aspas duplas</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="539" /> <location filename="../novelwriter/dialogs/preferences.py" line="547" />
<source>Both</source> <source>Both</source>
<translation>Ambos</translation> <translation>Ambos</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="542" /> <location filename="../novelwriter/dialogs/preferences.py" line="550" />
<source>Highlight dialogue</source> <source>Highlight dialogue</source>
<translation>Destacar diálogo</translation> <translation>Destacar diálogo</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="543" /> <location filename="../novelwriter/dialogs/preferences.py" line="551" />
<source>Applies to the selected quote styles.</source> <source>Applies to the selected quote styles.</source>
<translation>Aplica-se aos estilos de aspas selecionados.</translation> <translation>Aplica-se aos estilos de aspas selecionados.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="559" /> <location filename="../novelwriter/dialogs/preferences.py" line="567" />
<source>Alternative dialogue symbols</source> <source>Alternative dialogue symbols</source>
<translation>Símbolos de diálogos alternativos</translation> <translation>Símbolos de diálogos alternativos</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="560" /> <location filename="../novelwriter/dialogs/preferences.py" line="568" />
<source>Custom highlighting of dialogue text.</source> <source>Custom highlighting of dialogue text.</source>
<translation>Destaque personalizado do texto do diálogo.</translation> <translation>Destaque personalizado do texto do diálogo.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="566" /> <location filename="../novelwriter/dialogs/preferences.py" line="574" />
<source>Allow open-ended dialogue</source> <source>Allow open-ended dialogue</source>
<translation>Permitir diálogo sem aspas de fechamento</translation> <translation>Permitir diálogo sem aspas de fechamento</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="567" /> <location filename="../novelwriter/dialogs/preferences.py" line="575" />
<source>Highlight dialogue line with no closing quote.</source> <source>Highlight dialogue line with no closing quote.</source>
<translation>Destacar a linha de diálogo sem aspas de fechamento.</translation> <translation>Destacar a linha de diálogo sem aspas de fechamento.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="576" /> <location filename="../novelwriter/dialogs/preferences.py" line="584" />
<source>Dialogue line symbols</source> <source>Dialogue line symbols</source>
<translation>Símbolos de diálogo</translation> <translation>Símbolos de diálogo</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="577" /> <location filename="../novelwriter/dialogs/preferences.py" line="585" />
<source>Lines starting with any of these symbols are dialogue.</source> <source>Lines starting with any of these symbols are dialogue.</source>
<translation>Linhas que começam com qualquer um destes símbolos são diálogo.</translation> <translation>Linhas que começam com qualquer um destes símbolos são diálogo.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="586" /> <location filename="../novelwriter/dialogs/preferences.py" line="594" />
<source>Narrator break symbol</source> <source>Narrator break symbol</source>
<translation>Símbolo de intervenção do narrador</translation> <translation>Símbolo de intervenção do narrador</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="587" /> <location filename="../novelwriter/dialogs/preferences.py" line="595" />
<source>Symbol to indicate a narrator break in dialogue.</source> <source>Symbol to indicate a narrator break in dialogue.</source>
<translation>Símbolo para indicar a intervenção do narrador em uma linha de diálogo.</translation> <translation>Símbolo para indicar a intervenção do narrador em uma linha de diálogo.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="596" /> <location filename="../novelwriter/dialogs/preferences.py" line="604" />
<source>Alternating dialogue/narration symbol</source> <source>Alternating dialogue/narration symbol</source>
<translation>Símbolo de alternância diálogo/narração</translation> <translation>Símbolo de alternância diálogo/narração</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="597" /> <location filename="../novelwriter/dialogs/preferences.py" line="605" />
<source>Alternates dialogue highlighting within any paragraph.</source> <source>Alternates dialogue highlighting within any paragraph.</source>
<translation>Alterna o destaque dos diálogos em um mesmo parágrafo.</translation> <translation>Alterna o destaque dos diálogos em um mesmo parágrafo.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="603" /> <location filename="../novelwriter/dialogs/preferences.py" line="611" />
<source>Add highlight colour to emphasised text</source> <source>Add highlight colour to emphasised text</source>
<translation>Adicionar cor de destaque ao texto enfatizado</translation> <translation>Adicionar cor de destaque ao texto enfatizado</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="611" /> <location filename="../novelwriter/dialogs/preferences.py" line="619" />
<location filename="../novelwriter/dialogs/preferences.py" line="604" /> <location filename="../novelwriter/dialogs/preferences.py" line="612" />
<source>Applies to the document editor only.</source> <source>Applies to the document editor only.</source>
<translation>Aplica-se apenas ao editor de documentos.</translation> <translation>Aplica-se apenas ao editor de documentos.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="610" /> <location filename="../novelwriter/dialogs/preferences.py" line="618" />
<source>Highlight multiple or trailing spaces</source> <source>Highlight multiple or trailing spaces</source>
<translation>Destacar espaços múltiplos ou finais</translation> <translation>Destacar espaços múltiplos ou finais</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="617" /> <location filename="../novelwriter/dialogs/preferences.py" line="625" />
<source>Text Automation</source> <source>Text Automation</source>
<translation>Substituição ao digitar</translation> <translation>Substituição ao digitar</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="629" /> <location filename="../novelwriter/dialogs/preferences.py" line="637" />
<source>Auto-replace text as you type</source> <source>Auto-replace text as you type</source>
<translation>Substituir automaticamente o texto ao digitar</translation> <translation>Substituir automaticamente o texto ao digitar</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="630" /> <location filename="../novelwriter/dialogs/preferences.py" line="638" />
<source>Allow the editor to replace symbols as you type.</source> <source>Allow the editor to replace symbols as you type.</source>
<translation>Permite que o editor substitua símbolos conforme você digita.</translation> <translation>Permite que o editor substitua símbolos conforme você digita.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="638" /> <location filename="../novelwriter/dialogs/preferences.py" line="646" />
<source>Auto-replace single quotes</source> <source>Auto-replace single quotes</source>
<translation>Substituir aspas simples automaticamente</translation> <translation>Substituir aspas simples automaticamente</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="648" /> <location filename="../novelwriter/dialogs/preferences.py" line="656" />
<location filename="../novelwriter/dialogs/preferences.py" line="639" /> <location filename="../novelwriter/dialogs/preferences.py" line="647" />
<source>Try to guess which is an opening or a closing quote.</source> <source>Try to guess which is an opening or a closing quote.</source>
<translation>Tenta adivinhar se a aspa é de abertura ou de fechamento.</translation> <translation>Tenta adivinhar se a aspa é de abertura ou de fechamento.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="647" /> <location filename="../novelwriter/dialogs/preferences.py" line="655" />
<source>Auto-replace double quotes</source> <source>Auto-replace double quotes</source>
<translation>Substituir aspas duplas automaticamente</translation> <translation>Substituir aspas duplas automaticamente</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="656" /> <location filename="../novelwriter/dialogs/preferences.py" line="664" />
<source>Auto-replace dashes</source> <source>Auto-replace dashes</source>
<translation>Substituir travessões automaticamente</translation> <translation>Substituir travessões automaticamente</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="657" /> <location filename="../novelwriter/dialogs/preferences.py" line="665" />
<source>Double and triple hyphens become short and long dashes.</source> <source>Double and triple hyphens become short and long dashes.</source>
<translation>Hífens duplos ou triplos são substituídos por travessões curtos (en dash) ou longos (em dash).</translation> <translation>Hífens duplos ou triplos são substituídos por travessões curtos (en dash) ou longos (em dash).</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="665" /> <location filename="../novelwriter/dialogs/preferences.py" line="673" />
<source>Auto-replace dots</source> <source>Auto-replace dots</source>
<translation>Substituir pontos automaticamente</translation> <translation>Substituir pontos automaticamente</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="666" /> <location filename="../novelwriter/dialogs/preferences.py" line="674" />
<source>Three consecutive dots become ellipsis.</source> <source>Three consecutive dots become ellipsis.</source>
<translation>Três pontos consecutivos são substituídos por reticências.</translation> <translation>Três pontos consecutivos são substituídos por reticências.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="675" /> <location filename="../novelwriter/dialogs/preferences.py" line="683" />
<source>Insert non-breaking space before</source> <source>Insert non-breaking space before</source>
<translation>Inserir espaço não-separável antes de</translation> <translation>Inserir espaço não-separável antes de</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="676" /> <location filename="../novelwriter/dialogs/preferences.py" line="684" />
<source>Automatically add space before any of these symbols.</source> <source>Automatically add space before any of these symbols.</source>
<translation>Adiciona automaticamente um espaço não-separável antes de cada um desses símbolos.</translation> <translation>Adiciona automaticamente um espaço não-separável antes de cada um desses símbolos.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="685" /> <location filename="../novelwriter/dialogs/preferences.py" line="693" />
<source>Insert non-breaking space after</source> <source>Insert non-breaking space after</source>
<translation>Inserir espaço não-separável após</translation> <translation>Inserir espaço não-separável após</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="686" /> <location filename="../novelwriter/dialogs/preferences.py" line="694" />
<source>Automatically add space after any of these symbols.</source> <source>Automatically add space after any of these symbols.</source>
<translation>Adiciona automaticamente um espaço não-separável após cada um desses símbolos.</translation> <translation>Adiciona automaticamente um espaço não-separável após cada um desses símbolos.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="694" /> <location filename="../novelwriter/dialogs/preferences.py" line="702" />
<source>Use thin space instead</source> <source>Use thin space instead</source>
<translation>Usar espaço estreito</translation> <translation>Usar espaço estreito</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="695" /> <location filename="../novelwriter/dialogs/preferences.py" line="703" />
<source>Inserts a thin space instead of a regular space.</source> <source>Inserts a thin space instead of a regular space.</source>
<translation>Insere um espaço estreito em vez de um espaço regular.</translation> <translation>Insere um espaço estreito em vez de um espaço regular.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="701" /> <location filename="../novelwriter/dialogs/preferences.py" line="709" />
<source>Quotation Style</source> <source>Quotation Style</source>
<translation>Estilo de aspas</translation> <translation>Estilo de aspas</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="716" /> <location filename="../novelwriter/dialogs/preferences.py" line="724" />
<source>Single quote open style</source> <source>Single quote open style</source>
<translation>Estilo da aspa de abertura simples</translation> <translation>Estilo da aspa de abertura simples</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="717" /> <location filename="../novelwriter/dialogs/preferences.py" line="725" />
<source>The symbol to use for a leading single quote.</source> <source>The symbol to use for a leading single quote.</source>
<translation>Símbolo usado para a aspa simples à esquerda.</translation> <translation>Símbolo usado para a aspa simples à esquerda.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="730" /> <location filename="../novelwriter/dialogs/preferences.py" line="738" />
<source>Single quote close style</source> <source>Single quote close style</source>
<translation>Estilo da aspa de fechamento simples</translation> <translation>Estilo da aspa de fechamento simples</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="731" /> <location filename="../novelwriter/dialogs/preferences.py" line="739" />
<source>The symbol to use for a trailing single quote.</source> <source>The symbol to use for a trailing single quote.</source>
<translation>Símbolo usado para a aspa simples à direita.</translation> <translation>Símbolo usado para a aspa simples à direita.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="745" /> <location filename="../novelwriter/dialogs/preferences.py" line="753" />
<source>Double quote open style</source> <source>Double quote open style</source>
<translation>Estilo da aspa de abertura dupla</translation> <translation>Estilo da aspa de abertura dupla</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="746" /> <location filename="../novelwriter/dialogs/preferences.py" line="754" />
<source>The symbol to use for a leading double quote.</source> <source>The symbol to use for a leading double quote.</source>
<translation>Símbolo usado para a aspa dupla à esquerda.</translation> <translation>Símbolo usado para a aspa dupla à esquerda.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="759" /> <location filename="../novelwriter/dialogs/preferences.py" line="767" />
<source>Double quote close style</source> <source>Double quote close style</source>
<translation>Estilo da aspa de fechamento dupla</translation> <translation>Estilo da aspa de fechamento dupla</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="760" /> <location filename="../novelwriter/dialogs/preferences.py" line="768" />
<source>The symbol to use for a trailing double quote.</source> <source>The symbol to use for a trailing double quote.</source>
<translation>Símbolo usado para a aspa dupla à direita.</translation> <translation>Símbolo usado para a aspa dupla à direita.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="831" /> <location filename="../novelwriter/dialogs/preferences.py" line="839" />
<source>Backup Directory</source> <source>Backup Directory</source>
<translation>Diretório da cópia de segurança</translation> <translation>Diretório da cópia de segurança</translation>
</message> </message>
+196 -151
View File
@@ -178,68 +178,103 @@
<source>Text Margins</source> <source>Text Margins</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message>
<location filename="../novelwriter/core/buildsettings.py" line="162" />
<source>Title and Partition</source>
<translation type="unfinished" />
</message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="163" /> <location filename="../novelwriter/core/buildsettings.py" line="163" />
<source>Page Layout</source> <source>Heading 1 and Chapter</source>
<translation>Макет страницы</translation> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="164" /> <location filename="../novelwriter/core/buildsettings.py" line="164" />
<source>Unit</source> <source>Heading 2 and Scene</source>
<translation>Единицы</translation> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="165" /> <location filename="../novelwriter/core/buildsettings.py" line="165" />
<source>Page Size</source> <source>Heading 3 and Section</source>
<translation>Размер страницы</translation> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="166" /> <location filename="../novelwriter/core/buildsettings.py" line="166" />
<source>Page Margins</source> <source>Heading 4</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/core/buildsettings.py" line="167" />
<source>Text Paragraph</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="168" /> <location filename="../novelwriter/core/buildsettings.py" line="168" />
<source>Document Style</source> <source>Scene Separator</source>
<translation type="unfinished">Стиль документов</translation> <translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/core/buildsettings.py" line="169" />
<source>Page Header</source>
<translation>Заголовок страницы</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="170" /> <location filename="../novelwriter/core/buildsettings.py" line="170" />
<source>Page Counter Offset</source> <source>Page Layout</source>
<translation>Смещение счётчика страниц</translation> <translation>Макет страницы</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="171" /> <location filename="../novelwriter/core/buildsettings.py" line="171" />
<source>Add Colours to Headings</source> <source>Unit</source>
<translation type="unfinished" /> <translation>Единицы</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="172" /> <location filename="../novelwriter/core/buildsettings.py" line="172" />
<source>Increase Size of Headings</source> <source>Page Size</source>
<translation type="unfinished" /> <translation>Размер страницы</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="173" /> <location filename="../novelwriter/core/buildsettings.py" line="173" />
<source>Bold Headings</source> <source>Page Margins</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="175" /> <location filename="../novelwriter/core/buildsettings.py" line="175" />
<source>Document Style</source>
<translation type="unfinished">Стиль документов</translation>
</message>
<message>
<location filename="../novelwriter/core/buildsettings.py" line="176" />
<source>Page Header</source>
<translation>Заголовок страницы</translation>
</message>
<message>
<location filename="../novelwriter/core/buildsettings.py" line="177" />
<source>Page Counter Offset</source>
<translation>Смещение счётчика страниц</translation>
</message>
<message>
<location filename="../novelwriter/core/buildsettings.py" line="178" />
<source>Add Colours to Headings</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/core/buildsettings.py" line="179" />
<source>Increase Size of Headings</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/core/buildsettings.py" line="180" />
<source>Bold Headings</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/core/buildsettings.py" line="182" />
<source>HTML Options</source> <source>HTML Options</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="176" /> <location filename="../novelwriter/core/buildsettings.py" line="183" />
<source>Add CSS Styles</source> <source>Add CSS Styles</source>
<translation>Добавить CSS Стили</translation> <translation>Добавить CSS Стили</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/core/buildsettings.py" line="177" /> <location filename="../novelwriter/core/buildsettings.py" line="184" />
<source>Preserve Tab Characters</source> <source>Preserve Tab Characters</source>
<translation>Сохранить символы вкладки</translation> <translation>Сохранить символы вкладки</translation>
</message> </message>
@@ -1363,12 +1398,12 @@
<translation>Статус</translation> <translation>Статус</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/itemdetails.py" line="98" /> <location filename="../novelwriter/gui/itemdetails.py" line="99" />
<source>Class</source> <source>Class</source>
<translation>Класс</translation> <translation>Класс</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/itemdetails.py" line="110" /> <location filename="../novelwriter/gui/itemdetails.py" line="111" />
<source>Usage</source> <source>Usage</source>
<translation>Используется</translation> <translation>Используется</translation>
</message> </message>
@@ -2595,8 +2630,8 @@
<translation>Шрифт документов</translation> <translation>Шрифт документов</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="427" /> <location filename="../novelwriter/dialogs/preferences.py" line="435" />
<location filename="../novelwriter/dialogs/preferences.py" line="416" /> <location filename="../novelwriter/dialogs/preferences.py" line="424" />
<location filename="../novelwriter/dialogs/preferences.py" line="247" /> <location filename="../novelwriter/dialogs/preferences.py" line="247" />
<source>Applies to both document editor and viewer.</source> <source>Applies to both document editor and viewer.</source>
<translation>Применяется как к редактору, так и к области просмотра.</translation> <translation>Применяется как к редактору, так и к области просмотра.</translation>
@@ -2628,8 +2663,8 @@
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="277" /> <location filename="../novelwriter/dialogs/preferences.py" line="277" />
<source>Auto Save</source> <source>Behaviour</source>
<translation>Автоматическое сохранение</translation> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="289" /> <location filename="../novelwriter/dialogs/preferences.py" line="289" />
@@ -2658,443 +2693,453 @@
<translation>Как часто проект автоматически сохраняется.</translation> <translation>Как часто проект автоматически сохраняется.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="307" /> <location filename="../novelwriter/dialogs/preferences.py" line="308" />
<source>Ask before exiting novelWriter</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/dialogs/preferences.py" line="309" />
<source>Only applies when a project is open.</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/dialogs/preferences.py" line="315" />
<source>Project Backup</source> <source>Project Backup</source>
<translation>Резервная копия проекта</translation> <translation>Резервная копия проекта</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="314" /> <location filename="../novelwriter/dialogs/preferences.py" line="322" />
<source>Browse</source> <source>Browse</source>
<translation>Обзор</translation> <translation>Обзор</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="318" /> <location filename="../novelwriter/dialogs/preferences.py" line="326" />
<source>Backup storage location</source> <source>Backup storage location</source>
<translation>Расположение резервного хранилища</translation> <translation>Расположение резервного хранилища</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="835" /> <location filename="../novelwriter/dialogs/preferences.py" line="843" />
<location filename="../novelwriter/dialogs/preferences.py" line="319" /> <location filename="../novelwriter/dialogs/preferences.py" line="327" />
<source>Path: {0}</source> <source>Path: {0}</source>
<translation>Путь: {0}</translation> <translation>Путь: {0}</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="327" /> <location filename="../novelwriter/dialogs/preferences.py" line="335" />
<source>Run backup when the project is closed</source> <source>Run backup when the project is closed</source>
<translation>Резервное копирование при закрытии проекта</translation> <translation>Резервное копирование при закрытии проекта</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="328" /> <location filename="../novelwriter/dialogs/preferences.py" line="336" />
<source>Can be overridden for individual projects in Project Settings.</source> <source>Can be overridden for individual projects in Project Settings.</source>
<translation>Может быть переопределено для отдельных проектов в Настройках проекта.</translation> <translation>Может быть переопределено для отдельных проектов в Настройках проекта.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="337" /> <location filename="../novelwriter/dialogs/preferences.py" line="345" />
<source>Ask before running backup</source> <source>Ask before running backup</source>
<translation>Спрашивать перед выполнением резервного копирования</translation> <translation>Спрашивать перед выполнением резервного копирования</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="338" /> <location filename="../novelwriter/dialogs/preferences.py" line="346" />
<source>If off, backups will run in the background.</source> <source>If off, backups will run in the background.</source>
<translation>Если выключено, резервные копии будут выполняться в фоновом режиме.</translation> <translation>Если выключено, резервные копии будут выполняться в фоновом режиме.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="344" /> <location filename="../novelwriter/dialogs/preferences.py" line="352" />
<source>Session Timer</source> <source>Session Timer</source>
<translation>Время сеанса</translation> <translation>Время сеанса</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="353" /> <location filename="../novelwriter/dialogs/preferences.py" line="361" />
<source>Pause the session timer when not writing</source> <source>Pause the session timer when not writing</source>
<translation>Приостанавливать время сеанса пока не печатаете</translation> <translation>Приостанавливать время сеанса пока не печатаете</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="354" /> <location filename="../novelwriter/dialogs/preferences.py" line="362" />
<source>Also pauses when the application window does not have focus.</source> <source>Also pauses when the application window does not have focus.</source>
<translation>Также приостанавливать, когда окно приложения теряет фокус.</translation> <translation>Также приостанавливать, когда окно приложения теряет фокус.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="365" /> <location filename="../novelwriter/dialogs/preferences.py" line="373" />
<source>Editor inactive time before pausing timer</source> <source>Editor inactive time before pausing timer</source>
<translation>Время простоя редактора до паузы таймера</translation> <translation>Время простоя редактора до паузы таймера</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="366" /> <location filename="../novelwriter/dialogs/preferences.py" line="374" />
<source>User activity includes typing and changing the content.</source> <source>User activity includes typing and changing the content.</source>
<translation>Активность пользователя включает в себя ввод и изменение содержимого.</translation> <translation>Активность пользователя включает в себя ввод и изменение содержимого.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="367" /> <location filename="../novelwriter/dialogs/preferences.py" line="375" />
<source>minutes</source> <source>minutes</source>
<translation>минут</translation> <translation>минут</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="371" /> <location filename="../novelwriter/dialogs/preferences.py" line="379" />
<source>Writing</source> <source>Writing</source>
<translation>Написание</translation> <translation>Написание</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="376" /> <location filename="../novelwriter/dialogs/preferences.py" line="384" />
<source>Text Flow</source> <source>Text Flow</source>
<translation>Выравнивание текста</translation> <translation>Выравнивание текста</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="388" /> <location filename="../novelwriter/dialogs/preferences.py" line="396" />
<source>Maximum text width in "Normal Mode"</source> <source>Maximum text width in "Normal Mode"</source>
<translation>Максимальная ширина текста в "Нормальном режиме"</translation> <translation>Максимальная ширина текста в "Нормальном режиме"</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="389" /> <location filename="../novelwriter/dialogs/preferences.py" line="397" />
<source>Set to 0 to disable this feature.</source> <source>Set to 0 to disable this feature.</source>
<translation>Установите 0, чтобы отключить эту функцию.</translation> <translation>Установите 0, чтобы отключить эту функцию.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="440" /> <location filename="../novelwriter/dialogs/preferences.py" line="448" />
<location filename="../novelwriter/dialogs/preferences.py" line="428" /> <location filename="../novelwriter/dialogs/preferences.py" line="436" />
<location filename="../novelwriter/dialogs/preferences.py" line="400" /> <location filename="../novelwriter/dialogs/preferences.py" line="408" />
<location filename="../novelwriter/dialogs/preferences.py" line="389" /> <location filename="../novelwriter/dialogs/preferences.py" line="397" />
<source>px</source> <source>px</source>
<translation>px</translation> <translation>px</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="399" /> <location filename="../novelwriter/dialogs/preferences.py" line="407" />
<source>Maximum text width in "Focus Mode"</source> <source>Maximum text width in "Focus Mode"</source>
<translation>Максимальная ширина текста в "Фокус-режиме"</translation> <translation>Максимальная ширина текста в "Фокус-режиме"</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="400" /> <location filename="../novelwriter/dialogs/preferences.py" line="408" />
<source>The maximum width cannot be disabled.</source> <source>The maximum width cannot be disabled.</source>
<translation>Максимальная ширина не может быть отключена.</translation> <translation>Максимальная ширина не может быть отключена.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="407" /> <location filename="../novelwriter/dialogs/preferences.py" line="415" />
<source>Hide document footer in "Focus Mode"</source> <source>Hide document footer in "Focus Mode"</source>
<translation>Скрыть нижний колонтитул документа в «Фокус-режиме»</translation> <translation>Скрыть нижний колонтитул документа в «Фокус-режиме»</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="408" /> <location filename="../novelwriter/dialogs/preferences.py" line="416" />
<source>Hide the information bar in the document editor.</source> <source>Hide the information bar in the document editor.</source>
<translation>Скрывать информационную панель в редакторе документов.</translation> <translation>Скрывать информационную панель в редакторе документов.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="415" /> <location filename="../novelwriter/dialogs/preferences.py" line="423" />
<source>Justify the text margins</source> <source>Justify the text margins</source>
<translation>Выровнять текс по ширине</translation> <translation>Выровнять текс по ширине</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="426" /> <location filename="../novelwriter/dialogs/preferences.py" line="434" />
<source>Minimum text margin</source> <source>Minimum text margin</source>
<translation>Минимальная ширина текста</translation> <translation>Минимальная ширина текста</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="438" /> <location filename="../novelwriter/dialogs/preferences.py" line="446" />
<source>Tab width</source> <source>Tab width</source>
<translation>Ширина отступа</translation> <translation>Ширина отступа</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="439" /> <location filename="../novelwriter/dialogs/preferences.py" line="447" />
<source>The width of a tab key press in the editor and viewer.</source> <source>The width of a tab key press in the editor and viewer.</source>
<translation>Ширина отступа по нажатию клавиши tab в редакторе и предварительном просмотре.</translation> <translation>Ширина отступа по нажатию клавиши tab в редакторе и предварительном просмотре.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="446" /> <location filename="../novelwriter/dialogs/preferences.py" line="454" />
<source>Text Editing</source> <source>Text Editing</source>
<translation>Редактирование текста</translation> <translation>Редактирование текста</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="466" /> <location filename="../novelwriter/dialogs/preferences.py" line="474" />
<source>Spell check language</source> <source>Spell check language</source>
<translation>Язык проверки правописания</translation> <translation>Язык проверки правописания</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="467" /> <location filename="../novelwriter/dialogs/preferences.py" line="475" />
<source>Available languages are determined by your system.</source> <source>Available languages are determined by your system.</source>
<translation>Доступные языки определяются вашей системой.</translation> <translation>Доступные языки определяются вашей системой.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="474" /> <location filename="../novelwriter/dialogs/preferences.py" line="482" />
<source>Auto-select word under cursor</source> <source>Auto-select word under cursor</source>
<translation>Авто выделение слова под курсором</translation> <translation>Авто выделение слова под курсором</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="475" /> <location filename="../novelwriter/dialogs/preferences.py" line="483" />
<source>Apply formatting to word under cursor if no selection is made.</source> <source>Apply formatting to word under cursor if no selection is made.</source>
<translation>Применить форматирование к слову под курсором, если не выбрано.</translation> <translation>Применить форматирование к слову под курсором, если не выбрано.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="482" /> <location filename="../novelwriter/dialogs/preferences.py" line="490" />
<source>Show tabs and spaces</source> <source>Show tabs and spaces</source>
<translation>Показывать табуляцию и пробелы</translation> <translation>Показывать табуляцию и пробелы</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="489" /> <location filename="../novelwriter/dialogs/preferences.py" line="497" />
<source>Show line endings</source> <source>Show line endings</source>
<translation>Показывать окончания строк</translation> <translation>Показывать окончания строк</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="495" /> <location filename="../novelwriter/dialogs/preferences.py" line="503" />
<source>Editor Scrolling</source> <source>Editor Scrolling</source>
<translation>Прокрутка редактора</translation> <translation>Прокрутка редактора</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="504" /> <location filename="../novelwriter/dialogs/preferences.py" line="512" />
<source>Scroll past end of the document</source> <source>Scroll past end of the document</source>
<translation>Прокрутить в место последней остановки документа</translation> <translation>Прокрутить в место последней остановки документа</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="505" /> <location filename="../novelwriter/dialogs/preferences.py" line="513" />
<source>Also centres the cursor when scrolling.</source> <source>Also centres the cursor when scrolling.</source>
<translation>Также направляет курсор при прокрутке.</translation> <translation>Также направляет курсор при прокрутке.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="512" /> <location filename="../novelwriter/dialogs/preferences.py" line="520" />
<source>Typewriter style scrolling when you type</source> <source>Typewriter style scrolling when you type</source>
<translation>Прокрутка в стиле печатной машинки при вводе</translation> <translation>Прокрутка в стиле печатной машинки при вводе</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="513" /> <location filename="../novelwriter/dialogs/preferences.py" line="521" />
<source>Keeps the cursor at a fixed vertical position.</source> <source>Keeps the cursor at a fixed vertical position.</source>
<translation>Сохраняет курсор в фиксированной вертикальной позиции.</translation> <translation>Сохраняет курсор в фиксированной вертикальной позиции.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="523" /> <location filename="../novelwriter/dialogs/preferences.py" line="531" />
<source>Minimum position for Typewriter scrolling</source> <source>Minimum position for Typewriter scrolling</source>
<translation>Минимальная позиция для прокрутки</translation> <translation>Минимальная позиция для прокрутки</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="524" /> <location filename="../novelwriter/dialogs/preferences.py" line="532" />
<source>Percentage of the editor height from the top.</source> <source>Percentage of the editor height from the top.</source>
<translation>Процент высоты редактора сверху.</translation> <translation>Процент высоты редактора сверху.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="530" /> <location filename="../novelwriter/dialogs/preferences.py" line="538" />
<source>Text Highlighting</source> <source>Text Highlighting</source>
<translation>Подсветка текста</translation> <translation>Подсветка текста</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="536" /> <location filename="../novelwriter/dialogs/preferences.py" line="544" />
<source>None</source> <source>None</source>
<translation>Пусто</translation> <translation>Пусто</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="537" /> <location filename="../novelwriter/dialogs/preferences.py" line="545" />
<source>Single Quotes</source> <source>Single Quotes</source>
<translation>Одинарные кавычки</translation> <translation>Одинарные кавычки</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="538" /> <location filename="../novelwriter/dialogs/preferences.py" line="546" />
<source>Double Quotes</source> <source>Double Quotes</source>
<translation>Двойные кавычки</translation> <translation>Двойные кавычки</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="539" /> <location filename="../novelwriter/dialogs/preferences.py" line="547" />
<source>Both</source> <source>Both</source>
<translation>Оба</translation> <translation>Оба</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="542" /> <location filename="../novelwriter/dialogs/preferences.py" line="550" />
<source>Highlight dialogue</source> <source>Highlight dialogue</source>
<translation>Подсвечивать диалоги</translation> <translation>Подсвечивать диалоги</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="543" /> <location filename="../novelwriter/dialogs/preferences.py" line="551" />
<source>Applies to the selected quote styles.</source> <source>Applies to the selected quote styles.</source>
<translation>Применяется к выбранным стилям кавычек.</translation> <translation>Применяется к выбранным стилям кавычек.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="559" /> <location filename="../novelwriter/dialogs/preferences.py" line="567" />
<source>Alternative dialogue symbols</source> <source>Alternative dialogue symbols</source>
<translation>Альтернативные символы диалога</translation> <translation>Альтернативные символы диалога</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="560" /> <location filename="../novelwriter/dialogs/preferences.py" line="568" />
<source>Custom highlighting of dialogue text.</source> <source>Custom highlighting of dialogue text.</source>
<translation>Пользовательская подсветка текста диалога.</translation> <translation>Пользовательская подсветка текста диалога.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="566" /> <location filename="../novelwriter/dialogs/preferences.py" line="574" />
<source>Allow open-ended dialogue</source> <source>Allow open-ended dialogue</source>
<translation>Разрешит диалоги без закрывающих кавычек</translation> <translation>Разрешит диалоги без закрывающих кавычек</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="567" /> <location filename="../novelwriter/dialogs/preferences.py" line="575" />
<source>Highlight dialogue line with no closing quote.</source> <source>Highlight dialogue line with no closing quote.</source>
<translation>Выделять строку с без закрывающей кавычки.</translation> <translation>Выделять строку с без закрывающей кавычки.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="576" /> <location filename="../novelwriter/dialogs/preferences.py" line="584" />
<source>Dialogue line symbols</source> <source>Dialogue line symbols</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="577" /> <location filename="../novelwriter/dialogs/preferences.py" line="585" />
<source>Lines starting with any of these symbols are dialogue.</source> <source>Lines starting with any of these symbols are dialogue.</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="586" /> <location filename="../novelwriter/dialogs/preferences.py" line="594" />
<source>Narrator break symbol</source> <source>Narrator break symbol</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="587" /> <location filename="../novelwriter/dialogs/preferences.py" line="595" />
<source>Symbol to indicate a narrator break in dialogue.</source> <source>Symbol to indicate a narrator break in dialogue.</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="596" /> <location filename="../novelwriter/dialogs/preferences.py" line="604" />
<source>Alternating dialogue/narration symbol</source> <source>Alternating dialogue/narration symbol</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="597" /> <location filename="../novelwriter/dialogs/preferences.py" line="605" />
<source>Alternates dialogue highlighting within any paragraph.</source> <source>Alternates dialogue highlighting within any paragraph.</source>
<translation type="unfinished" /> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="603" /> <location filename="../novelwriter/dialogs/preferences.py" line="611" />
<source>Add highlight colour to emphasised text</source> <source>Add highlight colour to emphasised text</source>
<translation>Добавить цвет подсветки к выделенному тексту</translation> <translation>Добавить цвет подсветки к выделенному тексту</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="611" /> <location filename="../novelwriter/dialogs/preferences.py" line="619" />
<location filename="../novelwriter/dialogs/preferences.py" line="604" /> <location filename="../novelwriter/dialogs/preferences.py" line="612" />
<source>Applies to the document editor only.</source> <source>Applies to the document editor only.</source>
<translation>Применяется только к редактору документа.</translation> <translation>Применяется только к редактору документа.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="610" /> <location filename="../novelwriter/dialogs/preferences.py" line="618" />
<source>Highlight multiple or trailing spaces</source> <source>Highlight multiple or trailing spaces</source>
<translation>Выделение нескольких или конечных пробелов</translation> <translation>Выделение нескольких или конечных пробелов</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="617" /> <location filename="../novelwriter/dialogs/preferences.py" line="625" />
<source>Text Automation</source> <source>Text Automation</source>
<translation>Автоматизация текста</translation> <translation>Автоматизация текста</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="629" /> <location filename="../novelwriter/dialogs/preferences.py" line="637" />
<source>Auto-replace text as you type</source> <source>Auto-replace text as you type</source>
<translation>Автозамена текста при вводе</translation> <translation>Автозамена текста при вводе</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="630" /> <location filename="../novelwriter/dialogs/preferences.py" line="638" />
<source>Allow the editor to replace symbols as you type.</source> <source>Allow the editor to replace symbols as you type.</source>
<translation>Разрешить редактору заменять символы по мере ввода.</translation> <translation>Разрешить редактору заменять символы по мере ввода.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="638" /> <location filename="../novelwriter/dialogs/preferences.py" line="646" />
<source>Auto-replace single quotes</source> <source>Auto-replace single quotes</source>
<translation>Автозамена одинарных кавычек</translation> <translation>Автозамена одинарных кавычек</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="648" /> <location filename="../novelwriter/dialogs/preferences.py" line="656" />
<location filename="../novelwriter/dialogs/preferences.py" line="639" /> <location filename="../novelwriter/dialogs/preferences.py" line="647" />
<source>Try to guess which is an opening or a closing quote.</source> <source>Try to guess which is an opening or a closing quote.</source>
<translation>Пробовать предугадать открытие или закрытие кавычек.</translation> <translation>Пробовать предугадать открытие или закрытие кавычек.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="647" /> <location filename="../novelwriter/dialogs/preferences.py" line="655" />
<source>Auto-replace double quotes</source> <source>Auto-replace double quotes</source>
<translation>Автозамена двойных кавычек</translation> <translation>Автозамена двойных кавычек</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="656" /> <location filename="../novelwriter/dialogs/preferences.py" line="664" />
<source>Auto-replace dashes</source> <source>Auto-replace dashes</source>
<translation>Автозамена тире</translation> <translation>Автозамена тире</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="657" /> <location filename="../novelwriter/dialogs/preferences.py" line="665" />
<source>Double and triple hyphens become short and long dashes.</source> <source>Double and triple hyphens become short and long dashes.</source>
<translation>Двойные и тройные дефисы становятся короткими и длинными тире.</translation> <translation>Двойные и тройные дефисы становятся короткими и длинными тире.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="665" /> <location filename="../novelwriter/dialogs/preferences.py" line="673" />
<source>Auto-replace dots</source> <source>Auto-replace dots</source>
<translation>Автозамена точек</translation> <translation>Автозамена точек</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="666" /> <location filename="../novelwriter/dialogs/preferences.py" line="674" />
<source>Three consecutive dots become ellipsis.</source> <source>Three consecutive dots become ellipsis.</source>
<translation>Три точки подряд становятся многоточием.</translation> <translation>Три точки подряд становятся многоточием.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="675" /> <location filename="../novelwriter/dialogs/preferences.py" line="683" />
<source>Insert non-breaking space before</source> <source>Insert non-breaking space before</source>
<translation>Вставить неразрывные пробелы перед</translation> <translation>Вставить неразрывные пробелы перед</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="676" /> <location filename="../novelwriter/dialogs/preferences.py" line="684" />
<source>Automatically add space before any of these symbols.</source> <source>Automatically add space before any of these symbols.</source>
<translation>Автоматически добавлять пробел перед любым из этих символов.</translation> <translation>Автоматически добавлять пробел перед любым из этих символов.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="685" /> <location filename="../novelwriter/dialogs/preferences.py" line="693" />
<source>Insert non-breaking space after</source> <source>Insert non-breaking space after</source>
<translation>Вставить неразрывные пробелы после</translation> <translation>Вставить неразрывные пробелы после</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="686" /> <location filename="../novelwriter/dialogs/preferences.py" line="694" />
<source>Automatically add space after any of these symbols.</source> <source>Automatically add space after any of these symbols.</source>
<translation>Автоматически добавлять пробел после любого из этих символов.</translation> <translation>Автоматически добавлять пробел после любого из этих символов.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="694" /> <location filename="../novelwriter/dialogs/preferences.py" line="702" />
<source>Use thin space instead</source> <source>Use thin space instead</source>
<translation>Использовать тонкий пробел</translation> <translation>Использовать тонкий пробел</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="695" /> <location filename="../novelwriter/dialogs/preferences.py" line="703" />
<source>Inserts a thin space instead of a regular space.</source> <source>Inserts a thin space instead of a regular space.</source>
<translation>Вставляет тонкий пробел вместо обычного пробела.</translation> <translation>Вставляет тонкий пробел вместо обычного пробела.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="701" /> <location filename="../novelwriter/dialogs/preferences.py" line="709" />
<source>Quotation Style</source> <source>Quotation Style</source>
<translation>Стиль цитирования</translation> <translation>Стиль цитирования</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="716" /> <location filename="../novelwriter/dialogs/preferences.py" line="724" />
<source>Single quote open style</source> <source>Single quote open style</source>
<translation>Открывающая одинарная кавычка</translation> <translation>Открывающая одинарная кавычка</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="717" /> <location filename="../novelwriter/dialogs/preferences.py" line="725" />
<source>The symbol to use for a leading single quote.</source> <source>The symbol to use for a leading single quote.</source>
<translation>Символ, используемый для открывающей одинарной кавычки.</translation> <translation>Символ, используемый для открывающей одинарной кавычки.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="730" /> <location filename="../novelwriter/dialogs/preferences.py" line="738" />
<source>Single quote close style</source> <source>Single quote close style</source>
<translation>Закрывающая одинарная кавычка</translation> <translation>Закрывающая одинарная кавычка</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="731" /> <location filename="../novelwriter/dialogs/preferences.py" line="739" />
<source>The symbol to use for a trailing single quote.</source> <source>The symbol to use for a trailing single quote.</source>
<translation>Символ, используемый для закрывающей одинарной кавычки.</translation> <translation>Символ, используемый для закрывающей одинарной кавычки.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="745" /> <location filename="../novelwriter/dialogs/preferences.py" line="753" />
<source>Double quote open style</source> <source>Double quote open style</source>
<translation>Открывающая двойная кавычка</translation> <translation>Открывающая двойная кавычка</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="746" /> <location filename="../novelwriter/dialogs/preferences.py" line="754" />
<source>The symbol to use for a leading double quote.</source> <source>The symbol to use for a leading double quote.</source>
<translation>Символ, используемый для открывающей двойной кавычки.</translation> <translation>Символ, используемый для открывающей двойной кавычки.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="759" /> <location filename="../novelwriter/dialogs/preferences.py" line="767" />
<source>Double quote close style</source> <source>Double quote close style</source>
<translation>Закрывающая двойная кавычка</translation> <translation>Закрывающая двойная кавычка</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="760" /> <location filename="../novelwriter/dialogs/preferences.py" line="768" />
<source>The symbol to use for a trailing double quote.</source> <source>The symbol to use for a trailing double quote.</source>
<translation>Символ, используемый для закрывающей двойной кавычки.</translation> <translation>Символ, используемый для закрывающей двойной кавычки.</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="831" /> <location filename="../novelwriter/dialogs/preferences.py" line="839" />
<source>Backup Directory</source> <source>Backup Directory</source>
<translation>Каталог резервных копий</translation> <translation>Каталог резервных копий</translation>
</message> </message>
@@ -3739,7 +3784,7 @@
<context> <context>
<name>NovelSelector</name> <name>NovelSelector</name>
<message> <message>
<location filename="../novelwriter/extensions/novelselector.py" line="111" /> <location filename="../novelwriter/extensions/novelselector.py" line="112" />
<source>All Novel Folders</source> <source>All Novel Folders</source>
<translation>Все папки романа</translation> <translation>Все папки романа</translation>
</message> </message>
@@ -4896,121 +4941,121 @@
<context> <context>
<name>_TreeContextMenu</name> <name>_TreeContextMenu</name>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1136" /> <location filename="../novelwriter/gui/projtree.py" line="1133" />
<source>Empty Trash</source> <source>Empty Trash</source>
<translation>Очистить корзину</translation> <translation>Очистить корзину</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1157" /> <location filename="../novelwriter/gui/projtree.py" line="1154" />
<source>Rename</source> <source>Rename</source>
<translation>Переименовать</translation> <translation>Переименовать</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1172" /> <location filename="../novelwriter/gui/projtree.py" line="1169" />
<source>Duplicate</source> <source>Duplicate</source>
<translation>Дублировать</translation> <translation>Дублировать</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1192" /> <location filename="../novelwriter/gui/projtree.py" line="1189" />
<source>Open Document</source> <source>Open Document</source>
<translation>Открыть документ</translation> <translation>Открыть документ</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1197" /> <location filename="../novelwriter/gui/projtree.py" line="1194" />
<source>View Document</source> <source>View Document</source>
<translation>Просмотр документа</translation> <translation>Просмотр документа</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1206" /> <location filename="../novelwriter/gui/projtree.py" line="1203" />
<source>Create New ...</source> <source>Create New ...</source>
<translation>Создать новую...</translation> <translation>Создать новую...</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1218" /> <location filename="../novelwriter/gui/projtree.py" line="1215" />
<source>Rename to Heading</source> <source>Rename to Heading</source>
<translation>Переименовать в заголовке</translation> <translation>Переименовать в заголовке</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1227" /> <location filename="../novelwriter/gui/projtree.py" line="1224" />
<source>Set Active to ...</source> <source>Set Active to ...</source>
<translation>Установить активность в ...</translation> <translation>Установить активность в ...</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1233" /> <location filename="../novelwriter/gui/projtree.py" line="1230" />
<source>Toggle Active</source> <source>Toggle Active</source>
<translation>Переключить активность</translation> <translation>Переключить активность</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1240" /> <location filename="../novelwriter/gui/projtree.py" line="1237" />
<source>Set Status to ...</source> <source>Set Status to ...</source>
<translation>Установить статус на ...</translation> <translation>Установить статус на ...</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1270" /> <location filename="../novelwriter/gui/projtree.py" line="1267" />
<location filename="../novelwriter/gui/projtree.py" line="1252" /> <location filename="../novelwriter/gui/projtree.py" line="1249" />
<source>Manage Labels ...</source> <source>Manage Labels ...</source>
<translation>Управление метками...</translation> <translation>Управление метками...</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1258" /> <location filename="../novelwriter/gui/projtree.py" line="1255" />
<source>Set Importance to ...</source> <source>Set Importance to ...</source>
<translation>Установить важность на...</translation> <translation>Установить важность на...</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1279" /> <location filename="../novelwriter/gui/projtree.py" line="1276" />
<source>Transform ...</source> <source>Transform ...</source>
<translation>Преобразовать ...</translation> <translation>Преобразовать ...</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1301" /> <location filename="../novelwriter/gui/projtree.py" line="1298" />
<location filename="../novelwriter/gui/projtree.py" line="1297" /> <location filename="../novelwriter/gui/projtree.py" line="1294" />
<location filename="../novelwriter/gui/projtree.py" line="1293" /> <location filename="../novelwriter/gui/projtree.py" line="1290" />
<location filename="../novelwriter/gui/projtree.py" line="1289" /> <location filename="../novelwriter/gui/projtree.py" line="1286" />
<source>Convert to {0}</source> <source>Convert to {0}</source>
<translation>Преобразовать в {0}</translation> <translation>Преобразовать в {0}</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1305" /> <location filename="../novelwriter/gui/projtree.py" line="1302" />
<source>Merge Child Items into Self</source> <source>Merge Child Items into Self</source>
<translation>Объединить дочерние элементы в Себя</translation> <translation>Объединить дочерние элементы в Себя</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1307" /> <location filename="../novelwriter/gui/projtree.py" line="1304" />
<source>Merge Child Items into New</source> <source>Merge Child Items into New</source>
<translation>Объединить дочерние элементы в Новые</translation> <translation>Объединить дочерние элементы в Новые</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1311" /> <location filename="../novelwriter/gui/projtree.py" line="1308" />
<source>Merge Documents in Folder</source> <source>Merge Documents in Folder</source>
<translation>Объединение документов в Папку</translation> <translation>Объединение документов в Папку</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1315" /> <location filename="../novelwriter/gui/projtree.py" line="1312" />
<source>Split Document by Headings</source> <source>Split Document by Headings</source>
<translation>Разделить документ по заголовкам</translation> <translation>Разделить документ по заголовкам</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1322" /> <location filename="../novelwriter/gui/projtree.py" line="1319" />
<source>Expand All</source> <source>Expand All</source>
<translation>Развернуть всё</translation> <translation>Развернуть всё</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1324" /> <location filename="../novelwriter/gui/projtree.py" line="1321" />
<source>Collapse All</source> <source>Collapse All</source>
<translation>Свернуть все</translation> <translation>Свернуть все</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1334" /> <location filename="../novelwriter/gui/projtree.py" line="1331" />
<source>Delete Permanently</source> <source>Delete Permanently</source>
<translation>Удалить безвозвратно</translation> <translation>Удалить безвозвратно</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1336" /> <location filename="../novelwriter/gui/projtree.py" line="1333" />
<source>Move to Trash</source> <source>Move to Trash</source>
<translation>Переместить в корзину</translation> <translation>Переместить в корзину</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1412" /> <location filename="../novelwriter/gui/projtree.py" line="1409" />
<source>Do you want to convert the folder to a {0}? This action cannot be reversed.</source> <source>Do you want to convert the folder to a {0}? This action cannot be reversed.</source>
<translation>Вы хотите конвертировать папку в {0}? Это действие нельзя отменить.</translation> <translation>Вы хотите конвертировать папку в {0}? Это действие нельзя отменить.</translation>
</message> </message>
@@ -5018,7 +5063,7 @@
<context> <context>
<name>_UpdatableMenu</name> <name>_UpdatableMenu</name>
<message> <message>
<location filename="../novelwriter/gui/projtree.py" line="1050" /> <location filename="../novelwriter/gui/projtree.py" line="1047" />
<source>From Template</source> <source>From Template</source>
<translation>Из шаблона</translation> <translation>Из шаблона</translation>
</message> </message>
+107 -97
View File
@@ -2630,8 +2630,8 @@
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="427" /> <location filename="../novelwriter/dialogs/preferences.py" line="435" />
<location filename="../novelwriter/dialogs/preferences.py" line="416" /> <location filename="../novelwriter/dialogs/preferences.py" line="424" />
<location filename="../novelwriter/dialogs/preferences.py" line="247" /> <location filename="../novelwriter/dialogs/preferences.py" line="247" />
<source>Applies to both document editor and viewer.</source> <source>Applies to both document editor and viewer.</source>
<translation></translation> <translation></translation>
@@ -2663,8 +2663,8 @@
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="277" /> <location filename="../novelwriter/dialogs/preferences.py" line="277" />
<source>Auto Save</source> <source>Behaviour</source>
<translation></translation> <translation type="unfinished" />
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="289" /> <location filename="../novelwriter/dialogs/preferences.py" line="289" />
@@ -2693,443 +2693,453 @@
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="307" /> <location filename="../novelwriter/dialogs/preferences.py" line="308" />
<source>Ask before exiting novelWriter</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/dialogs/preferences.py" line="309" />
<source>Only applies when a project is open.</source>
<translation type="unfinished" />
</message>
<message>
<location filename="../novelwriter/dialogs/preferences.py" line="315" />
<source>Project Backup</source> <source>Project Backup</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="314" /> <location filename="../novelwriter/dialogs/preferences.py" line="322" />
<source>Browse</source> <source>Browse</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="318" /> <location filename="../novelwriter/dialogs/preferences.py" line="326" />
<source>Backup storage location</source> <source>Backup storage location</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="835" /> <location filename="../novelwriter/dialogs/preferences.py" line="843" />
<location filename="../novelwriter/dialogs/preferences.py" line="319" /> <location filename="../novelwriter/dialogs/preferences.py" line="327" />
<source>Path: {0}</source> <source>Path: {0}</source>
<translation>: {0}</translation> <translation>: {0}</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="327" /> <location filename="../novelwriter/dialogs/preferences.py" line="335" />
<source>Run backup when the project is closed</source> <source>Run backup when the project is closed</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="328" /> <location filename="../novelwriter/dialogs/preferences.py" line="336" />
<source>Can be overridden for individual projects in Project Settings.</source> <source>Can be overridden for individual projects in Project Settings.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="337" /> <location filename="../novelwriter/dialogs/preferences.py" line="345" />
<source>Ask before running backup</source> <source>Ask before running backup</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="338" /> <location filename="../novelwriter/dialogs/preferences.py" line="346" />
<source>If off, backups will run in the background.</source> <source>If off, backups will run in the background.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="344" /> <location filename="../novelwriter/dialogs/preferences.py" line="352" />
<source>Session Timer</source> <source>Session Timer</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="353" /> <location filename="../novelwriter/dialogs/preferences.py" line="361" />
<source>Pause the session timer when not writing</source> <source>Pause the session timer when not writing</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="354" /> <location filename="../novelwriter/dialogs/preferences.py" line="362" />
<source>Also pauses when the application window does not have focus.</source> <source>Also pauses when the application window does not have focus.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="365" /> <location filename="../novelwriter/dialogs/preferences.py" line="373" />
<source>Editor inactive time before pausing timer</source> <source>Editor inactive time before pausing timer</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="366" /> <location filename="../novelwriter/dialogs/preferences.py" line="374" />
<source>User activity includes typing and changing the content.</source> <source>User activity includes typing and changing the content.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="367" /> <location filename="../novelwriter/dialogs/preferences.py" line="375" />
<source>minutes</source> <source>minutes</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="371" /> <location filename="../novelwriter/dialogs/preferences.py" line="379" />
<source>Writing</source> <source>Writing</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="376" /> <location filename="../novelwriter/dialogs/preferences.py" line="384" />
<source>Text Flow</source> <source>Text Flow</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="388" /> <location filename="../novelwriter/dialogs/preferences.py" line="396" />
<source>Maximum text width in "Normal Mode"</source> <source>Maximum text width in "Normal Mode"</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="389" /> <location filename="../novelwriter/dialogs/preferences.py" line="397" />
<source>Set to 0 to disable this feature.</source> <source>Set to 0 to disable this feature.</source>
<translation> 0 </translation> <translation> 0 </translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="440" /> <location filename="../novelwriter/dialogs/preferences.py" line="448" />
<location filename="../novelwriter/dialogs/preferences.py" line="428" /> <location filename="../novelwriter/dialogs/preferences.py" line="436" />
<location filename="../novelwriter/dialogs/preferences.py" line="400" /> <location filename="../novelwriter/dialogs/preferences.py" line="408" />
<location filename="../novelwriter/dialogs/preferences.py" line="389" /> <location filename="../novelwriter/dialogs/preferences.py" line="397" />
<source>px</source> <source>px</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="399" /> <location filename="../novelwriter/dialogs/preferences.py" line="407" />
<source>Maximum text width in "Focus Mode"</source> <source>Maximum text width in "Focus Mode"</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="400" /> <location filename="../novelwriter/dialogs/preferences.py" line="408" />
<source>The maximum width cannot be disabled.</source> <source>The maximum width cannot be disabled.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="407" /> <location filename="../novelwriter/dialogs/preferences.py" line="415" />
<source>Hide document footer in "Focus Mode"</source> <source>Hide document footer in "Focus Mode"</source>
<translation>"</translation> <translation>"</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="408" /> <location filename="../novelwriter/dialogs/preferences.py" line="416" />
<source>Hide the information bar in the document editor.</source> <source>Hide the information bar in the document editor.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="415" /> <location filename="../novelwriter/dialogs/preferences.py" line="423" />
<source>Justify the text margins</source> <source>Justify the text margins</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="426" /> <location filename="../novelwriter/dialogs/preferences.py" line="434" />
<source>Minimum text margin</source> <source>Minimum text margin</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="438" /> <location filename="../novelwriter/dialogs/preferences.py" line="446" />
<source>Tab width</source> <source>Tab width</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="439" /> <location filename="../novelwriter/dialogs/preferences.py" line="447" />
<source>The width of a tab key press in the editor and viewer.</source> <source>The width of a tab key press in the editor and viewer.</source>
<translation> </translation> <translation> </translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="446" /> <location filename="../novelwriter/dialogs/preferences.py" line="454" />
<source>Text Editing</source> <source>Text Editing</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="466" /> <location filename="../novelwriter/dialogs/preferences.py" line="474" />
<source>Spell check language</source> <source>Spell check language</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="467" /> <location filename="../novelwriter/dialogs/preferences.py" line="475" />
<source>Available languages are determined by your system.</source> <source>Available languages are determined by your system.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="474" /> <location filename="../novelwriter/dialogs/preferences.py" line="482" />
<source>Auto-select word under cursor</source> <source>Auto-select word under cursor</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="475" /> <location filename="../novelwriter/dialogs/preferences.py" line="483" />
<source>Apply formatting to word under cursor if no selection is made.</source> <source>Apply formatting to word under cursor if no selection is made.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="482" /> <location filename="../novelwriter/dialogs/preferences.py" line="490" />
<source>Show tabs and spaces</source> <source>Show tabs and spaces</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="489" /> <location filename="../novelwriter/dialogs/preferences.py" line="497" />
<source>Show line endings</source> <source>Show line endings</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="495" /> <location filename="../novelwriter/dialogs/preferences.py" line="503" />
<source>Editor Scrolling</source> <source>Editor Scrolling</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="504" /> <location filename="../novelwriter/dialogs/preferences.py" line="512" />
<source>Scroll past end of the document</source> <source>Scroll past end of the document</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="505" /> <location filename="../novelwriter/dialogs/preferences.py" line="513" />
<source>Also centres the cursor when scrolling.</source> <source>Also centres the cursor when scrolling.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="512" /> <location filename="../novelwriter/dialogs/preferences.py" line="520" />
<source>Typewriter style scrolling when you type</source> <source>Typewriter style scrolling when you type</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="513" /> <location filename="../novelwriter/dialogs/preferences.py" line="521" />
<source>Keeps the cursor at a fixed vertical position.</source> <source>Keeps the cursor at a fixed vertical position.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="523" /> <location filename="../novelwriter/dialogs/preferences.py" line="531" />
<source>Minimum position for Typewriter scrolling</source> <source>Minimum position for Typewriter scrolling</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="524" /> <location filename="../novelwriter/dialogs/preferences.py" line="532" />
<source>Percentage of the editor height from the top.</source> <source>Percentage of the editor height from the top.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="530" /> <location filename="../novelwriter/dialogs/preferences.py" line="538" />
<source>Text Highlighting</source> <source>Text Highlighting</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="536" /> <location filename="../novelwriter/dialogs/preferences.py" line="544" />
<source>None</source> <source>None</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="537" /> <location filename="../novelwriter/dialogs/preferences.py" line="545" />
<source>Single Quotes</source> <source>Single Quotes</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="538" /> <location filename="../novelwriter/dialogs/preferences.py" line="546" />
<source>Double Quotes</source> <source>Double Quotes</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="539" /> <location filename="../novelwriter/dialogs/preferences.py" line="547" />
<source>Both</source> <source>Both</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="542" /> <location filename="../novelwriter/dialogs/preferences.py" line="550" />
<source>Highlight dialogue</source> <source>Highlight dialogue</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="543" /> <location filename="../novelwriter/dialogs/preferences.py" line="551" />
<source>Applies to the selected quote styles.</source> <source>Applies to the selected quote styles.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="559" /> <location filename="../novelwriter/dialogs/preferences.py" line="567" />
<source>Alternative dialogue symbols</source> <source>Alternative dialogue symbols</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="560" /> <location filename="../novelwriter/dialogs/preferences.py" line="568" />
<source>Custom highlighting of dialogue text.</source> <source>Custom highlighting of dialogue text.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="566" /> <location filename="../novelwriter/dialogs/preferences.py" line="574" />
<source>Allow open-ended dialogue</source> <source>Allow open-ended dialogue</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="567" /> <location filename="../novelwriter/dialogs/preferences.py" line="575" />
<source>Highlight dialogue line with no closing quote.</source> <source>Highlight dialogue line with no closing quote.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="576" /> <location filename="../novelwriter/dialogs/preferences.py" line="584" />
<source>Dialogue line symbols</source> <source>Dialogue line symbols</source>
<translation>线</translation> <translation>线</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="577" /> <location filename="../novelwriter/dialogs/preferences.py" line="585" />
<source>Lines starting with any of these symbols are dialogue.</source> <source>Lines starting with any of these symbols are dialogue.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="586" /> <location filename="../novelwriter/dialogs/preferences.py" line="594" />
<source>Narrator break symbol</source> <source>Narrator break symbol</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="587" /> <location filename="../novelwriter/dialogs/preferences.py" line="595" />
<source>Symbol to indicate a narrator break in dialogue.</source> <source>Symbol to indicate a narrator break in dialogue.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="596" /> <location filename="../novelwriter/dialogs/preferences.py" line="604" />
<source>Alternating dialogue/narration symbol</source> <source>Alternating dialogue/narration symbol</source>
<translation>/</translation> <translation>/</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="597" /> <location filename="../novelwriter/dialogs/preferences.py" line="605" />
<source>Alternates dialogue highlighting within any paragraph.</source> <source>Alternates dialogue highlighting within any paragraph.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="603" /> <location filename="../novelwriter/dialogs/preferences.py" line="611" />
<source>Add highlight colour to emphasised text</source> <source>Add highlight colour to emphasised text</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="611" /> <location filename="../novelwriter/dialogs/preferences.py" line="619" />
<location filename="../novelwriter/dialogs/preferences.py" line="604" /> <location filename="../novelwriter/dialogs/preferences.py" line="612" />
<source>Applies to the document editor only.</source> <source>Applies to the document editor only.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="610" /> <location filename="../novelwriter/dialogs/preferences.py" line="618" />
<source>Highlight multiple or trailing spaces</source> <source>Highlight multiple or trailing spaces</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="617" /> <location filename="../novelwriter/dialogs/preferences.py" line="625" />
<source>Text Automation</source> <source>Text Automation</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="629" /> <location filename="../novelwriter/dialogs/preferences.py" line="637" />
<source>Auto-replace text as you type</source> <source>Auto-replace text as you type</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="630" /> <location filename="../novelwriter/dialogs/preferences.py" line="638" />
<source>Allow the editor to replace symbols as you type.</source> <source>Allow the editor to replace symbols as you type.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="638" /> <location filename="../novelwriter/dialogs/preferences.py" line="646" />
<source>Auto-replace single quotes</source> <source>Auto-replace single quotes</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="648" /> <location filename="../novelwriter/dialogs/preferences.py" line="656" />
<location filename="../novelwriter/dialogs/preferences.py" line="639" /> <location filename="../novelwriter/dialogs/preferences.py" line="647" />
<source>Try to guess which is an opening or a closing quote.</source> <source>Try to guess which is an opening or a closing quote.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="647" /> <location filename="../novelwriter/dialogs/preferences.py" line="655" />
<source>Auto-replace double quotes</source> <source>Auto-replace double quotes</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="656" /> <location filename="../novelwriter/dialogs/preferences.py" line="664" />
<source>Auto-replace dashes</source> <source>Auto-replace dashes</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="657" /> <location filename="../novelwriter/dialogs/preferences.py" line="665" />
<source>Double and triple hyphens become short and long dashes.</source> <source>Double and triple hyphens become short and long dashes.</source>
<translation>线</translation> <translation>线</translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="665" /> <location filename="../novelwriter/dialogs/preferences.py" line="673" />
<source>Auto-replace dots</source> <source>Auto-replace dots</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="666" /> <location filename="../novelwriter/dialogs/preferences.py" line="674" />
<source>Three consecutive dots become ellipsis.</source> <source>Three consecutive dots become ellipsis.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="675" /> <location filename="../novelwriter/dialogs/preferences.py" line="683" />
<source>Insert non-breaking space before</source> <source>Insert non-breaking space before</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="676" /> <location filename="../novelwriter/dialogs/preferences.py" line="684" />
<source>Automatically add space before any of these symbols.</source> <source>Automatically add space before any of these symbols.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="685" /> <location filename="../novelwriter/dialogs/preferences.py" line="693" />
<source>Insert non-breaking space after</source> <source>Insert non-breaking space after</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="686" /> <location filename="../novelwriter/dialogs/preferences.py" line="694" />
<source>Automatically add space after any of these symbols.</source> <source>Automatically add space after any of these symbols.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="694" /> <location filename="../novelwriter/dialogs/preferences.py" line="702" />
<source>Use thin space instead</source> <source>Use thin space instead</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="695" /> <location filename="../novelwriter/dialogs/preferences.py" line="703" />
<source>Inserts a thin space instead of a regular space.</source> <source>Inserts a thin space instead of a regular space.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="701" /> <location filename="../novelwriter/dialogs/preferences.py" line="709" />
<source>Quotation Style</source> <source>Quotation Style</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="716" /> <location filename="../novelwriter/dialogs/preferences.py" line="724" />
<source>Single quote open style</source> <source>Single quote open style</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="717" /> <location filename="../novelwriter/dialogs/preferences.py" line="725" />
<source>The symbol to use for a leading single quote.</source> <source>The symbol to use for a leading single quote.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="730" /> <location filename="../novelwriter/dialogs/preferences.py" line="738" />
<source>Single quote close style</source> <source>Single quote close style</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="731" /> <location filename="../novelwriter/dialogs/preferences.py" line="739" />
<source>The symbol to use for a trailing single quote.</source> <source>The symbol to use for a trailing single quote.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="745" /> <location filename="../novelwriter/dialogs/preferences.py" line="753" />
<source>Double quote open style</source> <source>Double quote open style</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="746" /> <location filename="../novelwriter/dialogs/preferences.py" line="754" />
<source>The symbol to use for a leading double quote.</source> <source>The symbol to use for a leading double quote.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="759" /> <location filename="../novelwriter/dialogs/preferences.py" line="767" />
<source>Double quote close style</source> <source>Double quote close style</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="760" /> <location filename="../novelwriter/dialogs/preferences.py" line="768" />
<source>The symbol to use for a trailing double quote.</source> <source>The symbol to use for a trailing double quote.</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="../novelwriter/dialogs/preferences.py" line="831" /> <location filename="../novelwriter/dialogs/preferences.py" line="839" />
<source>Backup Directory</source> <source>Backup Directory</source>
<translation></translation> <translation></translation>
</message> </message>
@@ -1,6 +1,7 @@
{ {
"Synopsis": "Sinopsis", "Synopsis": "Sinopsis",
"Short Description": "Breve Descripción", "Short Description": "Breve Descripción",
"Footnotes": "Notas al pie",
"Comment": "Comentario", "Comment": "Comentario",
"Notes": "Notas", "Notes": "Notas",
"Tag": "Etiqueta", "Tag": "Etiqueta",
@@ -13,6 +14,7 @@
"Objects": "Objetos", "Objects": "Objetos",
"Entities": "Entidades", "Entities": "Entidades",
"Custom": "Otros", "Custom": "Otros",
"New Page": "Nueva Página",
"0": "Cero", "0": "Cero",
"1": "Uno", "1": "Uno",
"2": "Dos", "2": "Dos",
+3 -1
View File
@@ -1,6 +1,7 @@
{ {
"Synopsis": "Synopsis", "Synopsis": "Synopsis",
"Short Description": "Description sommaire", "Short Description": "Description sommaire",
"Footnotes": "Notes de bas de page",
"Comment": "Commentaire", "Comment": "Commentaire",
"Notes": "Notes", "Notes": "Notes",
"Tag": "Étiquette", "Tag": "Étiquette",
@@ -13,7 +14,8 @@
"Objects": "Objets", "Objects": "Objets",
"Entities": "Entités", "Entities": "Entités",
"Custom": "Personnalisé", "Custom": "Personnalisé",
"0": "Zero", "New Page": "Nouvelle page",
"0": "Zéro",
"1": "Un", "1": "Un",
"2": "Deux", "2": "Deux",
"3": "Trois", "3": "Trois",
Binary file not shown.
+48 -25
View File
@@ -32,6 +32,7 @@ import sys
from datetime import datetime from datetime import datetime
from pathlib import Path from pathlib import Path
from time import time from time import time
from typing import TYPE_CHECKING
from PyQt6.QtCore import ( from PyQt6.QtCore import (
PYQT_VERSION, PYQT_VERSION_STR, QT_VERSION, QT_VERSION_STR, QLibraryInfo, PYQT_VERSION, PYQT_VERSION_STR, QT_VERSION, QT_VERSION_STR, QLibraryInfo,
@@ -47,6 +48,9 @@ from novelwriter.common import (
from novelwriter.constants import nwFiles, nwUnicode from novelwriter.constants import nwFiles, nwUnicode
from novelwriter.error import formatException, logException from novelwriter.error import formatException, logException
if TYPE_CHECKING: # pragma: no cover
from novelwriter.core.projectdata import NWProjectData
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
DEF_GUI = "default" DEF_GUI = "default"
@@ -60,14 +64,15 @@ class Config:
__slots__ = ( __slots__ = (
"_confPath", "_dataPath", "_homePath", "_backPath", "_appPath", "_appRoot", "_hasError", "_confPath", "_dataPath", "_homePath", "_backPath", "_appPath", "_appRoot", "_hasError",
"_errData", "_nwLangPath", "_qtLangPath", "_qLocale", "_dLocale", "_dShortDate", "_errData", "_nwLangPath", "_qtLangPath", "_qLocale", "_dLocale", "_dShortDate",
"_dShortDateTime", "_qtTrans", "_recentProjects", "_recentPaths", "_backupPath", "_dShortDateTime", "_qtTrans", "_manuals", "_recentProjects", "_recentPaths",
"_backupPath",
"appName", "appHandle", "pdfDocs", "guiLocale", "guiTheme", "guiSyntax", "guiFont", "appName", "appHandle", "guiLocale", "guiTheme", "guiSyntax", "guiFont", "hideVScroll",
"hideVScroll", "hideHScroll", "lastNotes", "nativeFont", "iconTheme", "iconColTree", "hideHScroll", "lastNotes", "nativeFont", "iconTheme", "iconColTree", "iconColDocs",
"iconColDocs", "mainWinSize", "welcomeWinSize", "prefsWinSize", "mainPanePos", "mainWinSize", "welcomeWinSize", "prefsWinSize", "mainPanePos", "viewPanePos",
"viewPanePos", "outlinePanePos", "autoSaveProj", "autoSaveDoc", "emphLabels", "outlinePanePos", "autoSaveProj", "autoSaveDoc", "emphLabels", "backupOnClose",
"backupOnClose", "askBeforeBackup", "textFont", "textWidth", "textMargin", "tabWidth", "askBeforeBackup", "askBeforeExit", "textFont", "textWidth", "textMargin", "tabWidth",
"focusWidth", "hideFocusFooter", "showFullPath", "autoSelect", "doJustify", "focusWidth", "hideFocusFooter", "showFullPath", "autoSelect", "doJustify",
"showTabsNSpaces", "showLineEndings", "showMultiSpaces", "doReplace", "doReplaceSQuote", "showTabsNSpaces", "showLineEndings", "showMultiSpaces", "doReplace", "doReplaceSQuote",
"doReplaceDQuote", "doReplaceDash", "doReplaceDots", "autoScroll", "autoScrollPos", "doReplaceDQuote", "doReplaceDash", "doReplaceDots", "autoScroll", "autoScrollPos",
"scrollPastEnd", "dialogStyle", "allowOpenDial", "dialogLine", "narratorBreak", "scrollPastEnd", "dialogStyle", "allowOpenDial", "dialogLine", "narratorBreak",
@@ -131,8 +136,11 @@ class Config:
self._qtTrans = {} self._qtTrans = {}
# PDF Manual # PDF Manual
pdfDocs = self._appPath / "assets" / "manual.pdf" self._manuals: dict[str, Path] = {}
self.pdfDocs = pdfDocs if pdfDocs.is_file() else None if (assets := self._appPath / "assets").is_dir():
for item in assets.iterdir():
if item.is_file() and item.stem.startswith("manual") and item.suffix == ".pdf":
self._manuals[item.stem] = item
# User Settings # User Settings
# ============= # =============
@@ -169,6 +177,7 @@ class Config:
self.emphLabels = True # Add emphasis to H1 and H2 item labels self.emphLabels = True # Add emphasis to H1 and H2 item labels
self.backupOnClose = False # Flag for running automatic backups self.backupOnClose = False # Flag for running automatic backups
self.askBeforeBackup = True # Flag for asking before running automatic backup self.askBeforeBackup = True # Flag for asking before running automatic backup
self.askBeforeExit = True # Flag for asking before exiting the app
# Text Editor Settings # Text Editor Settings
self.textFont = QFont() # Editor font self.textFont = QFont() # Editor font
@@ -291,6 +300,10 @@ class Config:
def hasError(self) -> bool: def hasError(self) -> bool:
return self._hasError return self._hasError
@property
def pdfDocs(self) -> Path | None:
return self._manuals.get(f"manual_{self.locale.name()}", self._manuals.get("manual"))
@property @property
def locale(self) -> QLocale: def locale(self) -> QLocale:
return self._dLocale return self._dLocale
@@ -605,6 +618,7 @@ class Config:
self._backupPath = conf.rdPath(sec, "backuppath", self._backupPath) self._backupPath = conf.rdPath(sec, "backuppath", self._backupPath)
self.backupOnClose = conf.rdBool(sec, "backuponclose", self.backupOnClose) self.backupOnClose = conf.rdBool(sec, "backuponclose", self.backupOnClose)
self.askBeforeBackup = conf.rdBool(sec, "askbeforebackup", self.askBeforeBackup) self.askBeforeBackup = conf.rdBool(sec, "askbeforebackup", self.askBeforeBackup)
self.askBeforeExit = conf.rdBool(sec, "askbeforeexit", self.askBeforeExit)
# Editor # Editor
sec = "Editor" sec = "Editor"
@@ -719,6 +733,7 @@ class Config:
"backuppath": str(self._backupPath), "backuppath": str(self._backupPath),
"backuponclose": str(self.backupOnClose), "backuponclose": str(self.backupOnClose),
"askbeforebackup": str(self.askBeforeBackup), "askbeforebackup": str(self.askBeforeBackup),
"askbeforeexit": str(self.askBeforeExit),
} }
conf["Editor"] = { conf["Editor"] = {
@@ -822,29 +837,30 @@ class RecentProjects:
def __init__(self, config: Config) -> None: def __init__(self, config: Config) -> None:
self._conf = config self._conf = config
self._data = {} self._data: dict[str, dict[str, str | int]] = {}
self._map: dict[str, str] = {}
return return
def loadCache(self) -> bool: def loadCache(self) -> bool:
"""Load the cache file for recent projects.""" """Load the cache file for recent projects."""
self._data = {} self._data = {}
self._map = {}
cacheFile = self._conf.dataPath(nwFiles.RECENT_FILE) cacheFile = self._conf.dataPath(nwFiles.RECENT_FILE)
if cacheFile.is_file(): if cacheFile.is_file():
try: try:
with open(cacheFile, mode="r", encoding="utf-8") as inFile: with open(cacheFile, mode="r", encoding="utf-8") as inFile:
data = json.load(inFile) data = json.load(inFile)
for path, entry in data.items(): for path, entry in data.items():
self._data[path] = { puuid = str(entry.get("uuid", ""))
"title": entry.get("title", ""), title = str(entry.get("title", ""))
"words": entry.get("words", 0), words = checkInt(entry.get("words", 0), 0)
"time": entry.get("time", 0), saved = checkInt(entry.get("time", 0), 0)
} if path and title:
self._setEntry(puuid, path, title, words, saved)
except Exception: except Exception:
logger.error("Could not load recent project cache") logger.error("Could not load recent project cache")
logException() logException()
return False return False
return True return True
def saveCache(self) -> bool: def saveCache(self) -> bool:
@@ -859,7 +875,6 @@ class RecentProjects:
logger.error("Could not save recent project cache") logger.error("Could not save recent project cache")
logException() logException()
return False return False
return True return True
def listEntries(self) -> list[tuple[str, str, int, int]]: def listEntries(self) -> list[tuple[str, str, int, int]]:
@@ -869,14 +884,15 @@ class RecentProjects:
for k, e in self._data.items() for k, e in self._data.items()
] ]
def update(self, path: str | Path, title: str, words: int, saved: float | int) -> None: def update(self, path: str | Path, data: NWProjectData, saved: float | int) -> None:
"""Add or update recent cache information on a given project.""" """Add or update recent cache information on a given project."""
self._data[str(path)] = { try:
"title": title, if (remove := self._map.get(data.uuid)) and (remove != str(path)):
"words": int(words), self.remove(remove)
"time": int(saved), self._setEntry(data.uuid, str(path), data.name, sum(data.currCounts), int(saved))
} self.saveCache()
self.saveCache() except Exception:
pass
return return
def remove(self, path: str | Path) -> None: def remove(self, path: str | Path) -> None:
@@ -886,6 +902,13 @@ class RecentProjects:
self.saveCache() self.saveCache()
return return
def _setEntry(self, puuid: str, path: str, title: str, words: int, saved: int) -> None:
"""Set an entry in the recent projects record."""
self._data[path] = {"uuid": puuid, "title": title, "words": words, "time": saved}
if puuid:
self._map[puuid] = path
return
class RecentPaths: class RecentPaths:
+4
View File
@@ -173,6 +173,10 @@ class nwKeyWords:
TAG_KEY, POV_KEY, FOCUS_KEY, CHAR_KEY, PLOT_KEY, TIME_KEY, WORLD_KEY, TAG_KEY, POV_KEY, FOCUS_KEY, CHAR_KEY, PLOT_KEY, TIME_KEY, WORLD_KEY,
OBJECT_KEY, ENTITY_KEY, CUSTOM_KEY, STORY_KEY, MENTION_KEY, OBJECT_KEY, ENTITY_KEY, CUSTOM_KEY, STORY_KEY, MENTION_KEY,
] ]
CAN_CREATE = [
POV_KEY, FOCUS_KEY, CHAR_KEY, PLOT_KEY, TIME_KEY, WORLD_KEY,
OBJECT_KEY, ENTITY_KEY, CUSTOM_KEY,
]
# Set of Valid Keys # Set of Valid Keys
VALID_KEYS = set(ALL_KEYS) VALID_KEYS = set(ALL_KEYS)
+2 -6
View File
@@ -349,9 +349,7 @@ class NWProject:
# Update recent projects # Update recent projects
if storePath := self._storage.storagePath: if storePath := self._storage.storagePath:
CONFIG.recentProjects.update( CONFIG.recentProjects.update(storePath, self._data, time())
storePath, self._data.name, sum(self._data.initCounts), time()
)
# Check the project tree consistency # Check the project tree consistency
# This also handles any orphaned files found # This also handles any orphaned files found
@@ -417,9 +415,7 @@ class NWProject:
# Update recent projects # Update recent projects
if storagePath := self._storage.storagePath: if storagePath := self._storage.storagePath:
CONFIG.recentProjects.update( CONFIG.recentProjects.update(storagePath, self._data, saveTime)
storagePath, self._data.name, sum(self._data.currCounts), saveTime
)
SHARED.newStatusMessage(self.tr("Saved Project: {0}").format(self._data.name)) SHARED.newStatusMessage(self.tr("Saved Project: {0}").format(self._data.name))
self.setProjectChanged(False) self.setProjectChanged(False)
+14 -5
View File
@@ -302,10 +302,10 @@ class GuiPreferences(NDialog):
self.tr("Include project notes in status bar word count"), self.incNotesWCount self.tr("Include project notes in status bar word count"), self.incNotesWCount
) )
# Auto Save # Behaviour
# ========= # =========
title = self.tr("Auto Save") title = self.tr("Behaviour")
section += 1 section += 1
self.sidebar.addButton(title, section) self.sidebar.addButton(title, section)
self.mainForm.addGroupLabel(title, section) self.mainForm.addGroupLabel(title, section)
@@ -332,6 +332,14 @@ class GuiPreferences(NDialog):
self.tr("How often the project is automatically saved."), unit=self.tr("seconds") self.tr("How often the project is automatically saved."), unit=self.tr("seconds")
) )
# Ask before exiting novelWriter
self.askBeforeExit = NSwitch(self)
self.askBeforeExit.setChecked(CONFIG.askBeforeExit)
self.mainForm.addRow(
self.tr("Ask before exiting novelWriter"), self.askBeforeExit,
self.tr("Only applies when a project is open.")
)
# Project Backup # Project Backup
# ============== # ==============
@@ -965,9 +973,10 @@ class GuiPreferences(NDialog):
CONFIG.incNotesWCount = self.incNotesWCount.isChecked() CONFIG.incNotesWCount = self.incNotesWCount.isChecked()
CONFIG.setTextFont(self._textFont) CONFIG.setTextFont(self._textFont)
# Auto Save # Behaviour
CONFIG.autoSaveDoc = self.autoSaveDoc.value() CONFIG.autoSaveDoc = self.autoSaveDoc.value()
CONFIG.autoSaveProj = self.autoSaveProj.value() CONFIG.autoSaveProj = self.autoSaveProj.value()
CONFIG.askBeforeExit = self.askBeforeExit.isChecked()
# Project Backup # Project Backup
CONFIG.setBackupPath(self.backupPath) CONFIG.setBackupPath(self.backupPath)
-7
View File
@@ -68,13 +68,6 @@ class nwComment(Enum):
STORY = 7 STORY = 7
class nwTrinary(Enum):
NEGATIVE = -1
NEUTRAL = 0
POSITIVE = 1
class nwChange(Enum): class nwChange(Enum):
CREATE = 0 CREATE = 0
+5 -6
View File
@@ -28,7 +28,6 @@ import logging
from PyQt6.QtGui import QColor, QPainter, QPaintEvent from PyQt6.QtGui import QColor, QPainter, QPaintEvent
from PyQt6.QtWidgets import QAbstractButton, QWidget from PyQt6.QtWidgets import QAbstractButton, QWidget
from novelwriter.enum import nwTrinary
from novelwriter.types import QtBlack, QtPaintAntiAlias from novelwriter.types import QtBlack, QtPaintAntiAlias
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -44,13 +43,13 @@ class StatusLED(QAbstractButton):
self._postitve = QtBlack self._postitve = QtBlack
self._negative = QtBlack self._negative = QtBlack
self._color = QtBlack self._color = QtBlack
self._state = nwTrinary.NEUTRAL self._state = None
self.setFixedWidth(sW) self.setFixedWidth(sW)
self.setFixedHeight(sH) self.setFixedHeight(sH)
return return
@property @property
def state(self) -> nwTrinary: def state(self) -> bool | None:
"""The current state of the LED.""" """The current state of the LED."""
return self._state return self._state
@@ -62,11 +61,11 @@ class StatusLED(QAbstractButton):
self.setState(self._state) self.setState(self._state)
return return
def setState(self, state: nwTrinary) -> None: def setState(self, state: bool | None) -> None:
"""Set the colour state.""" """Set the colour state."""
if state == nwTrinary.POSITIVE: if state is True:
self._color = self._postitve self._color = self._postitve
elif state == nwTrinary.NEGATIVE: elif state is False:
self._color = self._negative self._color = self._negative
else: else:
self._color = self._neutral self._color = self._neutral
+28 -13
View File
@@ -34,7 +34,7 @@ from __future__ import annotations
import bisect import bisect
import logging import logging
from enum import Enum from enum import Enum, IntFlag
from time import time from time import time
from PyQt6.QtCore import ( from PyQt6.QtCore import (
@@ -59,7 +59,7 @@ from novelwriter.constants import nwConst, nwKeyWords, nwShortcode, nwUnicode
from novelwriter.core.document import NWDocument from novelwriter.core.document import NWDocument
from novelwriter.enum import ( from novelwriter.enum import (
nwChange, nwComment, nwDocAction, nwDocInsert, nwDocMode, nwItemClass, nwChange, nwComment, nwDocAction, nwDocInsert, nwDocMode, nwItemClass,
nwItemType, nwTrinary nwItemType
) )
from novelwriter.extensions.configlayout import NColorLabel from novelwriter.extensions.configlayout import NColorLabel
from novelwriter.extensions.eventfilters import WheelEventFilter from novelwriter.extensions.eventfilters import WheelEventFilter
@@ -86,6 +86,13 @@ class _SelectAction(Enum):
MOVE_AFTER = 3 MOVE_AFTER = 3
class _TagAction(IntFlag):
NONE = 0b00
FOLLOW = 0b01
CREATE = 0b10
class GuiDocEditor(QPlainTextEdit): class GuiDocEditor(QPlainTextEdit):
"""Gui Widget: Main Document Editor""" """Gui Widget: Main Document Editor"""
@@ -1146,11 +1153,11 @@ class GuiDocEditor(QPlainTextEdit):
# Follow # Follow
status = self._processTag(cursor=pCursor, follow=False) status = self._processTag(cursor=pCursor, follow=False)
if status == nwTrinary.POSITIVE: if status & _TagAction.FOLLOW:
action = qtAddAction(ctxMenu, self.tr("Follow Tag")) action = qtAddAction(ctxMenu, self.tr("Follow Tag"))
action.triggered.connect(qtLambda(self._processTag, cursor=pCursor, follow=True)) action.triggered.connect(qtLambda(self._processTag, cursor=pCursor, follow=True))
ctxMenu.addSeparator() ctxMenu.addSeparator()
elif status == nwTrinary.NEGATIVE: elif status & _TagAction.CREATE:
action = qtAddAction(ctxMenu, self.tr("Create Note for Tag")) action = qtAddAction(ctxMenu, self.tr("Create Note for Tag"))
action.triggered.connect(qtLambda(self._processTag, cursor=pCursor, create=True)) action.triggered.connect(qtLambda(self._processTag, cursor=pCursor, create=True))
ctxMenu.addSeparator() ctxMenu.addSeparator()
@@ -1916,7 +1923,7 @@ class GuiDocEditor(QPlainTextEdit):
def _processTag( def _processTag(
self, cursor: QTextCursor | None = None, follow: bool = True, create: bool = False self, cursor: QTextCursor | None = None, follow: bool = True, create: bool = False
) -> nwTrinary: ) -> _TagAction:
"""Activated by Ctrl+Enter. Checks that we're in a block """Activated by Ctrl+Enter. Checks that we're in a block
starting with '@'. We then find the tag under the cursor and starting with '@'. We then find the tag under the cursor and
check that it is not the tag itself. If all this is fine, we check that it is not the tag itself. If all this is fine, we
@@ -1926,19 +1933,22 @@ class GuiDocEditor(QPlainTextEdit):
if cursor is None: if cursor is None:
cursor = self.textCursor() cursor = self.textCursor()
status = _TagAction.NONE
block = cursor.block() block = cursor.block()
text = block.text() text = block.text()
if len(text) == 0: if len(text) == 0:
return nwTrinary.NEUTRAL return status
if text.startswith("@") and self._docHandle: if text.startswith("@") and self._docHandle:
isGood, tBits, tPos = SHARED.project.index.scanThis(text) isGood, tBits, tPos = SHARED.project.index.scanThis(text)
if ( if (
not isGood or not tBits or tBits[0] == nwKeyWords.TAG_KEY not isGood
or tBits[0] not in nwKeyWords.VALID_KEYS or not tBits
or (key := tBits[0]) == nwKeyWords.TAG_KEY
or key not in nwKeyWords.VALID_KEYS
): ):
return nwTrinary.NEUTRAL return status
tag = "" tag = ""
exist = False exist = False
@@ -1955,7 +1965,14 @@ class GuiDocEditor(QPlainTextEdit):
if not tag or tag.startswith("@"): if not tag or tag.startswith("@"):
# The keyword cannot be looked up, so we ignore that # The keyword cannot be looked up, so we ignore that
return nwTrinary.NEUTRAL return status
if not exist and key in nwKeyWords.CAN_CREATE:
# Must only be set if we have a tag selected
status |= _TagAction.CREATE
if exist:
status |= _TagAction.FOLLOW
if follow and exist: if follow and exist:
logger.debug("Attempting to follow tag '%s'", tag) logger.debug("Attempting to follow tag '%s'", tag)
@@ -1967,9 +1984,7 @@ class GuiDocEditor(QPlainTextEdit):
itemClass = nwKeyWords.KEY_CLASS.get(tBits[0], nwItemClass.NO_CLASS) itemClass = nwKeyWords.KEY_CLASS.get(tBits[0], nwItemClass.NO_CLASS)
self.requestNewNoteCreation.emit(tag, itemClass) self.requestNewNoteCreation.emit(tag, itemClass)
return nwTrinary.POSITIVE if exist else nwTrinary.NEGATIVE return status
return nwTrinary.NEUTRAL
def _emitRenameItem(self, block: QTextBlock) -> None: def _emitRenameItem(self, block: QTextBlock) -> None:
"""Emit a signal to request an item be renamed.""" """Emit a signal to request an item be renamed."""
+6 -7
View File
@@ -34,7 +34,6 @@ from PyQt6.QtWidgets import QApplication, QLabel, QStatusBar, QWidget
from novelwriter import CONFIG, SHARED from novelwriter import CONFIG, SHARED
from novelwriter.common import formatTime from novelwriter.common import formatTime
from novelwriter.constants import nwConst from novelwriter.constants import nwConst
from novelwriter.enum import nwTrinary
from novelwriter.extensions.modified import NClickableLabel from novelwriter.extensions.modified import NClickableLabel
from novelwriter.extensions.statusled import StatusLED from novelwriter.extensions.statusled import StatusLED
@@ -119,8 +118,8 @@ class GuiMainStatus(QStatusBar):
self.setRefTime(-1.0) self.setRefTime(-1.0)
self.setLanguage(*SHARED.spelling.describeDict()) self.setLanguage(*SHARED.spelling.describeDict())
self.setProjectStats(0, 0) self.setProjectStats(0, 0)
self.setProjectStatus(nwTrinary.NEUTRAL) self.setProjectStatus(None)
self.setDocumentStatus(nwTrinary.NEUTRAL) self.setDocumentStatus(None)
self.updateTime() self.updateTime()
return return
@@ -150,12 +149,12 @@ class GuiMainStatus(QStatusBar):
self._refTime = refTime self._refTime = refTime
return return
def setProjectStatus(self, state: nwTrinary) -> None: def setProjectStatus(self, state: bool | None) -> None:
"""Set the project status colour icon.""" """Set the project status colour icon."""
self.projIcon.setState(state) self.projIcon.setState(state)
return return
def setDocumentStatus(self, state: nwTrinary) -> None: def setDocumentStatus(self, state: bool | None) -> None:
"""Set the document status colour icon.""" """Set the document status colour icon."""
self.docIcon.setState(state) self.docIcon.setState(state)
return return
@@ -218,13 +217,13 @@ class GuiMainStatus(QStatusBar):
@pyqtSlot(bool) @pyqtSlot(bool)
def updateProjectStatus(self, status: bool) -> None: def updateProjectStatus(self, status: bool) -> None:
"""Update the project status.""" """Update the project status."""
self.setProjectStatus(nwTrinary.NEGATIVE if status else nwTrinary.POSITIVE) self.setProjectStatus(not status)
return return
@pyqtSlot(bool) @pyqtSlot(bool)
def updateDocumentStatus(self, status: bool) -> None: def updateDocumentStatus(self, status: bool) -> None:
"""Update the document status.""" """Update the document status."""
self.setDocumentStatus(nwTrinary.NEGATIVE if status else nwTrinary.POSITIVE) self.setDocumentStatus(not status)
return return
## ##
+1 -1
View File
@@ -847,7 +847,7 @@ class GuiMain(QMainWindow):
def closeMain(self) -> bool: def closeMain(self) -> bool:
"""Save everything, and close novelWriter.""" """Save everything, and close novelWriter."""
if SHARED.hasProject and not SHARED.question("%s<br>%s" % ( if SHARED.hasProject and CONFIG.askBeforeExit and not SHARED.question("%s<br>%s" % (
self.tr("Do you want to exit novelWriter?"), self.tr("Do you want to exit novelWriter?"),
self.tr("Changes are saved automatically.") self.tr("Changes are saved automatically.")
)): )):
+1 -1
View File
@@ -57,7 +57,7 @@ def resetConfigVars():
CONFIG.backupOnClose = False CONFIG.backupOnClose = False
CONFIG._homePath = _TMP_ROOT CONFIG._homePath = _TMP_ROOT
CONFIG._dLocale = QLocale("en_GB") CONFIG._dLocale = QLocale("en_GB")
CONFIG.pdfDocs = _TMP_ROOT / "manual.pdf" CONFIG._manuals = {"manual": _TMP_ROOT / "manual.pdf"}
CONFIG.guiLocale = "en_GB" CONFIG.guiLocale = "en_GB"
return return
+2 -1
View File
@@ -1,5 +1,5 @@
[Meta] [Meta]
timestamp = 2025-01-26 18:17:44 timestamp = 2025-01-29 11:56:34
[Main] [Main]
font = font =
@@ -29,6 +29,7 @@ emphlabels = True
backuppath = backuppath =
backuponclose = False backuponclose = False
askbeforebackup = True askbeforebackup = True
askbeforeexit = True
[Editor] [Editor]
textfont = textfont =
+22 -3
View File
@@ -31,6 +31,7 @@ import pytest
from novelwriter import CONFIG from novelwriter import CONFIG
from novelwriter.config import Config, RecentPaths, RecentProjects from novelwriter.config import Config, RecentPaths, RecentProjects
from novelwriter.constants import nwFiles from novelwriter.constants import nwFiles
from novelwriter.core.project import NWProject
from tests.mocked import MockApp, causeOSError from tests.mocked import MockApp, causeOSError
from tests.tools import cmpFiles, writeFile from tests.tools import cmpFiles, writeFile
@@ -294,7 +295,7 @@ def testBaseConfig_Internal(monkeypatch, fncPath):
@pytest.mark.base @pytest.mark.base
def testBaseConfig_RecentCache(monkeypatch, tstPaths): def testBaseConfig_RecentCache(monkeypatch, tstPaths, nwGUI):
"""Test recent cache file.""" """Test recent cache file."""
cacheFile = tstPaths.cnfDir / nwFiles.RECENT_FILE cacheFile = tstPaths.cnfDir / nwFiles.RECENT_FILE
recent = RecentProjects(CONFIG) recent = RecentProjects(CONFIG)
@@ -308,8 +309,18 @@ def testBaseConfig_RecentCache(monkeypatch, tstPaths):
pathOne = tstPaths.cnfDir / "projPathOne" / nwFiles.PROJ_FILE pathOne = tstPaths.cnfDir / "projPathOne" / nwFiles.PROJ_FILE
pathTwo = tstPaths.cnfDir / "projPathTwo" / nwFiles.PROJ_FILE pathTwo = tstPaths.cnfDir / "projPathTwo" / nwFiles.PROJ_FILE
recent.update(pathOne, "Proj One", 100, 1600002000) prjOne = NWProject()
recent.update(pathTwo, "Proj Two", 200, 1600005600) prjTwo = NWProject()
prjOne.data.setUuid(None)
prjTwo.data.setUuid(None)
prjOne.data.setName("Proj One")
prjTwo.data.setName("Proj Two")
prjOne.data.setCurrCounts(100, 0)
prjTwo.data.setCurrCounts(200, 0)
recent.update(pathOne, prjOne.data, 1600002000)
recent.update(pathTwo, prjTwo.data, 1600005600)
assert recent.listEntries() == [ assert recent.listEntries() == [
(str(pathOne), "Proj One", 100, 1600002000), (str(pathOne), "Proj One", 100, 1600002000),
(str(pathTwo), "Proj Two", 200, 1600005600), (str(pathTwo), "Proj Two", 200, 1600005600),
@@ -341,6 +352,14 @@ def testBaseConfig_RecentCache(monkeypatch, tstPaths):
(str(pathTwo), "Proj Two", 200, 1600005600), (str(pathTwo), "Proj Two", 200, 1600005600),
] ]
# Pass Invalid
recent.update(None, None, 0) # type: ignore
recent.update(None, None, 0) # type: ignore
assert recent.listEntries() == [
(str(pathOne), "Proj One", 100, 1600002000),
(str(pathTwo), "Proj Two", 200, 1600005600),
]
# Remove Non-Existent Entry # Remove Non-Existent Entry
recent.remove("stuff") recent.remove("stuff")
assert recent.listEntries() == [ assert recent.listEntries() == [
+5 -2
View File
@@ -188,12 +188,14 @@ def testDlgPreferences_Settings(qtbot, monkeypatch, nwGUI, fncPath, tstPaths):
assert CONFIG.showFullPath is True assert CONFIG.showFullPath is True
assert CONFIG.incNotesWCount is True assert CONFIG.incNotesWCount is True
# Auto Save # Behaviour
prefs.autoSaveDoc.stepUp() prefs.autoSaveDoc.stepUp()
prefs.autoSaveProj.stepUp() prefs.autoSaveProj.stepUp()
prefs.askBeforeExit.setChecked(False)
assert CONFIG.autoSaveDoc == 30 assert CONFIG.autoSaveDoc == 30
assert CONFIG.autoSaveProj == 60 assert CONFIG.autoSaveProj == 60
assert CONFIG.askBeforeExit is True
# Project Backup # Project Backup
with monkeypatch.context() as mp: with monkeypatch.context() as mp:
@@ -341,9 +343,10 @@ def testDlgPreferences_Settings(qtbot, monkeypatch, nwGUI, fncPath, tstPaths):
assert CONFIG.showFullPath is False assert CONFIG.showFullPath is False
assert CONFIG.incNotesWCount is False assert CONFIG.incNotesWCount is False
# Auto Save # Behaviour
assert CONFIG.autoSaveDoc == 31 assert CONFIG.autoSaveDoc == 31
assert CONFIG.autoSaveProj == 61 assert CONFIG.autoSaveProj == 61
assert CONFIG.askBeforeExit is False
# Project Backup # Project Backup
assert CONFIG._backupPath == tstPaths.testDir assert CONFIG._backupPath == tstPaths.testDir
+10 -9
View File
@@ -35,8 +35,8 @@ from novelwriter import CONFIG, SHARED
from novelwriter.common import decodeMimeHandles from novelwriter.common import decodeMimeHandles
from novelwriter.constants import nwKeyWords, nwUnicode from novelwriter.constants import nwKeyWords, nwUnicode
from novelwriter.dialogs.editlabel import GuiEditLabel from novelwriter.dialogs.editlabel import GuiEditLabel
from novelwriter.enum import nwDocAction, nwDocInsert, nwItemClass, nwItemLayout, nwTrinary from novelwriter.enum import nwDocAction, nwDocInsert, nwItemClass, nwItemLayout
from novelwriter.gui.doceditor import GuiDocEditor from novelwriter.gui.doceditor import GuiDocEditor, _TagAction
from novelwriter.text.counting import standardCounter from novelwriter.text.counting import standardCounter
from novelwriter.types import ( from novelwriter.types import (
QtAlignJustify, QtAlignLeft, QtKeepAnchor, QtModCtrl, QtModNone, QtAlignJustify, QtAlignLeft, QtKeepAnchor, QtModCtrl, QtModNone,
@@ -1699,21 +1699,22 @@ def testGuiEditor_Tags(qtbot, nwGUI, projPath, ipsumText, mockRnd):
# Empty Block # Empty Block
docEditor.setCursorLine(2) docEditor.setCursorLine(2)
assert docEditor._processTag() is nwTrinary.NEUTRAL assert docEditor._processTag() == _TagAction.NONE
# Not On Tag # Not On Tag
docEditor.setCursorLine(1) docEditor.setCursorLine(1)
assert docEditor._processTag() is nwTrinary.NEUTRAL assert docEditor._processTag() == _TagAction.NONE
# On Tag Keyword # On Tag Keyword
docEditor.setCursorPosition(15) docEditor.setCursorPosition(15)
assert docEditor._processTag() is nwTrinary.NEUTRAL assert docEditor._processTag() == _TagAction.NONE
# On Known Tag, No Follow # On Known Tag, No Follow
docEditor.setCursorPosition(22) docEditor.setCursorPosition(22)
assert docEditor._processTag(follow=False) is nwTrinary.POSITIVE assert docEditor._processTag(follow=False) == _TagAction.FOLLOW
assert nwGUI.docViewer._docHandle is None assert nwGUI.docViewer._docHandle is None
# qtbot.stop()
# On Known Tag, Follow # On Known Tag, Follow
docEditor.setCursorPosition(22) docEditor.setCursorPosition(22)
position = QPointF(docEditor.cursorRect().center()) position = QPointF(docEditor.cursorRect().center())
@@ -1729,13 +1730,13 @@ def testGuiEditor_Tags(qtbot, nwGUI, projPath, ipsumText, mockRnd):
# On Unknown Tag, Create It # On Unknown Tag, Create It
assert "0000000000011" not in SHARED.project.tree assert "0000000000011" not in SHARED.project.tree
docEditor.setCursorPosition(28) docEditor.setCursorPosition(28)
assert docEditor._processTag(create=True) is nwTrinary.NEGATIVE assert docEditor._processTag(create=True) == _TagAction.CREATE
assert "0000000000011" in SHARED.project.tree assert "0000000000011" in SHARED.project.tree
# On Unknown Tag, Missing Root # On Unknown Tag, Missing Root
assert "0000000000012" not in SHARED.project.tree assert "0000000000012" not in SHARED.project.tree
docEditor.setCursorPosition(42) docEditor.setCursorPosition(42)
assert docEditor._processTag(create=True) is nwTrinary.NEGATIVE assert docEditor._processTag(create=True) == _TagAction.CREATE
oHandle = SHARED.project.tree.findRoot(nwItemClass.OBJECT) oHandle = SHARED.project.tree.findRoot(nwItemClass.OBJECT)
assert oHandle == "0000000000012" assert oHandle == "0000000000012"
@@ -1744,7 +1745,7 @@ def testGuiEditor_Tags(qtbot, nwGUI, projPath, ipsumText, mockRnd):
assert oItem.itemParent == "0000000000012" assert oItem.itemParent == "0000000000012"
docEditor.setCursorPosition(47) docEditor.setCursorPosition(47)
assert docEditor._processTag() is nwTrinary.NEUTRAL assert docEditor._processTag() == _TagAction.NONE
# qtbot.stop() # qtbot.stop()
+2 -2
View File
@@ -45,8 +45,8 @@ def testGuiMainMenu_Slots(qtbot, monkeypatch, nwGUI, projPath):
with monkeypatch.context() as mp: with monkeypatch.context() as mp:
openUrl = MagicMock() openUrl = MagicMock()
mp.setattr(QDesktopServices, "openUrl", openUrl) mp.setattr(QDesktopServices, "openUrl", openUrl)
CONFIG.pdfDocs = projPath / "manual.pdf" CONFIG._manuals = {"manual": projPath / "manual.pdf"}
CONFIG.pdfDocs.touch() CONFIG._manuals["manual"].touch()
nwGUI.mainMenu._openUserManualFile() nwGUI.mainMenu._openUserManualFile()
assert openUrl.called is True assert openUrl.called is True
assert "manual.pdf" in openUrl.call_args[0][0].url() assert "manual.pdf" in openUrl.call_args[0][0].url()
+12 -13
View File
@@ -25,7 +25,6 @@ import time
import pytest import pytest
from novelwriter import CONFIG, SHARED from novelwriter import CONFIG, SHARED
from novelwriter.enum import nwTrinary
from tests.tools import C, buildTestProject from tests.tools import C, buildTestProject
@@ -47,20 +46,20 @@ def testGuiStatusBar_Main(qtbot, monkeypatch, nwGUI, projPath, mockRnd):
assert status._refTime == refTime assert status._refTime == refTime
# Project Status # Project Status
status.setProjectStatus(nwTrinary.NEUTRAL) status.setProjectStatus(None)
assert status.projIcon.state == nwTrinary.NEUTRAL assert status.projIcon.state is None
status.setProjectStatus(nwTrinary.NEGATIVE) status.setProjectStatus(False)
assert status.projIcon.state == nwTrinary.NEGATIVE assert status.projIcon.state is False
status.setProjectStatus(nwTrinary.POSITIVE) status.setProjectStatus(True)
assert status.projIcon.state == nwTrinary.POSITIVE assert status.projIcon.state is True
# Document Status # Document Status
status.setDocumentStatus(nwTrinary.NEUTRAL) status.setDocumentStatus(None)
assert status.docIcon.state == nwTrinary.NEUTRAL assert status.docIcon.state is None
status.setDocumentStatus(nwTrinary.NEGATIVE) status.setDocumentStatus(False)
assert status.docIcon.state == nwTrinary.NEGATIVE assert status.docIcon.state is False
status.setDocumentStatus(nwTrinary.POSITIVE) status.setDocumentStatus(True)
assert status.docIcon.state == nwTrinary.POSITIVE assert status.docIcon.state is True
# Idle Status # Idle Status
CONFIG.stopWhenIdle = False CONFIG.stopWhenIdle = False
+13 -2
View File
@@ -31,6 +31,7 @@ from PyQt6.QtWidgets import QFileDialog, QMenu
from novelwriter import CONFIG, SHARED from novelwriter import CONFIG, SHARED
from novelwriter.constants import nwFiles from novelwriter.constants import nwFiles
from novelwriter.core.projectdata import NWProjectData
from novelwriter.enum import nwItemClass from novelwriter.enum import nwItemClass
from novelwriter.tools.welcome import GuiWelcome from novelwriter.tools.welcome import GuiWelcome
from novelwriter.types import QtMouseLeft from novelwriter.types import QtMouseLeft
@@ -72,8 +73,18 @@ def testToolWelcome_Open(qtbot, monkeypatch, nwGUI, fncPath):
monkeypatch.setattr(QMenu, "exec", lambda *a: None) monkeypatch.setattr(QMenu, "exec", lambda *a: None)
monkeypatch.setattr(QMenu, "setParent", lambda *a: None) monkeypatch.setattr(QMenu, "setParent", lambda *a: None)
CONFIG.recentProjects.update("/stuff/project_one", "Project One", 12345, 1690000000) data1 = NWProjectData(SHARED.project)
CONFIG.recentProjects.update("/stuff/project_two", "Project Two", 54321, 1700000000) data2 = NWProjectData(SHARED.project)
data1.setUuid(None)
data2.setUuid(None)
data1.setName("Project One")
data2.setName("Project Two")
data1.setCurrCounts(12345, 0)
data2.setCurrCounts(54321, 0)
CONFIG.recentProjects.update("/stuff/project_one", data1, 1690000000)
CONFIG.recentProjects.update("/stuff/project_two", data2, 1700000000)
dateOne = CONFIG.localDate(datetime.fromtimestamp(1700000000)) dateOne = CONFIG.localDate(datetime.fromtimestamp(1700000000))
dateTwo = CONFIG.localDate(datetime.fromtimestamp(1690000000)) dateTwo = CONFIG.localDate(datetime.fromtimestamp(1690000000))