diff -Nru frescobaldi-1.0.2/ChangeLog frescobaldi-1.1.1/ChangeLog --- frescobaldi-1.0.2/ChangeLog 2010-02-18 08:10:22.000000000 +0000 +++ frescobaldi-1.1.1/ChangeLog 2010-05-03 19:28:59.000000000 +0100 @@ -1,3 +1,50 @@ +Changes in 1.1.1 -- May 3rd, 2010 + +* LilyPond Documentation Browser: + - Indexing help items fixed with new website (2.13+) +* Fixed Python error message on opening settings dialog with recent SIP/PyQt +* Translations: + - Dutch updated by Wilbert Berendsen + - Turkish updated by Server Acim + +Changes in 1.1.0 -- March 26th, 2010 + +* It is now possible to use multiple versions of LilyPond easily from within + Frescobaldi. LilyPond instances can be configured under Settings, Paths. + There is also a custom Run LilyPond command where a version can be chosen, + among other options. And Frescobaldi can be configured to automatically + choose a LilyPond version according to the document's \version statement. +* Score Wizard, Choir: + - New lyric option "Distribute stanzas" to spread the stanzas between staves. + This option only has effect when there are three or more staves, and is very + useful if there is a large number of stanzas that apply to all voices. + - Lyric placement is fine-tuned when LilyPond >= 2.13.4 is used, using the + staff-affinity setting, so lyrics are placed close to the staff they belong + to. If lyrics apply to multiple voices, the are centered between staves. + This improves the layout of vocal music if the systems are vertically + streched by LilyPond to fill the page nicely. + - New checkbox to create rehearsal MIDI files. If checked, one MIDI file is + generated for each voice, with the voice standing out in a clear sound and + the other voices in a lower volume. Repeats are unfolded and lyrics for the + current voice are also added to the MIDI file. +* Score Wizard, Score settings: + - New checkbox option to wrap the score in a \book block. +* New dialog to insert special characters from the Unicode table, with the + ability to assign keyboard shortcuts to often used characters. +* New command: Copy Lyrics with hyphenation removed +* Expansion Dialog: + - has now some documented default keyboard shortcuts +* Quick Insert Panel: + - New buttons for \halfopen and \snappizzicato + - It is now possible to assign keyboard shortcuts to the articulation buttons +* Repeat last expression: don't append space +* Email files: select files with checkboxes instead of Ctrl+Click +* Installation: + - byte compiling the Python modules can be supressed by adding + -DBYTECOMPILE=NO to the cmake command line + - building the icons from SVN or out-of-source requires LilyPond 2.13.11+ +* Some workarounds for subtle SIP 4.10/KDE 4.4 garbage collection bugs + Changes in 1.0.2 -- February 18th, 2010 * Make Frescobaldi working with SIP 4.10 and KDE 4.4 @@ -82,7 +129,7 @@ - Fix crash when swichting to a document opened using the Open File dialog when multiple files were opened at the same time - All pitch manipulation functions better detect the end of unbracketed markup - expressions like: g g g-\markup \sharp g g g. Frescobaldo now knows the + expressions like: g g g-\markup \sharp g g g. Frescobaldi now knows the number of arguments each markup command has and will not mistake the g after \sharp for a markup argument. * Installation: diff -Nru frescobaldi-1.0.2/checkmodules.py frescobaldi-1.1.1/checkmodules.py --- frescobaldi-1.0.2/checkmodules.py 2009-12-13 07:36:46.000000000 +0000 +++ frescobaldi-1.1.1/checkmodules.py 2009-12-13 07:35:43.000000000 +0000 @@ -31,16 +31,17 @@ mkver = lambda major, minor, release: major * 65536 + minor * 256 + release # versions -if sys.version_info[:2] not in ((2,4), (2,5), (2,6)): - errors.append("Python version %s.%s.%s found, but need 2.4, 2.5 or 2.6." % +if sys.version_info[:2] != (2, 6): + errors.append("Python version %s.%s.%s found, but need 2.6.\n" + "(Use cmake -DPYTHON_EXECUTABLE=/path/to/python2.6)" % sys.version_info[:3]) -if sip.SIP_VERSION < mkver(4, 7, 7): - errors.append("(python-)sip version %s found, but need at least 4.7.7." % +if sip.SIP_VERSION < mkver(4, 9, 1): + errors.append("(python-)sip version %s found, but need at least 4.9.1." % sip.SIP_VERSION_STR) -if PyQt4.QtCore.PYQT_VERSION < mkver(4, 4, 3): - errors.append("PyQt4 version %s found, but need at least 4.4.3." % +if PyQt4.QtCore.PYQT_VERSION < mkver(4, 6, 0): + errors.append("PyQt4 version %s found, but need at least 4.6.0." % PyQt4.QtCore.PYQT_VERSION_STR) if PyKDE4.kdecore.pykde_version() < mkver(4, 0, 2): diff -Nru frescobaldi-1.0.2/CMakeLists.txt frescobaldi-1.1.1/CMakeLists.txt --- frescobaldi-1.0.2/CMakeLists.txt 2010-02-16 09:05:23.000000000 +0000 +++ frescobaldi-1.1.1/CMakeLists.txt 2010-05-03 19:28:59.000000000 +0100 @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 2.4) project(frescobaldi NONE) -set(VERSION "1.0.2") +set(VERSION "1.1.1") option(HANDBOOK "Install Frescobaldi User Guide" ON) option(BYTECOMPILE "Byte-compile Python modules on install" ON) diff -Nru frescobaldi-1.0.2/data/expansions frescobaldi-1.1.1/data/expansions --- frescobaldi-1.0.2/data/expansions 2010-01-16 11:00:50.000000000 +0000 +++ frescobaldi-1.1.1/data/expansions 2010-01-16 10:59:33.000000000 +0000 @@ -273,29 +273,52 @@ Name=Triplet Name[nl]=Triool Text=\\times 2/3 { (|) } +Default Shortcut=Ctrl+3 [v1] Name=Voice One Name[nl]=Stem 1 (\\voiceOne) Text=\\voiceOne +Default Shortcut=Alt+1 [v2] Name=Voice Two Name[nl]=Stem 2 (\\voiceTwo) Text=\\voiceTwo +Default Shortcut=Alt+2 [v3] Name=Voice Three Name[nl]=Stem 3 (\\voiceThree) Text=\\voiceThree +Default Shortcut=Alt+3 [v4] Name=Voice Four Name[nl]=Stem 4 (\\voiceFour) Text=\\voiceFour +Default Shortcut=Alt+4 [1v] Name=One Voice Name[nl]=Eenstemmig (\\oneVoice) Text=\\oneVoice +Default Shortcut=Alt+0 + +[br] +Name=Breath Mark +Name[nl]=Ademhalingsteken (\\breathe) +Text=\\breathe\n + +[mub] +Name=Markup Bold +Name[nl]=Markup Vet (bold) +Text=\\markup \\bold { (|) } +Default Shortcut=Alt+M, Alt+B + +[mui] +Name=Markup Italic +Name[nl]=Markup Cursief (italic) +Text=\\markup \\italic { (|) } +Default Shortcut=Alt+M, Alt+I diff -Nru frescobaldi-1.0.2/data/frescobaldi.desktop frescobaldi-1.1.1/data/frescobaldi.desktop --- frescobaldi-1.0.2/data/frescobaldi.desktop 2009-12-07 22:34:41.000000000 +0000 +++ frescobaldi-1.1.1/data/frescobaldi.desktop 2010-01-10 20:48:14.000000000 +0000 @@ -18,5 +18,5 @@ Type=Application Terminal=false InitialPreference=8 -Categories=Qt;KDE;Audio;Music;TextEditor; +Categories=Qt;KDE;AudioVideo;Music;Utility;TextEditor; X-Accepts-TextEditUrl=True diff -Nru frescobaldi-1.0.2/data/frescobaldiui.rc frescobaldi-1.1.1/data/frescobaldiui.rc --- frescobaldi-1.0.2/data/frescobaldiui.rc 2009-11-06 22:17:19.000000000 +0000 +++ frescobaldi-1.1.1/data/frescobaldiui.rc 2010-01-12 13:28:50.000000000 +0000 @@ -1,5 +1,5 @@ - + &File @@ -60,6 +60,7 @@ + &Generated Files @@ -74,6 +75,8 @@ + + &Pitch @@ -124,6 +127,7 @@ &Lyrics + &Source Document diff -Nru frescobaldi-1.0.2/debian/changelog frescobaldi-1.1.1/debian/changelog --- frescobaldi-1.0.2/debian/changelog 2010-05-04 15:00:48.000000000 +0100 +++ frescobaldi-1.1.1/debian/changelog 2010-05-04 15:00:49.000000000 +0100 @@ -1,43 +1,39 @@ -frescobaldi (1.0.2-1) unstable; urgency=low +frescobaldi (1.1.1-0ubuntu1) lucid; urgency=low - * New upstream release, fixes issues with KDE 4.4 and SIP 4.10. - * Bumped to standards version 3.8.4 + * New upstream release - -- Ryan Kavanagh Sat, 20 Feb 2010 08:31:25 -0500 + -- Chris Snyder Tue, 04 May 2010 09:52:22 -0400 -frescobaldi (1.0.1-1) unstable; urgency=low +frescobaldi (1.0.1-0ubuntu1) karmic; urgency=low * New upstream release - -- Ryan Kavanagh Sun, 17 Jan 2010 08:54:24 -0500 + -- Chris Snyder Mon, 18 Jan 2010 08:48:26 -0500 -frescobaldi (1.0.0-1) unstable; urgency=low +frescobaldi (1.0.0-0ubuntu1) karmic; urgency=low * New upstream release - * Updated the long description with new features - -- Ryan Kavanagh Sun, 27 Dec 2009 15:21:28 -0500 + -- Chris Snyder Mon, 28 Dec 2009 10:33:28 -0500 -frescobaldi (0.7.17-1) unstable; urgency=low +frescobaldi (0.7.17-0~ppa0) karmic; urgency=low * New upstream release - -- Ryan Kavanagh Sun, 29 Nov 2009 08:31:56 -0500 + -- Chris Snyder Mon, 30 Nov 2009 11:07:13 -0500 -frescobaldi (0.7.16-1) unstable; urgency=low +frescobaldi (0.7.16-0~ppa0) karmic; urgency=low * New upstream release - * Update the copyright with new copyright holders - -- Ryan Kavanagh Sun, 15 Nov 2009 18:22:07 -0500 + -- Chris Snyder Tue, 17 Nov 2009 10:00:00 -0500 -frescobaldi (0.7.15-1) unstable; urgency=low +frescobaldi (0.7.15-0~ppa0) karmic; urgency=low * New upstream release - * Update README.Debian now that rumor is in the archives - * Update copyright with new copyright holders + * Added uupdate command to debian/watch file - -- Ryan Kavanagh Sun, 01 Nov 2009 20:25:12 +0100 + -- Chris Snyder Wed, 14 Oct 2009 11:03:04 -0400 frescobaldi (0.7.13-3) unstable; urgency=low diff -Nru frescobaldi-1.0.2/debian/control frescobaldi-1.1.1/debian/control --- frescobaldi-1.0.2/debian/control 2010-05-04 15:00:48.000000000 +0100 +++ frescobaldi-1.1.1/debian/control 2010-05-04 15:00:49.000000000 +0100 @@ -8,7 +8,7 @@ python-qt4 (>= 4.4.4), python-sip4 (>= 4.7.9), python-dbus, python-kde4-dev (>= 4:4.2.2), python-qt4-dbus, lilypond, ghostscript, imagemagick, kdelibs-bin (>= 4:4.2.2), cmake -Standards-Version: 3.8.4 +Standards-Version: 3.8.3 Vcs-Svn: svn://svn.debian.org/svn/python-apps/packages/frescobaldi/ Vcs-Browser: http://svn.debian.org/viewsvn/python-apps/packages/frescobaldi/trunk/ XS-Python-Version: >= 2.5 @@ -16,6 +16,7 @@ Package: frescobaldi Architecture: all +XB-Python-Version: ${python:Versions} Depends: ${misc:Depends}, ${python:Depends}, python-qt4, python-kde4 (>= 4:4.0.2), python-dbus, lilypond, okular, kdebase-bin (>= 4.2.1), kdelibs5 (>= 4.2.1), python-qt4-dbus @@ -26,24 +27,19 @@ * Enter LilyPond scores, then build and preview them with a mouseclick * Point-and-click support: click on notes or on error messages to jump to the corresponding position in the LilyPond file - * A Score Setup Wizard that helps you to quickly setup a LilyPond score, - generating LilyPond input in a very human-like way - * Blank staff paper generator - * Syntax coloring that also signals some often made mistakes - * Snippet manager to enter lilypond snippets using keystrokes or mnemonics - * Context sensitive autocompletion, helping you to enter LilyPond commands - * Hyphenate lyrics using wordprocessor hyphenation dictionaries - * Powerful functions to manipulate pitches: translate music from one pitch - language to another, transpose music (both relative and absolute) and - perform conversion between relative and absolute music expressions (all - these functions also work on selected fragments of music) - * Tools to change the rhythm of already entered music (extract, paste rhythm, - apply a rhythm repetitively to entered pitches, double, halve or scale, etc) + * A powerful Score Wizard to quickly setup a musical score + * Editing tools to: + - manipulate the rhythm + - hyphenate lyrics + - quickly enter or add articulations and other symbols to existing scores + - run the document through convert-ly to update it to a newer LilyPond + version + - translate pitch names + * Context sensitive autocomplete, helping you to enter LilyPond commands + * Expansion manager to enter larger snippets of LilyPond input using short + mnemonics + * Built-in comprehensive User Guide * A powerful Rumor plugin, using the Rumor program to quickly enter music by playing it on a MIDI keyboard or even your computer keyboard - * LilyPond documentation browser with context sensitive lookup - * User Guide with help buttons (F1) everywhere - * Translated into Dutch, English, French, German, Italian, Czech, Russian, - Spanish, Turkish and Polish . Frescobaldi is the KDE4 successor of LilyKDE, a Kate plugin for KDE3. diff -Nru frescobaldi-1.0.2/debian/copyright frescobaldi-1.1.1/debian/copyright --- frescobaldi-1.0.2/debian/copyright 2010-05-04 15:00:48.000000000 +0100 +++ frescobaldi-1.1.1/debian/copyright 2010-05-04 15:00:49.000000000 +0100 @@ -13,14 +13,11 @@ Pavel Fric de.po: Henrik Evers - Georg Hennig es.po: Francisco Vila fr.po: Valentin Villenave David Bouriaud - Yann Collette - Ryan Kavanagh it.po: Gianluca D'Orazio nl.po: @@ -30,7 +27,6 @@ ru.po: Сергей Полтавский Serj Poltavski - Artem Zolochevskiy tr.po: Server Acim @@ -40,21 +36,18 @@ Copyright: - Copyright (C) 2008-2010 Wilbert Berendsen + Copyright (C) 2008, 2009 Wilbert Berendsen Copyright (C) 2009 Pavel Fric Copyright (C) 2008 Henrik Evers - Copyright (C) 2009 Georg Hennig Copyright (C) 2008, 2009 Francisco Vila Copyright (C) 2008 Valentin Villenave Copyright (C) 2009 David Bouriaud - Copyright (C) 2009 Ryan Kavanagh - Copyright (C) 2008, 2009 Gianluca D'Orazio + Copyright (C) 2008 Gianluca D'Orazio Copyright (C) 2009 Piotr Komorowski Copyright (C) 2008 Сергей Полтавский Copyright (C) 2009 Serj Poltavski Copyright (C) 2008, 2009 Server Acim - Copyright (C) 1999–2009 Gentoo Foundation - Copyright (C) 2009 Artem Zolochevskiy + Copyright (C) 1999-2009 Gentoo Foundation License: diff -Nru frescobaldi-1.0.2/debian/frescobaldi.1 frescobaldi-1.1.1/debian/frescobaldi.1 --- frescobaldi-1.0.2/debian/frescobaldi.1 2010-05-04 15:00:48.000000000 +0100 +++ frescobaldi-1.1.1/debian/frescobaldi.1 2010-05-04 15:00:49.000000000 +0100 @@ -1,5 +1,5 @@ .\" This file was generated by kdemangen.pl -.TH FRESCOBALDI 1 "Febrary 2010" "K Desktop Environment" "LilyPond Music Editor" +.TH FRESCOBALDI 1 "May 2009" "K Desktop Environment" "LilyPond Music Editor" .SH NAME frescobaldi \- LilyPond Music Editor @@ -80,8 +80,7 @@ sets the application GUI style .TP .B \-\-geometry -sets the client geometry of the main widget \(em see man X for the argument -format (usually WidthxHeight+XPos+YPos) +sets the client geometry of the main widget \(em see man X for the argument format .SS .SS Qt options: .TP @@ -166,21 +165,13 @@ .SH AUTHORS .nf \fBfrescobaldi\fR was written and is copyrighted by: -Copyright \[co] 2008-2010 Wilbert Berendsen -Copyright \[co] 2009 Pavel Fric +Copyright \[co] 2008, 2009 Wilbert Berendsen Copyright \[co] 2008 Henrik Evers -Copyright \[co] 2009 Georg Hennig Copyright \[co] 2008, 2009 Francisco Vila Copyright \[co] 2008 Valentin Villenave -Copyright \[co] 2009 David Bouriaud -Copyright \[co] 2009 Ryan Kavanagh -Copyright \[co] 2008, 2009 Gianluca D'Orazio -Copyright \[co] 2009 Piotr Komorowski -Copyright \[co] 2008 Сергей Полтавский -Copyright \[co] 2009 Serj Poltavski +Copyright \[co] 2008 Gianluca D'Orazio +Copyright \[co] 2008 Sergey Poltavskiy Copyright \[co] 2008, 2009 Server Acim -Copyright \[co] 1999–2009 Gentoo Foundation -Copyright \[co] 2009 Artem Zolochevskiy This man page was written by Ryan Kavanagh . Both are released under the GNU General Public License, version 2 or (at your diff -Nru frescobaldi-1.0.2/debian/README.Debian frescobaldi-1.1.1/debian/README.Debian --- frescobaldi-1.0.2/debian/README.Debian 2010-05-04 15:00:48.000000000 +0100 +++ frescobaldi-1.1.1/debian/README.Debian 2010-05-04 15:00:49.000000000 +0100 @@ -1,8 +1,14 @@ frescobaldi for Debian ---------------------- + Rumor (Really Unintelligent Music transcriptOR) is not yet available in + Debian. However, the homepage is http://www.volny.cz/smilauer/rumor/ and the sources + are available from http://www.volny.cz/smilauer/rumor/src/ and there is + packaging in the Debian pkg-multimedia git repository: + http://git.debian.org/git/pkg-multimedia/rumor.git/ + Sergey Poltavskiy's cyrillic name is Сергей Полтавский, but the transliterated name was included in the manpage to ensure that his name appears on all setups / encodings. - -- Ryan Kavanagh Thu, 29 Oct 2009 22:49:00 -0400 + -- Ryan Kavanagh Thu, 28 May 2009 09:31:00 +0200 diff -Nru frescobaldi-1.0.2/debian/watch frescobaldi-1.1.1/debian/watch --- frescobaldi-1.0.2/debian/watch 2010-05-04 15:00:48.000000000 +0100 +++ frescobaldi-1.1.1/debian/watch 2010-05-04 15:00:49.000000000 +0100 @@ -7,4 +7,5 @@ version=3 http://code.google.com/p/lilykde/downloads/list \ - http://lilykde.googlecode.com/files/frescobaldi-(.*)\.tar\.gz + http://lilykde.googlecode.com/files/frescobaldi-(.*)\.tar\.gz \ + debian uupdate Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/doc/blankpaper1.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/doc/blankpaper1.png differ diff -Nru frescobaldi-1.0.2/doc/configuring.docbook frescobaldi-1.1.1/doc/configuring.docbook --- frescobaldi-1.0.2/doc/configuring.docbook 2009-12-26 18:39:11.000000000 +0000 +++ frescobaldi-1.1.1/doc/configuring.docbook 2010-01-09 18:42:56.000000000 +0000 @@ -173,15 +173,55 @@ Paths -Here you can specify the paths to use for different commands. Normally you would -just leave the defaults, but if you have multiple versions of &lilypond; -installed, you can specify which one to run by entering the exact path. +Here you can specify the paths to use for different commands. - -If you change the path to the lilypond command, be sure to -also point the convert-ly command to the same directory. - + +&lilypond; versions to use + + +This list normally shows just one item, "lilypond". +But if you have multiple versions of &lilypond; installed you can add them to the list by clicking +the Add button. +Existing entries can be configured by clicking Configure. + + + +In the dialog that opens you can specify the exact path to &lilypond;. +If you just enter lilypond, the first &lilypond; instance in your +PATH environment variable is used. +You can also enter the paths to related commands such as convert-ly +and lilypond-book. But if you don't specify the paths, these commands will be +searched for in the same directory as the lilypond command was found. + + + +Check Set as default to make the current &lilypond; entry the default, +i.e. the one that is run for all actions (also the Blank Staff Paper tool, etc.). +The other checkbox, Include in automatic version selection, if checked, +will include the current &lilypond; entry in the automatic version selection (see below). + + + +Below the list of installed &lilypond; instances, there is a checkbox +Enable automatic version selection. +If checked, &frescobaldi; will check the \version statement in your +document and choose the most suitable &lilypond; version from your installed list to run. +This is the lowest available version number that's still higher than or equal to the document's version. +You can exclude particular instances (e.g. development or testing versions) by unchecking the +option Include in automatic version selection of that &lilypond; entry. + + + + + +Other path settings + + +Next, you can specify paths to your favorite viewers for PDF and MIDI. +If you leave the paths empty, the KDE preferences are used. +The print command is usually lpr. + You can also set a default directory for all your &lilypond; documents, and @@ -189,6 +229,10 @@ &lilypond; documentation browser. + + + +Hyphenation settings Finally, at the bottom of the Paths section, you can configure a list of directories to search for hyphenation pattern files that can be used to break @@ -218,6 +262,7 @@ locate *hyph_*.dic | xargs -n1 dirname | sort -u + diff -Nru frescobaldi-1.0.2/doc/editing.docbook frescobaldi-1.1.1/doc/editing.docbook --- frescobaldi-1.0.2/doc/editing.docbook 2009-12-18 23:09:57.000000000 +0000 +++ frescobaldi-1.1.1/doc/editing.docbook 2010-01-09 18:42:56.000000000 +0000 @@ -133,7 +133,7 @@ There is also a command to remove hyphenation. This can be useful if you have a stanza of lyrics that you just want to display as a markup below the music. -Under &menu.settings.paths; you can enter a list of +Under &menu.settings.paths; you can enter a list of directories to search for hyphenation pattern files. diff -Nru frescobaldi-1.0.2/doc/entering.docbook frescobaldi-1.1.1/doc/entering.docbook --- frescobaldi-1.0.2/doc/entering.docbook 2009-12-26 18:39:11.000000000 +0000 +++ frescobaldi-1.1.1/doc/entering.docbook 2010-01-12 14:31:33.000000000 +0000 @@ -21,12 +21,42 @@ part, if desired. Many parts, especially Choir, have powerful options to set up the score the way you want it. - + +
+ Score Wizard: Titles and Headers + + + + Score Wizard: Titles and Headers + + +
+ +
+ Score Wizard: Parts setup + + + + Score Wizard: Parts setup + + +
+ In the third tab you can set some general adjustments, e.g. whether to create -MIDI output or not, which key and time signature you want to use, etc. +MIDI output or not, which key and time signature you want to use, etc: +
+ Score Wizard: Score settings + + + + Score Wizard: Score settings + + +
+ Clicking Try presents a demo score with some random notes filled in. Clicking Ok writes the &lilypond; code to your text document, @@ -89,6 +119,58 @@ See the "What's This" info (Shift+F1) in the dialog for more information. + + +Some quick text expansions have default keyboard shortcuts. +The most important ones are listed below: + + + + + + + +Alt+1 +Enter \voiceOne + + + +Alt+2 +Enter \voiceTwo + + + +Alt+3 +Enter \voiceThree + + + +Alt+4 +Enter \voiceFour + + + +Alt+0 +Enter \oneVoice + + + +Ctrl+3 +Enter \times 2/3 { } and leave the cursor between the brackets + + + +Alt+M, Alt+B +Enter \markup \bold { } and leave the cursor between the brackets + + + +Alt+M, Alt+I +Enter \markup \italic { } and leave the cursor between the brackets + + + + @@ -190,5 +272,15 @@ If text is selected, it is placed between the braces. + + + Ctrl+Y + Special Characters + opens a dialog where characters from the Unicode table can be +browsed and selected. Doubleclick a character (or click Apply) +to insert the currently selected character into the document. It is also possible +to assign a keyboard shortcut to the currently selected character. + + diff -Nru frescobaldi-1.0.2/doc/extras.docbook frescobaldi-1.1.1/doc/extras.docbook --- frescobaldi-1.0.2/doc/extras.docbook 2009-12-08 13:00:10.000000000 +0000 +++ frescobaldi-1.1.1/doc/extras.docbook 2010-01-10 20:24:29.000000000 +0000 @@ -24,6 +24,16 @@ source to the editor to customize it further. +
+ The Blank Staff Paper tool + + + + The Blank Staff Paper tool + + +
+ Five types of staff paper can be created: diff -Nru frescobaldi-1.0.2/doc/first-steps.docbook frescobaldi-1.1.1/doc/first-steps.docbook --- frescobaldi-1.0.2/doc/first-steps.docbook 2009-11-08 14:34:21.000000000 +0000 +++ frescobaldi-1.1.1/doc/first-steps.docbook 2010-01-10 20:24:29.000000000 +0000 @@ -6,12 +6,15 @@ You'll see an empty screen like this: - - - -Empty &frescobaldi; window - - +
+ Empty &frescobaldi; window + + + + Empty &frescobaldi; window + + +
Now write some &lilypond; code, like this: @@ -40,13 +43,15 @@ &frescobaldi; window: - - - -&frescobaldi; window with Free Software Song - - - +
+ &frescobaldi; window with Free Software Song + + + + &frescobaldi; window with Free Software Song + + +
You can zoom the PDF preview by dragging the middle mouse button or by using the mouse wheel with Ctrl pressed down. The PDF preview is an embedded Okular, KDE's default PDF viewer. diff -Nru frescobaldi-1.0.2/doc/index.docbook frescobaldi-1.1.1/doc/index.docbook --- frescobaldi-1.0.2/doc/index.docbook 2009-10-28 05:47:05.000000000 +0000 +++ frescobaldi-1.1.1/doc/index.docbook 2010-01-10 20:24:29.000000000 +0000 @@ -16,6 +16,7 @@ info@frescobaldi.org'> + @@ -64,13 +65,15 @@ - 2008 2009 + 2008 + 2009 + 2010 &Wilbert.Berendsen; - 2009-10-11 - 1.0 + 2010-01-09 + 1.1 &frescobaldi; is a &lilypond; sheet music editor. @@ -82,34 +85,7 @@ - -Introduction - - -&lilypond; (lilypond.org) -is an open-source music engraving program, producing very high-quality sheet music -printouts from fairly simple text input files. Those text files can be created with -any text editor, and &lilypond; then loads the text file and outputs a beatiful -engraving, by default in PDF format. - - - -&frescobaldi; is an application designed to make editing those &lilypond; music scores -faster and easier. You still will need to learn the &lilypond; input language. -If you read the "First Steps" section of this User Guide, -you'll also pickup some &lilypond; basics. -Then you can continue to learn using the Tutorial from -LilyPond's excellent online documentation. - - - -Virtually all keyboard shortcuts that are mentioned in this User Guide are the -default ones; you can change them using Settings -Configure shortcuts.... - - - - +&frescobaldi-introduction; &frescobaldi-first-steps; &frescobaldi-running; &frescobaldi-entering; diff -Nru frescobaldi-1.0.2/doc/introduction.docbook frescobaldi-1.1.1/doc/introduction.docbook --- frescobaldi-1.0.2/doc/introduction.docbook 1970-01-01 01:00:00.000000000 +0100 +++ frescobaldi-1.1.1/doc/introduction.docbook 2010-01-09 20:32:48.000000000 +0000 @@ -0,0 +1,27 @@ + +Introduction + + +&lilypond; (lilypond.org) +is an open-source music engraving program, producing very high-quality sheet music +printouts from fairly simple text input files. Those text files can be created with +any text editor, and &lilypond; then loads the text file and outputs a beatiful +engraving, by default in PDF format. + + + +&frescobaldi; is an application designed to make editing &lilypond; music scores +faster and easier. You still will need to learn the &lilypond; input language. +If you read the "First Steps" section of this User Guide, +you'll also pickup some &lilypond; basics. +Then you can continue to learn using the Learning Manual from +LilyPond's excellent online documentation. + + + +Virtually all keyboard shortcuts that are mentioned in this User Guide are the +default ones; you can change them using Settings +Configure shortcuts.... + + + Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/doc/run-lilypond1.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/doc/run-lilypond1.png differ diff -Nru frescobaldi-1.0.2/doc/running.docbook frescobaldi-1.1.1/doc/running.docbook --- frescobaldi-1.0.2/doc/running.docbook 2009-12-26 18:39:11.000000000 +0000 +++ frescobaldi-1.1.1/doc/running.docbook 2010-01-12 14:31:33.000000000 +0000 @@ -5,7 +5,7 @@ Creating PDF output -There are currently two different ways you can run &lilypond; on your document. +There are currently three different ways you can run &lilypond; on your document. @@ -17,7 +17,7 @@ -In the &lilypond; menu, you can also find the option Run &lilypond; (publish). +In the &lilypond; menu, you can also find the command Run &lilypond; (publish). This option also runs &lilypond;, but with clickable notes disabled. The resulting PDF is much smaller and better suitable for distribution via e-mail or the Web. With large musical scores, disabling the clickable notes can make the PDF many times @@ -25,6 +25,23 @@ +The third possibility is the command Run &lilypond; (custom). +This option shows a dialog where you can set some parameters for this run, overriding default settings. +If you have multiple versions of &lilypond; installed, +you can choose which &lilypond; you want to run. + + +
+ The custom Run LilyPond dialog + + + + The custom Run LilyPond dialog + + +
+ + While &lilypond; is running, you can follow its progress in the log view. If &lilypond; encounters errors, you can click on the messages to place the text cursor in the offending line and column. If there are many errors you want to @@ -187,4 +204,20 @@ + + +Using multiple &lilypond; versions + + +If you have multiple versions of &lilypond; installed you can add them to &frescobaldi; +under &menu.settings.paths;. +One of the &lilypond; instances can be set as the default. +It is also possible to automatically start a &lilypond; instance with a version closest +to the \version statement in your document. +See Settings Dialog, Paths for more information. + + + + + Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/doc/scorewiz1.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/doc/scorewiz1.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/doc/scorewiz2.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/doc/scorewiz2.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/doc/scorewiz3.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/doc/scorewiz3.png differ diff -Nru frescobaldi-1.0.2/frescobaldi.py frescobaldi-1.1.1/frescobaldi.py --- frescobaldi-1.0.2/frescobaldi.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/frescobaldi.py 2010-01-26 22:20:35.000000000 +0000 @@ -20,6 +20,11 @@ # See http://www.gnu.org/licenses/ for more information. import sys + +import sip +sip.setapi("QString", 2) +sip.setapi("QVariant", 2) + from PyKDE4.kdecore import (ki18n, ki18nc, KAboutData, KCmdLineArgs, KCmdLineOptions, KComponentData, KLocalizedString) @@ -65,9 +70,11 @@ for c in range(args.count())] if docs: docs[-1].setActive() - if args.isSet("line") or args.isSet("column"): - line = int(args.getOption("line") or 1) - col = int(args.getOption("column") or 0) - docs[-1].setCursorPosition(line, col, args.isSet("smart")) + line = args.getOption("line") + if line.isdigit(): + line = int(line) or 1 + column = args.getOption("column") + column = int(column) if column.isdigit() else 0 + docs[-1].setCursorPosition(line, column, args.isSet("smart")) app.run() diff -Nru frescobaldi-1.0.2/INSTALL frescobaldi-1.1.1/INSTALL --- frescobaldi-1.0.2/INSTALL 2010-02-16 08:44:16.000000000 +0000 +++ frescobaldi-1.1.1/INSTALL 2010-01-28 14:21:34.000000000 +0000 @@ -29,6 +29,9 @@ those icons and translations need to be generated. In that case you also need LilyPond, ImageMagick and GNU Gettext. +Because of the new articulations (halfopen and snappizzicato) building the icons +now requires LilyPond 2.13.11 or higher! + CMake command line options: =========================== @@ -50,20 +53,34 @@ interpreter to use. Add -DPYTHON_EXECUTABLE=/usr/bin/python2.5 to the cmake command line in that case. +The icons in pics/ are built using lilypond and convert (from ImageMagick). You +can define the locations of those programs using the LILYPOND_EXECUTABLE and the +CONVERT_EXECUTABLE variables. Otherwise the programs are searched for in the +PATH environment variable. + Dependencies: ============= -Frescobaldi depends on: +This is the development (1.1) branch of Frescobaldi. It depends on: +- KDE 4.3.2 or higher, esp. kdelibs, Okular and Konsole +- Qt 4.5 or higher +- Python 2.6 +- python-dbus (http://www.freedesktop.org/wiki/Software/DBusBindings#python) +- SIP 4.9.1 or higher (4.9.3 or higher recommended) +- PyQt4 4.6 or higher +- PyKDE4 4.0.2 or higher + +The stable (1.0) branch of Frescobaldi depends on: - KDE 4.1.2 or higher, esp. kdelibs, Okular and Konsole - Qt 4.4 or higher - Python 2.4, 2.5 or 2.6 - python-dbus (http://www.freedesktop.org/wiki/Software/DBusBindings#python) -- SIP 4.7.7 til 4.10 +- SIP 4.7.7 til 4.9.3 - PyQt4 4.4.3 or higher - PyKDE4 4.0.2 or higher -KDE 4.2 or higher is recommended. If you use KDE 4.1, +For the stable branch, KDE 4.2 or higher is recommended. If you use KDE 4.1, you also need lilypond-kde4 (http://lilykde.googlecode.com/) You also might need to install some of the the corresponding -dev packages from diff -Nru frescobaldi-1.0.2/makedist.sh frescobaldi-1.1.1/makedist.sh --- frescobaldi-1.0.2/makedist.sh 2009-12-26 12:50:08.000000000 +0000 +++ frescobaldi-1.1.1/makedist.sh 2010-05-03 19:31:45.000000000 +0100 @@ -22,7 +22,7 @@ ( mkdir build && cd build && - cmake .. && + cmake .. -DLILYPOND_EXECUTABLE=/home/wilbert/lilypond-2.13.17/bin/lilypond && make ) || die "could not build package" Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_accent.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_accent.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_coda.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_coda.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_downbow.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_downbow.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_downmordent.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_downmordent.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_downprall.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_downprall.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_espressivo.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_espressivo.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_fermata.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_fermata.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_flageolet.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_flageolet.png differ diff -Nru frescobaldi-1.0.2/pics/articulation_halfopen.ly frescobaldi-1.1.1/pics/articulation_halfopen.ly --- frescobaldi-1.0.2/pics/articulation_halfopen.ly 1970-01-01 01:00:00.000000000 +0100 +++ frescobaldi-1.1.1/pics/articulation_halfopen.ly 2010-01-28 14:21:34.000000000 +0000 @@ -0,0 +1,3 @@ +\version "2.13.11" +\include "articulation_defaults.ily" +\markup \musicglyph #"scripts.halfopen" Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_halfopen.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_halfopen.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_lheel.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_lheel.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_lineprall.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_lineprall.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_longfermata.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_longfermata.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_ltoe.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_ltoe.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_marcato.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_marcato.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_mordent.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_mordent.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_open.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_open.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_portato.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_portato.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_pralldown.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_pralldown.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_prallmordent.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_prallmordent.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_prall.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_prall.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_prallprall.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_prallprall.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_prallup.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_prallup.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_reverseturn.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_reverseturn.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_rheel.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_rheel.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_rtoe.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_rtoe.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_segno.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_segno.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_shortfermata.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_shortfermata.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_signumcongruentiae.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_signumcongruentiae.png differ diff -Nru frescobaldi-1.0.2/pics/articulation_snappizzicato.ly frescobaldi-1.1.1/pics/articulation_snappizzicato.ly --- frescobaldi-1.0.2/pics/articulation_snappizzicato.ly 1970-01-01 01:00:00.000000000 +0100 +++ frescobaldi-1.1.1/pics/articulation_snappizzicato.ly 2010-01-28 14:21:34.000000000 +0000 @@ -0,0 +1,3 @@ +\version "2.13.10" +\include "articulation_defaults.ily" +\markup \musicglyph #"scripts.snappizzicato" Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_snappizzicato.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_snappizzicato.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_staccatissimo.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_staccatissimo.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_staccato.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_staccato.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_stopped.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_stopped.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_tenuto.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_tenuto.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_thumb.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_thumb.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_trill.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_trill.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_turn.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_turn.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_upbow.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_upbow.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_upmordent.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_upmordent.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_upprall.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_upprall.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_varcoda.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_varcoda.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/articulation_verylongfermata.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/articulation_verylongfermata.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/bar_cswc.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/bar_cswc.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/bar_cswsc.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/bar_cswsc.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/bar_dashed.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/bar_dashed.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/bar_dotted.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/bar_dotted.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/bar_double.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/bar_double.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/bar_end.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/bar_end.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/bar_invisible.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/bar_invisible.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/bar_repeat_double.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/bar_repeat_double.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/bar_repeat_end.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/bar_repeat_end.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/bar_repeat_start.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/bar_repeat_start.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/bar_single.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/bar_single.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/bar_sws.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/bar_sws.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/bar_tick.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/bar_tick.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/bar_ws.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/bar_ws.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/bar_ww.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/bar_ww.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/clef_alto.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/clef_alto.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/clef_bass.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/clef_bass.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/clef_none.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/clef_none.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/clef_percussion.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/clef_percussion.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/clef_tab.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/clef_tab.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/clef_tenor.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/clef_tenor.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/clef_treble_8.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/clef_treble_8.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/clef_treble.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/clef_treble.png differ diff -Nru frescobaldi-1.0.2/pics/CMakeLists.txt frescobaldi-1.1.1/pics/CMakeLists.txt --- frescobaldi-1.0.2/pics/CMakeLists.txt 2009-10-26 22:36:38.000000000 +0000 +++ frescobaldi-1.1.1/pics/CMakeLists.txt 2010-01-17 06:51:06.000000000 +0000 @@ -1,5 +1,8 @@ # Generate PNGs from LilyPond files +find_program(LILYPOND_EXECUTABLE NAMES lilypond) +find_program(CONVERT_EXECUTABLE NAMES convert) + # keep a list of all pngs for adding them to our target set(all_pngs) @@ -29,12 +32,12 @@ add_custom_command( OUTPUT ${_outp} DEPENDS ${_deps} - COMMAND lilypond + COMMAND ${LILYPOND_EXECUTABLE} -ddelete-intermediate-files --png -dpixmap-format=pngalpha -o "${CMAKE_CURRENT_BINARY_DIR}/temp_${_base}" "${_lyfile}" - COMMAND convert + COMMAND ${CONVERT_EXECUTABLE} "${CMAKE_CURRENT_BINARY_DIR}/temp_${_base}.png" -trim -bordercolor transparent -border ${_size} Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/note_16d.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/note_16d.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/note_16.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/note_16.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/note_1d.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/note_1d.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/note_1.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/note_1.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/note_2d.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/note_2d.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/note_2.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/note_2.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/note_4d.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/note_4d.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/note_4.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/note_4.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/note_8d.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/note_8d.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/note_8.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/note_8.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/scorewiz.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/scorewiz.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/system_brace.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/system_brace.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/system_bracket.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/system_bracket.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/time_c22.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/time_c22.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/pics/time_c44.png and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/pics/time_c44.png differ Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/po/cs.mo and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/po/cs.mo differ diff -Nru frescobaldi-1.0.2/po/cs.po frescobaldi-1.1.1/po/cs.po --- frescobaldi-1.0.2/po/cs.po 2010-02-18 08:12:03.000000000 +0000 +++ frescobaldi-1.1.1/po/cs.po 2010-05-03 19:31:54.000000000 +0100 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: frescobaldi 0.7.5\n" "Report-Msgid-Bugs-To: info@frescobaldi.org\n" -"POT-Creation-Date: 2010-02-16 10:04+0100\n" +"POT-Creation-Date: 2010-05-03 20:28+0200\n" "PO-Revision-Date: 2009-12-06 18:05+0100\n" "Last-Translator: Pavel Fric \n" "Language-Team: Czech \n" @@ -19,54 +19,53 @@ "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "X-Generator: Lokalize 1.0\n" -#: ../frescobaldi.py:32 dummy.py:16 +#: ../frescobaldi.py:37 dummy.py:16 msgid "Frescobaldi" msgstr "Frescobaldi" -#: ../frescobaldi.py:34 dummy.py:17 +#: ../frescobaldi.py:39 dummy.py:17 msgid "LilyPond Music Editor" msgstr "LilyPond hudební editor" -#: ../frescobaldi.py:36 -#, fuzzy +#: ../frescobaldi.py:41 msgid "Copyright (c) 2008-2010, Wilbert Berendsen" -msgstr "Copyright (c) 2008-2009, Wilbert Berendsen" +msgstr "Copyright (c) 2008-2010, Wilbert Berendsen" -#: ../frescobaldi.py:45 +#: ../frescobaldi.py:50 msgctxt "NAME OF TRANSLATORS" msgid "Your name" msgstr "Pavel Fric" -#: ../frescobaldi.py:46 +#: ../frescobaldi.py:51 msgctxt "EMAIL OF TRANSLATORS" msgid "i18n@frescobaldi.org" msgstr "fripohled.blogspot.com" -#: ../frescobaldi.py:52 +#: ../frescobaldi.py:57 msgid "Session to start" msgstr "Začít sezení" -#: ../frescobaldi.py:53 +#: ../frescobaldi.py:58 msgid "Start a new instance" msgstr "Začít nový příklad" -#: ../frescobaldi.py:54 +#: ../frescobaldi.py:59 msgid "Encoding to use" msgstr "Použít kódování" -#: ../frescobaldi.py:55 +#: ../frescobaldi.py:60 msgid "Line number to go to, starting at 1" msgstr "Přejít na řádek číslo. Začíná prvním" -#: ../frescobaldi.py:56 +#: ../frescobaldi.py:61 msgid "Column to go to, starting at 0" msgstr "Přejít na sloupec. Začíná nulou" -#: ../frescobaldi.py:57 +#: ../frescobaldi.py:62 msgid "Try to use smart line and column numbers" msgstr "Zkusit použít chytrá čísla řádků a sloupců" -#: ../frescobaldi.py:58 +#: ../frescobaldi.py:63 msgid "LilyPond files to open, may also be textedit URLs" msgstr "" "Otevřít soubory LilyPond. Mohou to být také textově upravené internetové " @@ -108,344 +107,353 @@ msgid "&Extra Tools" msgstr "&Nástroje navíc" -#: ../python/ly/__init__.py:94 +#: ../python/ly/__init__.py:81 msgid "Dedication" msgstr "Věnování" -#: ../python/ly/__init__.py:95 +#: ../python/ly/__init__.py:82 msgid "Title" msgstr "Název" -#: ../python/ly/__init__.py:96 +#: ../python/ly/__init__.py:83 msgid "Subtitle" msgstr "Podnázev" -#: ../python/ly/__init__.py:97 +#: ../python/ly/__init__.py:84 msgid "Subsubtitle" msgstr "Podpodnázev" -#: ../python/ly/__init__.py:98 +#: ../python/ly/__init__.py:85 msgid "Instrument" msgstr "Nástroj" -#: ../python/ly/__init__.py:99 +#: ../python/ly/__init__.py:86 msgid "Composer" msgstr "Skladatel" -#: ../python/ly/__init__.py:100 +#: ../python/ly/__init__.py:87 msgid "Arranger" msgstr "Hudební aranžér" -#: ../python/ly/__init__.py:101 +#: ../python/ly/__init__.py:88 msgid "Poet" msgstr "Básník" -#: ../python/ly/__init__.py:102 +#: ../python/ly/__init__.py:89 msgid "Meter" msgstr "Metrum" -#: ../python/ly/__init__.py:103 +#: ../python/ly/__init__.py:90 msgid "Piece" msgstr "Skladba" -#: ../python/ly/__init__.py:104 +#: ../python/ly/__init__.py:91 msgid "Opus" msgstr "Dílo" -#: ../python/ly/__init__.py:105 +#: ../python/ly/__init__.py:92 msgid "Copyright" msgstr "Autorské právo" -#: ../python/ly/__init__.py:106 +#: ../python/ly/__init__.py:93 msgid "Tagline" msgstr "Motto" -#: ../python/ly/__init__.py:114 +#: ../python/ly/__init__.py:101 msgid "Major" msgstr "Durová (Major)" -#: ../python/ly/__init__.py:115 +#: ../python/ly/__init__.py:102 msgid "Minor" msgstr "Mollová (Minor)" -#: ../python/ly/__init__.py:116 +#: ../python/ly/__init__.py:103 msgid "Ionian" msgstr "Jónský" -#: ../python/ly/__init__.py:117 +#: ../python/ly/__init__.py:104 msgid "Dorian" msgstr "Dórský" -#: ../python/ly/__init__.py:118 +#: ../python/ly/__init__.py:105 msgid "Phrygian" msgstr "Frýgický" -#: ../python/ly/__init__.py:119 +#: ../python/ly/__init__.py:106 msgid "Lydian" msgstr "Lýdický" -#: ../python/ly/__init__.py:120 +#: ../python/ly/__init__.py:107 msgid "Mixolydian" msgstr "Mixolýdický" -#: ../python/ly/__init__.py:121 +#: ../python/ly/__init__.py:108 msgid "Aeolian" msgstr "Éolský" -#: ../python/ly/__init__.py:122 +#: ../python/ly/__init__.py:109 msgid "Locrian" msgstr "Lokrijský" -#: ../python/ly/articulation.py:33 +#: ../python/ly/articulation.py:35 msgid "Articulation" msgstr "Artikulace" -#: ../python/ly/articulation.py:34 +#: ../python/ly/articulation.py:36 msgid "Accent" msgstr "Akcent (důraz)" -#: ../python/ly/articulation.py:35 +#: ../python/ly/articulation.py:37 msgid "Marcato" msgstr "Marcato (důrazně)" -#: ../python/ly/articulation.py:36 +#: ../python/ly/articulation.py:38 msgid "Staccatissimo" msgstr "Staccatissimo (nejkratčeji)" -#: ../python/ly/articulation.py:37 +#: ../python/ly/articulation.py:39 msgid "Staccato" msgstr "Staccato (krátce)" -#: ../python/ly/articulation.py:38 +#: ../python/ly/articulation.py:40 msgid "Portato" msgstr "Portato" -#: ../python/ly/articulation.py:39 +#: ../python/ly/articulation.py:41 msgid "Tenuto" msgstr "Tenuto (drženě)" -#: ../python/ly/articulation.py:40 +#: ../python/ly/articulation.py:42 msgid "Espressivo" msgstr "Espressivo (výrazně)" -#: ../python/ly/articulation.py:42 +#: ../python/ly/articulation.py:44 msgid "Ornaments" msgstr "Ozdoby" -#: ../python/ly/articulation.py:43 +#: ../python/ly/articulation.py:45 msgid "Trill" msgstr "Trylek" -#: ../python/ly/articulation.py:44 +#: ../python/ly/articulation.py:46 msgid "Prall" msgstr "Nátryl" -#: ../python/ly/articulation.py:45 +#: ../python/ly/articulation.py:47 msgid "Mordent" msgstr "Mordent" -#: ../python/ly/articulation.py:46 +#: ../python/ly/articulation.py:48 msgid "Turn" msgstr "Obal" -#: ../python/ly/articulation.py:47 +#: ../python/ly/articulation.py:49 msgid "Prall prall" msgstr "Nátryl nátrylu" -#: ../python/ly/articulation.py:48 +#: ../python/ly/articulation.py:50 msgid "Prall mordent" msgstr "Mordent nátrylu" -#: ../python/ly/articulation.py:49 +#: ../python/ly/articulation.py:51 msgid "Up prall" msgstr "Nátryl nahoru" -#: ../python/ly/articulation.py:50 +#: ../python/ly/articulation.py:52 msgid "Down prall" msgstr "Nátryl dolů" -#: ../python/ly/articulation.py:51 +#: ../python/ly/articulation.py:53 msgid "Up mordent" msgstr "Mordent nahoru" -#: ../python/ly/articulation.py:52 +#: ../python/ly/articulation.py:54 msgid "Down mordent" msgstr "Mordent dolů" -#: ../python/ly/articulation.py:53 +#: ../python/ly/articulation.py:55 msgid "Prall up" msgstr "Nátryl nahoru" -#: ../python/ly/articulation.py:54 +#: ../python/ly/articulation.py:56 msgid "Prall down" msgstr "Nátryl dolů" -#: ../python/ly/articulation.py:55 +#: ../python/ly/articulation.py:57 msgid "Line prall" msgstr "Nátryl na lince notové osnovy" -#: ../python/ly/articulation.py:56 +#: ../python/ly/articulation.py:58 msgid "Reverse turn" msgstr "Obrátit obal" -#: ../python/ly/articulation.py:58 +#: ../python/ly/articulation.py:60 msgid "Signs" msgstr "Předznamenání" -#: ../python/ly/articulation.py:59 +#: ../python/ly/articulation.py:61 msgid "Fermata" msgstr "Koruna (fermata)" -#: ../python/ly/articulation.py:60 +#: ../python/ly/articulation.py:62 msgid "Short fermata" msgstr "Krátká koruna (~ fermata)" -#: ../python/ly/articulation.py:61 +#: ../python/ly/articulation.py:63 msgid "Long fermata" msgstr "Dlouhá koruna (~ fermata)" -#: ../python/ly/articulation.py:62 +#: ../python/ly/articulation.py:64 msgid "Very long fermata" msgstr "Velmi dlouhá koruna (~ fermata)" -#: ../python/ly/articulation.py:63 +#: ../python/ly/articulation.py:65 msgid "Segno" msgstr "Segno" -#: ../python/ly/articulation.py:64 +#: ../python/ly/articulation.py:66 msgid "Coda" msgstr "Coda" -#: ../python/ly/articulation.py:65 +#: ../python/ly/articulation.py:67 msgid "Varcoda" msgstr "Varcoda" -#: ../python/ly/articulation.py:66 +#: ../python/ly/articulation.py:68 msgid "Signumcongruentiae" msgstr "Signum congruentiae (značka pro shodu)" -#: ../python/ly/articulation.py:68 +#: ../python/ly/articulation.py:70 msgid "Other" msgstr "Jiné" -#: ../python/ly/articulation.py:69 +#: ../python/ly/articulation.py:71 msgid "Upbow" msgstr "Tah smyčcem nahoru" -#: ../python/ly/articulation.py:70 +#: ../python/ly/articulation.py:72 msgid "Downbow" msgstr "Tah smyčcem dolů" -#: ../python/ly/articulation.py:71 +#: ../python/ly/articulation.py:73 +msgid "Snappizzicato" +msgstr "" + +#: ../python/ly/articulation.py:74 msgid "Open (e.g. brass)" msgstr "Otevřeno (např. žestě)" -#: ../python/ly/articulation.py:72 +#: ../python/ly/articulation.py:75 msgid "Stopped (e.g. brass)" msgstr "Zastaveno (např. žestě)" -#: ../python/ly/articulation.py:73 +#: ../python/ly/articulation.py:76 msgid "Flageolet" msgstr "Flažolet" -#: ../python/ly/articulation.py:74 +#: ../python/ly/articulation.py:77 msgid "Thumb" msgstr "Palec" -#: ../python/ly/articulation.py:75 +#: ../python/ly/articulation.py:78 msgid "Left heel" msgstr "Levá pata" -#: ../python/ly/articulation.py:76 +#: ../python/ly/articulation.py:79 msgid "Right heel" msgstr "Pravá pata" -#: ../python/ly/articulation.py:77 +#: ../python/ly/articulation.py:80 msgid "Left toe" msgstr "Levý prst" -#: ../python/ly/articulation.py:78 +#: ../python/ly/articulation.py:81 msgid "Right toe" msgstr "Pravý prst" -#: ../python/kateshell/exception.py:42 +#: ../python/ly/articulation.py:82 +#, fuzzy +msgid "Half open (e.g. hi-hat)" +msgstr "Otevřeno (např. žestě)" + +#: ../python/kateshell/exception.py:43 msgid "An internal error has occurred:" msgstr "Vyskytla se vnitřní chyba:" -#: ../python/kateshell/exception.py:45 +#: ../python/kateshell/exception.py:46 msgid "Internal Error" msgstr "Vnitřní chyba" -#: ../python/kateshell/exception.py:51 +#: ../python/kateshell/exception.py:52 msgid "Email Bug Report..." msgstr "Hlášení chyb e-mailem..." -#: ../python/kateshell/exception.py:64 +#: ../python/kateshell/exception.py:65 msgid "Optionally describe what you were doing below:" msgstr "Níže volně popište, co jste dělal:" -#: ../python/kateshell/mainwindow.py:91 +#: ../python/kateshell/mainwindow.py:94 msgid "Left Sidebar" msgstr "Levá zpráva" -#: ../python/kateshell/mainwindow.py:95 +#: ../python/kateshell/mainwindow.py:98 msgid "Right Sidebar" msgstr "Pravá zpráva " -#: ../python/kateshell/mainwindow.py:107 +#: ../python/kateshell/mainwindow.py:110 msgid "Top Sidebar" msgstr "Zpráva nahoře" -#: ../python/kateshell/mainwindow.py:120 +#: ../python/kateshell/mainwindow.py:123 msgid "Bottom Sidebar" msgstr "Zpráva dole" -#: ../python/kateshell/mainwindow.py:165 +#: ../python/kateshell/mainwindow.py:168 msgid "Show Path" msgstr "Ukázat cestu" -#: ../python/kateshell/mainwindow.py:168 +#: ../python/kateshell/mainwindow.py:171 msgid "Show Document Tabs" msgstr "Ukázat karty dokumentu" -#: ../python/kateshell/mainwindow.py:186 +#: ../python/kateshell/mainwindow.py:188 msgid "&Tool Views" msgstr "&Zobrazení nástrojů" -#: ../python/kateshell/mainwindow.py:277 +#: ../python/kateshell/mainwindow.py:278 msgid "Please select some text first." msgstr "Nejprve, prosím, vyberte nějaký text." -#: ../python/kateshell/mainwindow.py:327 +#: ../python/kateshell/mainwindow.py:328 msgid "modified" msgstr "Změněno" -#: ../python/kateshell/mainwindow.py:337 +#: ../python/kateshell/mainwindow.py:338 msgid "Line: %1 Col: %2" msgstr "Řádek: %1 Sloupec: %2" -#: ../python/kateshell/mainwindow.py:346 +#: ../python/kateshell/mainwindow.py:347 msgid "BLOCK" msgstr "BLOK" -#: ../python/kateshell/mainwindow.py:346 +#: ../python/kateshell/mainwindow.py:347 msgid "Block selection mode" msgstr "Režim výběru bloku" -#: ../python/kateshell/mainwindow.py:348 +#: ../python/kateshell/mainwindow.py:349 msgid "LINE" msgstr "ŘÁDEK" -#: ../python/kateshell/mainwindow.py:348 +#: ../python/kateshell/mainwindow.py:349 msgid "Line selection mode" msgstr "Režim výběru řádku" -#: ../python/kateshell/mainwindow.py:386 -#: ../python/frescobaldi_app/blankpaper.py:335 +#: ../python/kateshell/mainwindow.py:393 +#: ../python/frescobaldi_app/blankpaper.py:331 msgid "All Files" msgstr "Všechny soubory" -#: ../python/kateshell/mainwindow.py:387 +#: ../python/kateshell/mainwindow.py:394 msgid "Open File" msgstr "Otevřít soubor" @@ -453,7 +461,7 @@ msgid "Right-click for tab options" msgstr "Pravé klepnutí pro zobrazení voleb karet" -#: ../python/kateshell/mainwindow.py:870 +#: ../python/kateshell/mainwindow.py:871 msgid "Move To" msgstr "Přesunout do" @@ -469,7 +477,7 @@ msgid "Please install %1" msgstr "Nainstalujte, prosím, %1" -#: ../python/frescobaldi_app/actions.py:55 +#: ../python/frescobaldi_app/actions.py:56 msgid "Open %1 in external viewer" msgstr "Otevřít %1 ve vnějším prohlížeči" @@ -477,46 +485,46 @@ msgid "Print %1" msgstr "Tisk %1" -#: ../python/frescobaldi_app/actions.py:66 +#: ../python/frescobaldi_app/actions.py:65 msgid "Play %1" msgstr "Přehrát %1" -#: ../python/frescobaldi_app/actions.py:95 +#: ../python/frescobaldi_app/actions.py:91 msgid "Open PDF" msgstr "Otevřít PDF" -#: ../python/frescobaldi_app/actions.py:96 +#: ../python/frescobaldi_app/actions.py:92 msgid "Print" msgstr "Tisk" -#: ../python/frescobaldi_app/actions.py:98 +#: ../python/frescobaldi_app/actions.py:94 msgid "Play MIDI" msgstr "Přehrát MIDI" -#: ../python/frescobaldi_app/actions.py:101 -#: ../python/frescobaldi_app/mainapp.py:712 +#: ../python/frescobaldi_app/actions.py:97 +#: ../python/frescobaldi_app/mainapp.py:726 msgid "Email..." msgstr "E-mail..." -#: ../python/frescobaldi_app/actions.py:154 +#: ../python/frescobaldi_app/actions.py:149 msgid "There are no files to send via email." msgstr "" "Nejsou zde žádné soubory, které by bylo možné odeslat prostřednictvím e-" "mailu." -#: ../python/frescobaldi_app/actions.py:155 +#: ../python/frescobaldi_app/actions.py:150 msgid "No files to send" msgstr "Žádné soubory k odeslání" -#: ../python/frescobaldi_app/actions.py:163 +#: ../python/frescobaldi_app/actions.py:158 msgid "Email documents" msgstr "E-mailové dokumenty" -#: ../python/frescobaldi_app/actions.py:167 +#: ../python/frescobaldi_app/actions.py:162 msgid "Please select the files you want to send:" msgstr "Vyberte, prosím, soubory, které si přejete odeslat:" -#: ../python/frescobaldi_app/actions.py:172 +#: ../python/frescobaldi_app/actions.py:166 msgid "" "These are the files that are up-to-date (i.e. newer than the LilyPond source " "document). Also LilyPond files included by the source document are shown." @@ -525,7 +533,7 @@ "LilyPondu). Jsou ukázány i soubory LilyPondu, které jsou zahrnuté zdrojovým " "dokumentem." -#: ../python/frescobaldi_app/actions.py:182 +#: ../python/frescobaldi_app/actions.py:176 msgid "" "Note: this PDF file has been created with embedded point-and-click URLs " "(preview mode), which increases the file size dramatically. Please consider " @@ -552,15 +560,15 @@ "souboru. Zvažte, prosím, že znovu necháte sestavit tyto soubory ve " "vydavatelském režimu, protože pak jsou PDF soubory mnohem menší." -#: ../python/frescobaldi_app/actions.py:283 +#: ../python/frescobaldi_app/actions.py:273 msgid "Printing failed: %1" msgstr "Tisk selhal: %1" -#: ../python/frescobaldi_app/actions.py:286 +#: ../python/frescobaldi_app/actions.py:276 msgid "The document has been sent to the printer." msgstr "Dokument byl poslán do tiskárny." -#: ../python/frescobaldi_app/actions.py:289 +#: ../python/frescobaldi_app/actions.py:279 msgid "" "Printing failed: %1\n" "\n" @@ -571,178 +579,162 @@ "Pravděpodobně neexistuje příkaz pro tisk %2. Zkontrolujte, prosím, vaše " "nastavení." -#: ../python/frescobaldi_app/actions.py:294 +#: ../python/frescobaldi_app/actions.py:284 msgid "The print command contains errors. Please check your settings." msgstr "Příkaz pro tisk obsahuje chyby. Zkontrolujte, prosím, vaše nastavení." -#: ../python/frescobaldi_app/blankpaper.py:55 -#: ../python/frescobaldi_app/mainapp.py:738 +#: ../python/frescobaldi_app/blankpaper.py:56 +#: ../python/frescobaldi_app/mainapp.py:753 msgid "Create blank staff paper" msgstr "Vytvořit prázdný papír s notovou osnovou" -#: ../python/frescobaldi_app/blankpaper.py:69 +#: ../python/frescobaldi_app/blankpaper.py:70 msgid "Type:" msgstr "Typ:" -#: ../python/frescobaldi_app/blankpaper.py:72 +#: ../python/frescobaldi_app/blankpaper.py:73 msgid "Action:" msgstr "Činnost:" -#: ../python/frescobaldi_app/blankpaper.py:78 +#: ../python/frescobaldi_app/blankpaper.py:79 msgid "Choose what kind of empty staves you want to create." msgstr "Vyberte, jaký druh prázdných notových osnov chcete vytvořit." -#: ../python/frescobaldi_app/blankpaper.py:80 +#: ../python/frescobaldi_app/blankpaper.py:81 msgid "Choose which action happens when clicking \"Ok\"." msgstr "Vyberte, která činnost se provede, když klepnete na \"OK\"." -#: ../python/frescobaldi_app/blankpaper.py:82 +#: ../python/frescobaldi_app/blankpaper.py:83 msgid "Preview the empty staff paper." msgstr "Náhled na papír s prázdnou notovou osnovu." -#: ../python/frescobaldi_app/blankpaper.py:84 +#: ../python/frescobaldi_app/blankpaper.py:85 msgid "Click to see more settings." msgstr "Klepněte pro zobrazení více nastavení." -#: ../python/frescobaldi_app/blankpaper.py:87 +#: ../python/frescobaldi_app/blankpaper.py:88 msgid "Paper" msgstr "Papír" -#: ../python/frescobaldi_app/blankpaper.py:89 +#: ../python/frescobaldi_app/blankpaper.py:90 msgid "Settings" msgstr "Nastavení" -#: ../python/frescobaldi_app/blankpaper.py:95 -#: ../python/frescobaldi_app/scorewiz/__init__.py:509 +#: ../python/frescobaldi_app/blankpaper.py:96 +#: ../python/frescobaldi_app/scorewiz/__init__.py:496 msgid "Paper size:" msgstr "Velikost papíru:" -#: ../python/frescobaldi_app/blankpaper.py:99 -#: ../python/frescobaldi_app/scorewiz/__init__.py:448 -#: ../python/frescobaldi_app/scorewiz/__init__.py:513 -#: ../python/frescobaldi_app/scorewiz/__init__.py:547 -#: ../python/frescobaldi_app/scorewiz/parts.py:180 -#: ../python/frescobaldi_app/scorewiz/parts.py:436 +#: ../python/frescobaldi_app/blankpaper.py:100 +#: ../python/frescobaldi_app/scorewiz/__init__.py:441 +#: ../python/frescobaldi_app/scorewiz/__init__.py:500 +#: ../python/frescobaldi_app/scorewiz/__init__.py:532 +#: ../python/frescobaldi_app/scorewiz/parts.py:183 +#: ../python/frescobaldi_app/scorewiz/parts.py:439 msgid "Default" msgstr "Výchozí" -#: ../python/frescobaldi_app/blankpaper.py:103 +#: ../python/frescobaldi_app/blankpaper.py:104 msgid "Staff Size:" msgstr "Velikost notové osnovy:" -#: ../python/frescobaldi_app/blankpaper.py:110 +#: ../python/frescobaldi_app/blankpaper.py:111 msgid "Page count:" msgstr "Počet stran:" -#: ../python/frescobaldi_app/blankpaper.py:116 -#: ../python/frescobaldi_app/scorewiz/__init__.py:486 +#: ../python/frescobaldi_app/blankpaper.py:117 +#: ../python/frescobaldi_app/scorewiz/__init__.py:468 msgid "Remove default tagline" msgstr "Odstranit výchozí motto" -#: ../python/frescobaldi_app/blankpaper.py:121 +#: ../python/frescobaldi_app/blankpaper.py:122 msgid "Print Bar Lines" msgstr "Tisknout taktové čáry" -#: ../python/frescobaldi_app/blankpaper.py:123 +#: ../python/frescobaldi_app/blankpaper.py:124 msgid "Bars per line:" msgstr "Taktů na čáru:" -#: ../python/frescobaldi_app/blankpaper.py:130 +#: ../python/frescobaldi_app/blankpaper.py:131 msgid "Print Page Numbers" msgstr "Tisknout čísla stran" -#: ../python/frescobaldi_app/blankpaper.py:132 +#: ../python/frescobaldi_app/blankpaper.py:133 msgid "Start with:" msgstr "Začít:" -#: ../python/frescobaldi_app/blankpaper.py:289 +#: ../python/frescobaldi_app/blankpaper.py:285 msgid "Blank staff paper preview" msgstr "Náhled na papír s prázdnou notovou osnovu" -#: ../python/frescobaldi_app/blankpaper.py:308 +#: ../python/frescobaldi_app/blankpaper.py:304 msgid "No PDF was created." msgstr "Nebylo vytvořeno žádné PDF." -#: ../python/frescobaldi_app/blankpaper.py:319 +#: ../python/frescobaldi_app/blankpaper.py:315 msgid "Open in PDF viewer" msgstr "Otevřít v prohlížeči PDF" -#: ../python/frescobaldi_app/blankpaper.py:328 +#: ../python/frescobaldi_app/blankpaper.py:324 msgid "Save PDF As..." msgstr "Uložit PDF jako..." -#: ../python/frescobaldi_app/blankpaper.py:335 +#: ../python/frescobaldi_app/blankpaper.py:331 msgid "PDF Files" msgstr "Soubory PDF" -#: ../python/frescobaldi_app/blankpaper.py:337 +#: ../python/frescobaldi_app/blankpaper.py:333 msgid "Save PDF" msgstr "Uložit PDF" -#: ../python/frescobaldi_app/blankpaper.py:355 -#: ../python/frescobaldi_app/runlily.py:375 -msgid "" -"A file named \"%1\" already exists. Are you sure you want to overwrite it?" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:358 -#: ../python/frescobaldi_app/runlily.py:378 -msgid "Overwrite File?" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:358 -#: ../python/frescobaldi_app/runlily.py:378 -msgid "&Overwrite" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:380 +#: ../python/frescobaldi_app/blankpaper.py:357 msgid "Directly print on default printer" msgstr "Tisknout přímo na výchozí tiskárně" -#: ../python/frescobaldi_app/blankpaper.py:389 +#: ../python/frescobaldi_app/blankpaper.py:366 msgid "Copy LilyPond code to editor" msgstr "Kopírovat kód LilyPondu do editoru" -#: ../python/frescobaldi_app/blankpaper.py:488 +#: ../python/frescobaldi_app/blankpaper.py:465 msgid "Staves per page:" msgstr "Notových osnov na stranu:" -#: ../python/frescobaldi_app/blankpaper.py:493 -#: ../python/frescobaldi_app/blankpaper.py:828 +#: ../python/frescobaldi_app/blankpaper.py:470 +#: ../python/frescobaldi_app/blankpaper.py:803 msgid "Clef:" msgstr "Klíč:" -#: ../python/frescobaldi_app/blankpaper.py:499 +#: ../python/frescobaldi_app/blankpaper.py:476 msgid "Single Staff" msgstr "Jednoduchá notová osnova" -#: ../python/frescobaldi_app/blankpaper.py:519 -#: ../python/frescobaldi_app/blankpaper.py:575 -#: ../python/frescobaldi_app/blankpaper.py:671 +#: ../python/frescobaldi_app/blankpaper.py:496 +#: ../python/frescobaldi_app/blankpaper.py:552 +#: ../python/frescobaldi_app/blankpaper.py:647 msgid "Systems per page:" msgstr "Osnov na stranu:" -#: ../python/frescobaldi_app/blankpaper.py:523 +#: ../python/frescobaldi_app/blankpaper.py:500 msgid "Clefs" msgstr "Klíče" -#: ../python/frescobaldi_app/blankpaper.py:527 +#: ../python/frescobaldi_app/blankpaper.py:504 msgid "Piano Staff" msgstr "Klavírní notová osnova" -#: ../python/frescobaldi_app/blankpaper.py:547 +#: ../python/frescobaldi_app/blankpaper.py:524 msgid "Organ Staff" msgstr "Varhanní notová osnova" -#: ../python/frescobaldi_app/blankpaper.py:571 +#: ../python/frescobaldi_app/blankpaper.py:548 msgid "Staves per system:" msgstr "Notových osnov na osnovu:" -#: ../python/frescobaldi_app/blankpaper.py:582 +#: ../python/frescobaldi_app/blankpaper.py:559 msgid "Clefs:" msgstr "Klíče:" -#: ../python/frescobaldi_app/blankpaper.py:589 +#: ../python/frescobaldi_app/blankpaper.py:566 msgid "" "Enter as many letters (S, A, T or B) as there are staves.\n" "See \"What's This\" for more information." @@ -750,7 +742,7 @@ "Zadejte tolik písmen (S, A, T nebo B), kolik je notových osnov.\n" "Pro další informace se podívejte na \"Co je toto\"" -#: ../python/frescobaldi_app/blankpaper.py:592 +#: ../python/frescobaldi_app/blankpaper.py:569 msgid "" "To configure clefs, first set the number of staves per system. Then enter as " "many letters (S, A, T or B) as there are staves.\n" @@ -774,49 +766,55 @@ "sborových částí, nastavte nejprve počet notových osnov na osnovu na 4. Potom " "zde zadejte \"SATB\" (bez uvozovek)." -#: ../python/frescobaldi_app/blankpaper.py:606 +#: ../python/frescobaldi_app/blankpaper.py:582 msgid "Choir Staff" msgstr "Sbor notová osnova" -#: ../python/frescobaldi_app/blankpaper.py:613 -#: ../python/frescobaldi_app/scorewiz/__init__.py:395 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/blankpaper.py:589 +#: ../python/frescobaldi_app/lqi.py:159 +#: ../python/frescobaldi_app/scorewiz/__init__.py:388 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "None" msgstr "Žádný" -#: ../python/frescobaldi_app/blankpaper.py:759 +#: ../python/frescobaldi_app/blankpaper.py:734 msgid "Custom Staff" msgstr "Vlastní notová osnova" -#: ../python/frescobaldi_app/blankpaper.py:818 +#: ../python/frescobaldi_app/blankpaper.py:793 msgid "Staff" msgstr "Notová osnova" -#: ../python/frescobaldi_app/blankpaper.py:841 -msgid "Space above:" -msgstr "Mezera nad:" - -#: ../python/frescobaldi_app/blankpaper.py:844 +#: ../python/frescobaldi_app/blankpaper.py:812 msgid "Space below:" msgstr "Mezera pod:" -#: ../python/frescobaldi_app/blankpaper.py:879 +#: ../python/frescobaldi_app/blankpaper.py:852 msgid "Brace" msgstr "Svorka" -#: ../python/frescobaldi_app/blankpaper.py:904 +#: ../python/frescobaldi_app/blankpaper.py:877 msgid "Bracket" msgstr "Závorka" -#: ../python/frescobaldi_app/blankpaper.py:913 +#: ../python/frescobaldi_app/blankpaper.py:886 msgid "Square Bracket" msgstr "Hranatá závorka" -#: ../python/frescobaldi_app/blankpaper.py:915 +#: ../python/frescobaldi_app/blankpaper.py:888 msgid "Connect bar lines" msgstr "Spojit taktové čáry" -#: ../python/frescobaldi_app/document.py:66 +#: ../python/frescobaldi_app/charselect.py:41 +#: ../python/frescobaldi_app/mainapp.py:871 +msgid "Special Characters" +msgstr "" + +#: ../python/frescobaldi_app/charselect.py:85 +msgid "unknown" +msgstr "" + +#: ../python/frescobaldi_app/document.py:68 msgid "" "Can't perform the requested translation.\n" "\n" @@ -828,7 +826,7 @@ "Noty obsahují čtvrttónové úpravy, ale tyto úpravy nejsou dostupné v jazyku " "polohy tónu \"%1.\"" -#: ../python/frescobaldi_app/document.py:81 +#: ../python/frescobaldi_app/document.py:82 msgid "" "The pitch language of the selected text has been updated, but you need to " "manually add the following command to your document:" @@ -836,29 +834,29 @@ "Jazyk polohy tónu vybraného textu byl aktualizován, ale budete ještě muset " "do vašeho dokumentu vlastnoručně přidat následující příkaz:" -#: ../python/frescobaldi_app/document.py:84 -#: ../python/frescobaldi_app/mainapp.py:561 +#: ../python/frescobaldi_app/document.py:85 +#: ../python/frescobaldi_app/mainapp.py:572 msgid "Pitch Name Language" msgstr "Jazyk názvu polohy tónu" -#: ../python/frescobaldi_app/document.py:139 +#: ../python/frescobaldi_app/document.py:140 msgid "Please enter the name for the variable to assign the selected text to:" msgstr "Zadejte, prosím, název proměnné, aby byl vybraný text přidělen do:" -#: ../python/frescobaldi_app/document.py:140 -#: ../python/frescobaldi_app/mainapp.py:455 +#: ../python/frescobaldi_app/document.py:141 +#: ../python/frescobaldi_app/mainapp.py:461 msgid "Cut and Assign" msgstr "Vyjmout a přidělit" -#: ../python/frescobaldi_app/document.py:452 +#: ../python/frescobaldi_app/document.py:451 msgid "Open %1" msgstr "Otevřít %1" -#: ../python/frescobaldi_app/document.py:707 +#: ../python/frescobaldi_app/document.py:705 msgid "Please select a music expression, enclosed in << ... >> or { ... }." msgstr "Vyberte, prosím, hudební výraz, uzavřený v << ... >> nebo { ... }." -#: ../python/frescobaldi_app/document.py:727 +#: ../python/frescobaldi_app/document.py:725 msgid "" "Could not understand the entered pitches.\n" "\n" @@ -868,7 +866,7 @@ "\n" "Ujistěte se, prosím, že používáte názvy pro výšky v jazyce \"%1\"." -#: ../python/frescobaldi_app/document.py:735 +#: ../python/frescobaldi_app/document.py:733 msgid "" "Can't perform the requested transposition.\n" "\n" @@ -880,47 +878,47 @@ "Převedené noty obsahují čtvrttónové úpravy, ale tyto úpravy nejsou dostupné " "v jazyku polohy tónu %1." -#: ../python/frescobaldi_app/document.py:748 +#: ../python/frescobaldi_app/document.py:746 msgid "Transpose" msgstr "Převést" -#: ../python/frescobaldi_app/document.py:755 +#: ../python/frescobaldi_app/document.py:753 msgid "Please enter a start pitch and a destination pitch:" msgstr "Zadejte, prosím, počáteční výšku a cílovou výšku:" -#: ../python/frescobaldi_app/document.py:759 +#: ../python/frescobaldi_app/document.py:757 msgid "Transpose from:" msgstr "Převést z:" -#: ../python/frescobaldi_app/document.py:763 +#: ../python/frescobaldi_app/document.py:761 msgid "to:" msgstr "do:" -#: ../python/frescobaldi_app/expand.py:147 -#: ../python/frescobaldi_app/mainapp.py:786 +#: ../python/frescobaldi_app/expand.py:149 +#: ../python/frescobaldi_app/mainapp.py:870 msgid "Expansion Manager" msgstr "Správce rozšíření " -#: ../python/frescobaldi_app/expand.py:161 -#: ../python/frescobaldi_app/lilydoc.py:125 +#: ../python/frescobaldi_app/expand.py:163 +#: ../python/frescobaldi_app/lilydoc.py:127 msgid "Search..." msgstr "Hledat..." -#: ../python/frescobaldi_app/expand.py:170 -#: ../python/frescobaldi_app/rumor.py:507 +#: ../python/frescobaldi_app/expand.py:172 +#: ../python/frescobaldi_app/rumor.py:505 msgid "Name" msgstr "Název" -#: ../python/frescobaldi_app/expand.py:170 -#: ../python/frescobaldi_app/rumor.py:507 +#: ../python/frescobaldi_app/expand.py:172 +#: ../python/frescobaldi_app/rumor.py:505 msgid "Description" msgstr "Popis" -#: ../python/frescobaldi_app/expand.py:170 +#: ../python/frescobaldi_app/expand.py:172 msgid "Shortcut" msgstr "Zkratka" -#: ../python/frescobaldi_app/expand.py:193 +#: ../python/frescobaldi_app/expand.py:195 msgid "" "This is the list of defined expansions.\n" "\n" @@ -948,26 +946,26 @@ "(vychozí klávesová zkratka: Ctrl+.), vyberete rozšíření ze seznamu a " "stisknete Enter nebo klepnete na tlačítko OK." -#: ../python/frescobaldi_app/expand.py:213 +#: ../python/frescobaldi_app/expand.py:214 msgid "" "This is the text associated with the selected shortcut. Some characters have " "special meaning:" msgstr "" "Toto je text spojený s vybranou zkratkou. Některé znaky mají zvláštní význam:" -#: ../python/frescobaldi_app/expand.py:215 +#: ../python/frescobaldi_app/expand.py:216 msgid "Place the cursor on this spot." msgstr "Umístěte kurzor na toto místo." -#: ../python/frescobaldi_app/expand.py:216 +#: ../python/frescobaldi_app/expand.py:217 msgid "Translate the following pitch." msgstr "Přesuňte následující výšku tónu." -#: ../python/frescobaldi_app/expand.py:268 +#: ../python/frescobaldi_app/expand.py:265 msgid "New Item" msgstr "Nová položka" -#: ../python/frescobaldi_app/expand.py:348 +#: ../python/frescobaldi_app/expand.py:345 msgid "" "Another expansion already uses this name.\n" "\n" @@ -977,59 +975,67 @@ "\n" "Použijte, prosím, jiný název." -#: ../python/frescobaldi_app/expand.py:354 +#: ../python/frescobaldi_app/expand.py:351 msgid "" "Please only use letters, numbers and the underscore character in the " "expansion name." msgstr "" "V názvu rozšíření použijte, prosím, pouze písmena, číslice a podtržítka." -#: ../python/frescobaldi_app/expand.py:381 +#: ../python/frescobaldi_app/expand.py:376 msgid "Please don't leave the description empty." msgstr "Neopusťte, prosím, popis prázdný." -#: ../python/frescobaldi_app/hyphen.py:123 -#: ../python/frescobaldi_app/mainapp.py:676 +#: ../python/frescobaldi_app/hyphen.py:119 +msgid "" +"Could not find any hyphenation dictionaries.\n" +"\n" +"Please install a package containing some and/or or configure the search path " +"to find them in the Frescobaldi settings under \"Paths.\"" +msgstr "" + +#: ../python/frescobaldi_app/hyphen.py:132 +#: ../python/frescobaldi_app/mainapp.py:686 msgid "Hyphenate Lyrics Text" msgstr "Rozdělit spojovníkem text se slovy písně" -#: ../python/frescobaldi_app/hyphen.py:127 +#: ../python/frescobaldi_app/hyphen.py:136 msgid "Please select a language:" msgstr "Vyberte, prosím, jazyk:" -#: ../python/frescobaldi_app/lilydoc.py:99 +#: ../python/frescobaldi_app/lilydoc.py:101 msgid "Home" msgstr "Domovská složka" -#: ../python/frescobaldi_app/lilydoc.py:100 +#: ../python/frescobaldi_app/lilydoc.py:102 msgid "Larger text" msgstr "Větší text" -#: ../python/frescobaldi_app/lilydoc.py:101 +#: ../python/frescobaldi_app/lilydoc.py:103 msgid "Smaller text" msgstr "Menší text" -#: ../python/frescobaldi_app/lilydoc.py:110 +#: ../python/frescobaldi_app/lilydoc.py:112 msgid "First Page" msgstr "První strana" -#: ../python/frescobaldi_app/lilydoc.py:111 +#: ../python/frescobaldi_app/lilydoc.py:113 msgid "Previous" msgstr "Předchozí" -#: ../python/frescobaldi_app/lilydoc.py:112 +#: ../python/frescobaldi_app/lilydoc.py:114 msgid "Up one level" msgstr "O jednu úroveň výše" -#: ../python/frescobaldi_app/lilydoc.py:113 +#: ../python/frescobaldi_app/lilydoc.py:115 msgid "Next" msgstr "Další" -#: ../python/frescobaldi_app/lilydoc.py:114 +#: ../python/frescobaldi_app/lilydoc.py:116 msgid "Table of contents" msgstr "Obsah" -#: ../python/frescobaldi_app/lilydoc.py:115 +#: ../python/frescobaldi_app/lilydoc.py:117 msgid "Index" msgstr "Rejstřík" @@ -1041,84 +1047,84 @@ msgid "Open Link in &New Window" msgstr "Otevřít odkaz v &novém okně" -#: ../python/frescobaldi_app/lilydoc.py:322 -#: ../python/frescobaldi_app/runlily.py:339 +#: ../python/frescobaldi_app/lilydoc.py:321 +#: ../python/frescobaldi_app/runlily.py:508 msgid "&Copy" msgstr "&Kopírovat" -#: ../python/frescobaldi_app/lilydoc.py:325 +#: ../python/frescobaldi_app/lilydoc.py:324 msgid "Open Document in &New Window" msgstr "Otevřít dokument v &novém okně" -#: ../python/frescobaldi_app/lilydoc.py:677 +#: ../python/frescobaldi_app/lilydoc.py:675 msgid "Loading..." msgstr "Nahrává se ..." -#: ../python/frescobaldi_app/lilydoc.py:684 +#: ../python/frescobaldi_app/lilydoc.py:682 msgid "Not available" msgstr "Nedostupné" -#: ../python/frescobaldi_app/lilydoc.py:732 +#: ../python/frescobaldi_app/lilydoc.py:734 msgid "Notation Reference" msgstr "Odkaz na notaci" -#: ../python/frescobaldi_app/lilydoc.py:752 +#: ../python/frescobaldi_app/lilydoc.py:754 msgid "LilyPond Command Index" msgstr "Rejstřík příkazů pro LilyPond" -#: ../python/frescobaldi_app/lilydoc.py:772 +#: ../python/frescobaldi_app/lilydoc.py:780 msgid "Learning Manual" msgstr "Příručka pro učení se" -#: ../python/frescobaldi_app/lilydoc.py:792 +#: ../python/frescobaldi_app/lilydoc.py:800 msgid "Learning Manual Index" msgstr "Rejstřík k příručce pro učení se" -#: ../python/frescobaldi_app/lilydoc.py:808 +#: ../python/frescobaldi_app/lilydoc.py:816 msgid "LilyPond &Help" msgstr "&Nápověda k LilyPondu" -#: ../python/frescobaldi_app/lqi.py:62 +#: ../python/frescobaldi_app/lqi.py:82 msgid "Articulations" msgstr "Artikulace" -#: ../python/frescobaldi_app/lqi.py:63 +#: ../python/frescobaldi_app/lqi.py:83 msgid "Different kinds of articulations and other signs." msgstr "Různé druhy artikulací a dalších značek." -#: ../python/frescobaldi_app/lqi.py:70 +#: ../python/frescobaldi_app/lqi.py:90 msgid "Allow shorthands" msgstr "Povolit zkratky" -#: ../python/frescobaldi_app/lqi.py:73 +#: ../python/frescobaldi_app/lqi.py:93 msgid "Use short notation for some articulations like staccato." msgstr "Použít krátký zápis pro některé artikulace jako je staccato." -#: ../python/frescobaldi_app/lqi.py:79 +#: ../python/frescobaldi_app/lqi.py:99 msgid "Direction:" msgstr "Směr:" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Up" msgstr "Nahoru" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Neutral" msgstr "Neutrální" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Down" msgstr "Dolů" -#: ../python/frescobaldi_app/lqi.py:85 +#: ../python/frescobaldi_app/lqi.py:105 msgid "The direction to use for the articulations." msgstr "Směr, který bude použit pro artikulace." -#: ../python/frescobaldi_app/lqi.py:112 +#: ../python/frescobaldi_app/lqi.py:134 msgid "Click an articulation sign to add it to your document." msgstr "Klepněte na značku artikulace pro její přidání do vašeho dokumentu." -#: ../python/frescobaldi_app/lqi.py:113 +#: ../python/frescobaldi_app/lqi.py:135 msgid "" "If you select some music first, the articulation will be added to all notes " "in the selection." @@ -1126,120 +1132,127 @@ "Pokud nejprve vyberete nějaké noty, artikulace bude přidána ke všem notám ve " "výběru." -#: ../python/frescobaldi_app/mainapp.py:53 +#: ../python/frescobaldi_app/lqi.py:159 +msgid "Configure Keyboard Shortcut (%1)" +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:54 msgid "LilyPond files" msgstr "Soubory LilyPond" -#: ../python/frescobaldi_app/mainapp.py:392 -#: ../python/frescobaldi_app/scorewiz/__init__.py:355 +#: ../python/frescobaldi_app/mainapp.py:424 +#: ../python/frescobaldi_app/settings.py:620 +#: ../python/frescobaldi_app/scorewiz/__init__.py:348 msgid "LilyPond" msgstr "LilyPond" -#: ../python/frescobaldi_app/mainapp.py:403 +#: ../python/frescobaldi_app/mainapp.py:435 msgid "Setup New Score..." msgstr "Nastavit nový notový zápis..." -#: ../python/frescobaldi_app/mainapp.py:408 +#: ../python/frescobaldi_app/mainapp.py:440 msgid "Run LilyPond (preview)" msgstr "Spustit LilyPond (náhled)" -#: ../python/frescobaldi_app/mainapp.py:412 +#: ../python/frescobaldi_app/mainapp.py:444 msgid "Run LilyPond (publish)" msgstr "Spustit LilyPond (vydat)" -#: ../python/frescobaldi_app/mainapp.py:418 -msgid "Can't process document" -msgstr "Dokument nelze zpracovat" - -#: ../python/frescobaldi_app/mainapp.py:421 -msgid "There is already a LilyPond job running for this document." -msgstr "LilyPond je již spuštěn a pracuje na tomto dokumentu." - -#: ../python/frescobaldi_app/mainapp.py:427 -msgid "Your document has been modified, please save first." -msgstr "Váš dokument byl upraven. Nejprve jej, prosím, uložte." +#: ../python/frescobaldi_app/mainapp.py:448 +#, fuzzy +msgid "Run LilyPond (custom)..." +msgstr "Spustit LilyPond (vydat)" -#: ../python/frescobaldi_app/mainapp.py:446 +#: ../python/frescobaldi_app/mainapp.py:452 msgid "Interrupt LilyPond Job" msgstr "Přerušit práci programu LilyPond" -#: ../python/frescobaldi_app/mainapp.py:456 +#: ../python/frescobaldi_app/mainapp.py:462 msgid "Cut selection and assign it to a LilyPond variable." msgstr "Vyjmout výběr a přidělit jej proměnné programu LilyPond." -#: ../python/frescobaldi_app/mainapp.py:460 +#: ../python/frescobaldi_app/mainapp.py:466 msgid "Repeat last note or chord" msgstr "Opakovat poslední notu nebo akord" -#: ../python/frescobaldi_app/mainapp.py:461 +#: ../python/frescobaldi_app/mainapp.py:467 msgid "Repeat the last music expression (note or chord)." msgstr "Opakovat poslední hudební výraz (notu nebo akord)." -#: ../python/frescobaldi_app/mainapp.py:465 +#: ../python/frescobaldi_app/mainapp.py:471 msgid "Insert or Manage Expansions..." msgstr "Vložit nebo spravovat rozšíření..." -#: ../python/frescobaldi_app/mainapp.py:466 +#: ../python/frescobaldi_app/mainapp.py:472 msgid "Expand last word or open the expansions dialog." msgstr "Rozšířit poslední slovo nebo otevřít dialog rozšíření." -#: ../python/frescobaldi_app/mainapp.py:471 +#: ../python/frescobaldi_app/mainapp.py:476 +msgid "Special Characters..." +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:477 +#, fuzzy +msgid "Insert special characters." +msgstr "Vložit dvojici svorek" + +#: ../python/frescobaldi_app/mainapp.py:482 msgid "Add to Expansions" msgstr "Přidat do rozšíření" -#: ../python/frescobaldi_app/mainapp.py:475 +#: ../python/frescobaldi_app/mainapp.py:486 msgid "Next blank line" msgstr "Další prázdný řádek" -#: ../python/frescobaldi_app/mainapp.py:476 +#: ../python/frescobaldi_app/mainapp.py:487 msgid "Go to the next blank line." msgstr "Přejít na další prázdný řádek." -#: ../python/frescobaldi_app/mainapp.py:486 +#: ../python/frescobaldi_app/mainapp.py:497 msgid "Previous blank line" msgstr "Předchozí prázdný řádek" -#: ../python/frescobaldi_app/mainapp.py:487 +#: ../python/frescobaldi_app/mainapp.py:498 msgid "Go to the previous blank line." msgstr "Přejít na předchozí prázdný řádek." -#: ../python/frescobaldi_app/mainapp.py:496 +#: ../python/frescobaldi_app/mainapp.py:507 msgid "Select to next blank line" msgstr "Vybrat po další prázdný řádek" -#: ../python/frescobaldi_app/mainapp.py:498 +#: ../python/frescobaldi_app/mainapp.py:509 msgid "" "Selects text from the current position down to and including the next blank " "line." msgstr "Vybere text od nynější polohy dolů včetně dalšího prázdného řádku." -#: ../python/frescobaldi_app/mainapp.py:523 +#: ../python/frescobaldi_app/mainapp.py:534 msgid "Select to previous blank line" msgstr "Vybrat po předchozí prázdný řádek" -#: ../python/frescobaldi_app/mainapp.py:525 +#: ../python/frescobaldi_app/mainapp.py:536 msgid "" "Selects text from the current position up to right after the previous blank " "line." msgstr "Vybere text od nynější polohy nahoru až po předchozí prázdný řádek." -#: ../python/frescobaldi_app/mainapp.py:549 +#: ../python/frescobaldi_app/mainapp.py:560 msgid "Move selection to next blank line" msgstr "Posunout výběr k dalšímu prázdnému řádku" -#: ../python/frescobaldi_app/mainapp.py:550 +#: ../python/frescobaldi_app/mainapp.py:561 msgid "Moves selected block to next blank line." msgstr "Posune vybraný blok k dalšímu prázdnému řádku." -#: ../python/frescobaldi_app/mainapp.py:554 +#: ../python/frescobaldi_app/mainapp.py:565 msgid "Move selection to previous blank line" msgstr "Posunout výběr k předchozímu prázdnému řádku" -#: ../python/frescobaldi_app/mainapp.py:555 +#: ../python/frescobaldi_app/mainapp.py:566 msgid "Moves selected block to previous blank line." msgstr "Posune vybraný blok k předchozímu prázdnému řádku." -#: ../python/frescobaldi_app/mainapp.py:562 +#: ../python/frescobaldi_app/mainapp.py:573 msgid "" "Change the LilyPond language used for pitch names in this document or in the " "selection." @@ -1247,97 +1260,97 @@ "Změnit jazyk LilyPondu, který se používá pro názvy výšek tónů v tomto " "dokumentu nebo ve výběru." -#: ../python/frescobaldi_app/mainapp.py:569 +#: ../python/frescobaldi_app/mainapp.py:579 msgid "Convert Relative to &Absolute" msgstr "Převést poměrnou na &naprostou" -#: ../python/frescobaldi_app/mainapp.py:570 +#: ../python/frescobaldi_app/mainapp.py:580 msgid "" "Converts the notes in the document or selection from relative to absolute " "pitch." msgstr "" "Převede noty v dokumentu nebo ve výběru z poměrné na naprostou výšku tónu." -#: ../python/frescobaldi_app/mainapp.py:574 +#: ../python/frescobaldi_app/mainapp.py:584 msgid "Convert Absolute to &Relative" msgstr "Převést naprostou na &poměrnou" -#: ../python/frescobaldi_app/mainapp.py:575 +#: ../python/frescobaldi_app/mainapp.py:585 msgid "" "Converts the notes in the document or selection from absolute to relative " "pitch." msgstr "" "Převede noty v dokumentu nebo ve výběru z naprosté na poměrnou výšku tónu." -#: ../python/frescobaldi_app/mainapp.py:579 +#: ../python/frescobaldi_app/mainapp.py:589 msgid "Transpose..." msgstr "Převést..." -#: ../python/frescobaldi_app/mainapp.py:580 +#: ../python/frescobaldi_app/mainapp.py:590 msgid "Transposes all notes in the document or selection." msgstr "Převede všechny noty v dokumentu nebo ve výběru." -#: ../python/frescobaldi_app/mainapp.py:585 +#: ../python/frescobaldi_app/mainapp.py:595 msgid "Double durations" msgstr "Zdvojnásobit doby trvání" -#: ../python/frescobaldi_app/mainapp.py:586 +#: ../python/frescobaldi_app/mainapp.py:596 msgid "Double all the durations in the selection." msgstr "Zdvojnásobit všechny doby trvání ve výběru." -#: ../python/frescobaldi_app/mainapp.py:591 +#: ../python/frescobaldi_app/mainapp.py:601 msgid "Halve durations" msgstr "Zkrátit na polovinu doby trvání" -#: ../python/frescobaldi_app/mainapp.py:592 +#: ../python/frescobaldi_app/mainapp.py:602 msgid "Halve all the durations in the selection." msgstr "Zkrátit na polovinu všechny doby trvání ve výběru." -#: ../python/frescobaldi_app/mainapp.py:597 +#: ../python/frescobaldi_app/mainapp.py:607 msgid "Dot durations" msgstr "Udělat tečky na dobách trvání" -#: ../python/frescobaldi_app/mainapp.py:598 +#: ../python/frescobaldi_app/mainapp.py:608 msgid "Add a dot to all the durations in the selection." msgstr "Přidat tečku ke všem dobám trvání ve výběru." -#: ../python/frescobaldi_app/mainapp.py:603 +#: ../python/frescobaldi_app/mainapp.py:613 msgid "Undot durations" msgstr "Odstranit tečky na dobách trvání" -#: ../python/frescobaldi_app/mainapp.py:604 +#: ../python/frescobaldi_app/mainapp.py:614 msgid "Remove one dot from all the durations in the selection." msgstr "Odstranit tečku ze všech dob trvání ve výběru." -#: ../python/frescobaldi_app/mainapp.py:609 +#: ../python/frescobaldi_app/mainapp.py:619 msgid "Remove scaling" msgstr "Odstranit rozdělování do stupnic" -#: ../python/frescobaldi_app/mainapp.py:610 +#: ../python/frescobaldi_app/mainapp.py:620 msgid "Remove all scaling (*n/m) from the durations in the selection." msgstr "Odstranit rozdělování do stupnic (*n/m) z dob trvání ve výběru." -#: ../python/frescobaldi_app/mainapp.py:615 +#: ../python/frescobaldi_app/mainapp.py:625 msgid "Remove durations" msgstr "Odstranit doby trvání" -#: ../python/frescobaldi_app/mainapp.py:616 +#: ../python/frescobaldi_app/mainapp.py:626 msgid "Remove all durations from the selection." msgstr "Odstranit všechny doby trvání ve výběru." -#: ../python/frescobaldi_app/mainapp.py:621 +#: ../python/frescobaldi_app/mainapp.py:631 msgid "Make implicit" msgstr "Odstranit doby trvání, které jsou stejné jako u předchozí noty" -#: ../python/frescobaldi_app/mainapp.py:622 +#: ../python/frescobaldi_app/mainapp.py:632 msgid "Make durations implicit (remove repeated durations)." msgstr "Skrýt doby trvání (odstranit opakované doby trvání)" -#: ../python/frescobaldi_app/mainapp.py:627 +#: ../python/frescobaldi_app/mainapp.py:637 msgid "Make explicit" msgstr "Přidat dobu trvání ke každé notě" -#: ../python/frescobaldi_app/mainapp.py:628 +#: ../python/frescobaldi_app/mainapp.py:638 msgid "" "Make durations explicit (add duration to every note, even if it is the same " "as the preceding note)." @@ -1345,208 +1358,227 @@ "Přímo vyjádřit doby trvání (přidat dobu trvání ke každé notě, i když se " "jedná o tu samou jako je předcházející nota)." -#: ../python/frescobaldi_app/mainapp.py:634 +#: ../python/frescobaldi_app/mainapp.py:644 msgid "Apply rhythm..." msgstr "Použít rytmus..." -#: ../python/frescobaldi_app/mainapp.py:635 +#: ../python/frescobaldi_app/mainapp.py:645 msgid "Apply an entered rhythm to the selected music." msgstr "Použít zadaný rytmus na vybrané noty." -#: ../python/frescobaldi_app/mainapp.py:639 +#: ../python/frescobaldi_app/mainapp.py:649 msgid "Copy rhythm" msgstr "Kopírovat rytmus" -#: ../python/frescobaldi_app/mainapp.py:640 +#: ../python/frescobaldi_app/mainapp.py:650 msgid "Copy the rhythm of the selected music." msgstr "Kopírovat rytmus vybraných not." -#: ../python/frescobaldi_app/mainapp.py:646 +#: ../python/frescobaldi_app/mainapp.py:656 msgid "Paste rhythm" msgstr "Vložit rytmus" -#: ../python/frescobaldi_app/mainapp.py:647 +#: ../python/frescobaldi_app/mainapp.py:657 msgid "Paste a rhythm to the selected music." msgstr "Vložit rytmus do vybraných not." -#: ../python/frescobaldi_app/mainapp.py:655 +#: ../python/frescobaldi_app/mainapp.py:665 msgid "Double bar line" msgstr "Dvojitá taktová čára" -#: ../python/frescobaldi_app/mainapp.py:656 +#: ../python/frescobaldi_app/mainapp.py:666 msgid "Ending bar line" msgstr "koncová taktová čára" -#: ../python/frescobaldi_app/mainapp.py:657 +#: ../python/frescobaldi_app/mainapp.py:667 msgid "Dotted bar line" msgstr "Tečkovaná taktová čára" -#: ../python/frescobaldi_app/mainapp.py:658 +#: ../python/frescobaldi_app/mainapp.py:668 msgid "Dashed bar line" msgstr "Čárkovaná taktová čára" -#: ../python/frescobaldi_app/mainapp.py:659 +#: ../python/frescobaldi_app/mainapp.py:669 msgid "Invisible bar line" msgstr "Neviditelná taktová čára" -#: ../python/frescobaldi_app/mainapp.py:660 +#: ../python/frescobaldi_app/mainapp.py:670 msgid "Repeat start" msgstr "Opakovat začátek" -#: ../python/frescobaldi_app/mainapp.py:661 +#: ../python/frescobaldi_app/mainapp.py:671 msgid "Repeat both" msgstr "Opakovat obojí" -#: ../python/frescobaldi_app/mainapp.py:662 +#: ../python/frescobaldi_app/mainapp.py:672 msgid "Repeat end" msgstr "Opakovat konec" -#: ../python/frescobaldi_app/mainapp.py:663 +#: ../python/frescobaldi_app/mainapp.py:673 msgid "Tick bar line" msgstr "Zaškrtnutá taktová čára" -#: ../python/frescobaldi_app/mainapp.py:664 +#: ../python/frescobaldi_app/mainapp.py:674 msgid "Single bar line" msgstr "Jednoduchá taktová čára" -#: ../python/frescobaldi_app/mainapp.py:665 +#: ../python/frescobaldi_app/mainapp.py:675 msgid "Small-Wide-Small bar line" msgstr "Malá-Široká-Malá taktová čára" -#: ../python/frescobaldi_app/mainapp.py:666 +#: ../python/frescobaldi_app/mainapp.py:676 msgid "Wide-Small bar line" msgstr "Široká-Malá taktová čára" -#: ../python/frescobaldi_app/mainapp.py:667 +#: ../python/frescobaldi_app/mainapp.py:677 msgid "Double wide bar line" msgstr "Dvojita široká taktová čára" -#: ../python/frescobaldi_app/mainapp.py:668 +#: ../python/frescobaldi_app/mainapp.py:678 msgid "Repeat both (old)" msgstr "Opakovat obojí (starý)" -#: ../python/frescobaldi_app/mainapp.py:669 +#: ../python/frescobaldi_app/mainapp.py:679 msgid "Repeat both (classic)" msgstr "Opakovat obojí (klasický)" -#: ../python/frescobaldi_app/mainapp.py:681 +#: ../python/frescobaldi_app/mainapp.py:691 msgid "Remove hyphenation" msgstr "Odstranit dělení slov" -#: ../python/frescobaldi_app/mainapp.py:686 +#: ../python/frescobaldi_app/mainapp.py:695 +msgid "Copy Lyrics with hyphenation removed" +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:700 msgid "Single Quote" msgstr "Jednoduché uvozovky" -#: ../python/frescobaldi_app/mainapp.py:690 +#: ../python/frescobaldi_app/mainapp.py:704 msgid "Double Quote" msgstr "Dvojité uvozovky" -#: ../python/frescobaldi_app/mainapp.py:694 +#: ../python/frescobaldi_app/mainapp.py:708 msgid "Align" msgstr "Zarovnat" -#: ../python/frescobaldi_app/mainapp.py:698 +#: ../python/frescobaldi_app/mainapp.py:712 msgid "Insert LilyPond version" msgstr "Vložit číslo verze aplikace LilyPond" -#: ../python/frescobaldi_app/mainapp.py:703 +#: ../python/frescobaldi_app/mainapp.py:717 msgid "Update with convert-ly" msgstr "Zaktualizovat s pomocí convert-ly" -#: ../python/frescobaldi_app/mainapp.py:708 +#: ../python/frescobaldi_app/mainapp.py:722 msgid "Open Current Folder" msgstr "Otevřít aktuální složku" -#: ../python/frescobaldi_app/mainapp.py:722 +#: ../python/frescobaldi_app/mainapp.py:737 msgid "Repeat selected music" msgstr "Opakovat vybrané noty" -#: ../python/frescobaldi_app/mainapp.py:728 +#: ../python/frescobaldi_app/mainapp.py:743 msgid "Insert pair of braces" msgstr "Vložit dvojici svorek" -#: ../python/frescobaldi_app/mainapp.py:776 +#: ../python/frescobaldi_app/mainapp.py:794 +msgid "Can't process document" +msgstr "Dokument nelze zpracovat" + +#: ../python/frescobaldi_app/mainapp.py:799 +msgid "Your document has been modified, please save first." +msgstr "Váš dokument byl upraven. Nejprve jej, prosím, uložte." + +#: ../python/frescobaldi_app/mainapp.py:824 +msgid "There is already a LilyPond job running for this document." +msgstr "LilyPond je již spuštěn a pracuje na tomto dokumentu." + +#: ../python/frescobaldi_app/mainapp.py:860 msgid "Abort the running LilyPond process" msgstr "Zrušit běžící proces aplikace LilyPond" -#: ../python/frescobaldi_app/mainapp.py:779 -msgid "Run LilyPond in preview mode" +#: ../python/frescobaldi_app/mainapp.py:863 +#, fuzzy +msgid "Run LilyPond in preview mode (Shift-click for custom dialog)" msgstr "Spustit LilyPond v režimu náhledu" -#: ../python/frescobaldi_app/mainapp.py:796 +#: ../python/frescobaldi_app/mainapp.py:872 +#: ../python/frescobaldi_app/mainapp.py:1088 +msgid "Quick Insert" +msgstr "Rychle vložit" + +#: ../python/frescobaldi_app/mainapp.py:882 msgid "Apply Rhythm" msgstr "Použít rytmus" -#: ../python/frescobaldi_app/mainapp.py:804 +#: ../python/frescobaldi_app/mainapp.py:890 msgid "Enter a rhythm:" msgstr "Zadat rytmus:" -#: ../python/frescobaldi_app/mainapp.py:807 +#: ../python/frescobaldi_app/mainapp.py:893 msgid "Enter a rhythm using space separated duration values (e.g. 8. 16 8 4 8)" msgstr "" "Zadat rytmus za použití mezerou oddělených hodnot dob trvání (např. 8. 16 8 " "4 8)" -#: ../python/frescobaldi_app/mainapp.py:862 +#: ../python/frescobaldi_app/mainapp.py:917 msgid "Terminal" msgstr "Terminál" -#: ../python/frescobaldi_app/mainapp.py:900 +#: ../python/frescobaldi_app/mainapp.py:948 msgid "S&ynchronize Terminal with Current Document" msgstr "Se&řídit terminál s aktuálním dokumentem" -#: ../python/frescobaldi_app/mainapp.py:921 -#: ../python/frescobaldi_app/runlily.py:629 +#: ../python/frescobaldi_app/mainapp.py:969 +#: ../python/frescobaldi_app/runlily.py:783 msgid "PDF Preview" msgstr "Náhled PDF" -#: ../python/frescobaldi_app/mainapp.py:950 +#: ../python/frescobaldi_app/mainapp.py:1026 msgid "Show PDF Navigation Panel" msgstr "Ukázat navigační panel PDF" -#: ../python/frescobaldi_app/mainapp.py:951 +#: ../python/frescobaldi_app/mainapp.py:1027 msgid "Show PDF minipager" msgstr "Ukázat miniaturní PDF číslovač stran" -#: ../python/frescobaldi_app/mainapp.py:952 +#: ../python/frescobaldi_app/mainapp.py:1028 msgid "Configure Okular..." msgstr "Nastavit Okular..." -#: ../python/frescobaldi_app/mainapp.py:955 +#: ../python/frescobaldi_app/mainapp.py:1031 msgid "S&ynchronize Preview with Current Document" msgstr "S&ladit náhled se současným dokumentem" -#: ../python/frescobaldi_app/mainapp.py:956 +#: ../python/frescobaldi_app/mainapp.py:1032 #, fuzzy msgid "Reload" msgstr "Nahrávat" -#: ../python/frescobaldi_app/mainapp.py:1024 -msgid "Quick Insert" -msgstr "Rychle vložit" - -#: ../python/frescobaldi_app/mainapp.py:1036 -#: ../python/frescobaldi_app/runlily.py:334 +#: ../python/frescobaldi_app/mainapp.py:1100 +#: ../python/frescobaldi_app/runlily.py:503 msgid "LilyPond Log" msgstr "Záznam o průběhu činnosti od LilyPond" -#: ../python/frescobaldi_app/mainapp.py:1040 +#: ../python/frescobaldi_app/mainapp.py:1104 msgid "no log" msgstr "Žádný záznam o průběhu činnosti" -#: ../python/frescobaldi_app/mainapp.py:1079 +#: ../python/frescobaldi_app/mainapp.py:1141 msgid "Only show on errors" msgstr "Ukázat pouze na chybách" -#: ../python/frescobaldi_app/mainapp.py:1103 +#: ../python/frescobaldi_app/mainapp.py:1165 msgid "Rumor" msgstr "Rumor" -#: ../python/frescobaldi_app/mainapp.py:1115 +#: ../python/frescobaldi_app/mainapp.py:1177 +#: ../python/frescobaldi_app/settings.py:297 msgid "LilyPond Documentation" msgstr "Dokumentace k LilyPondu" -#: ../python/frescobaldi_app/rumor.py:72 +#: ../python/frescobaldi_app/rumor.py:73 msgid "" "The meter to use. Leave 'Auto' to let Frescobaldi determine the meter from " "the LilyPond document." @@ -1554,31 +1586,31 @@ "Používané metrum. Ponechte 'Auto', abyste nechali na Frescobaldi stanovení " "metra z LilyPond dokumentu." -#: ../python/frescobaldi_app/rumor.py:79 +#: ../python/frescobaldi_app/rumor.py:80 msgid "Quantize:" msgstr "Kvantovat:" -#: ../python/frescobaldi_app/rumor.py:85 +#: ../python/frescobaldi_app/rumor.py:86 msgid "The shortest note duration to use." msgstr "Použít tuto nejkratší dobu trvání noty." -#: ../python/frescobaldi_app/rumor.py:90 +#: ../python/frescobaldi_app/rumor.py:91 msgid "Step" msgstr "Udělat krok" -#: ../python/frescobaldi_app/rumor.py:92 +#: ../python/frescobaldi_app/rumor.py:93 msgid "Record LilyPond input note by note, without durations." msgstr "Nahrát LilyPond vstup notu po notě bez dob trvání." -#: ../python/frescobaldi_app/rumor.py:96 +#: ../python/frescobaldi_app/rumor.py:97 msgid "Mono" msgstr "Monofonní" -#: ../python/frescobaldi_app/rumor.py:98 +#: ../python/frescobaldi_app/rumor.py:99 msgid "Record monophonic input, without chords." msgstr "Nahrát monofonní vstup bez akordů." -#: ../python/frescobaldi_app/rumor.py:107 +#: ../python/frescobaldi_app/rumor.py:108 msgid "" "The number of accidentals. A negative number designates flats. Leave 'Auto' " "to let Frescobaldi determine the key signature from the LilyPond document." @@ -1586,23 +1618,23 @@ "Počet posuvek. Záporné číslo určuje počet snížení o půltón. Ponechte 'Auto', " "abyste nechali na Frescobaldi stanovení předznamenání z LilyPond dokumentu." -#: ../python/frescobaldi_app/rumor.py:113 +#: ../python/frescobaldi_app/rumor.py:114 msgid "Tempo:" msgstr "Tempo:" -#: ../python/frescobaldi_app/rumor.py:116 +#: ../python/frescobaldi_app/rumor.py:117 msgid "Meter:" msgstr "Metrum:" -#: ../python/frescobaldi_app/rumor.py:119 +#: ../python/frescobaldi_app/rumor.py:120 msgid "Key:" msgstr "Tónina:" -#: ../python/frescobaldi_app/rumor.py:131 +#: ../python/frescobaldi_app/rumor.py:132 msgid "Configure..." msgstr "Nastavit..." -#: ../python/frescobaldi_app/rumor.py:132 +#: ../python/frescobaldi_app/rumor.py:133 msgid "Adjust more settings, like MIDI input and output." msgstr "Upravovat více nastavení jako MIDI vstup a výstup." @@ -1614,59 +1646,59 @@ msgid "Set these settings as default." msgstr "Nastavit nastavení na výchozí." -#: ../python/frescobaldi_app/rumor.py:148 +#: ../python/frescobaldi_app/rumor.py:147 msgid "Found rumor version %1." msgstr "Nalezena verze programu Rumor %1." -#: ../python/frescobaldi_app/rumor.py:151 +#: ../python/frescobaldi_app/rumor.py:150 msgid "Could not find Rumor: %1" msgstr "Rumor nebyl nalezen: %1." -#: ../python/frescobaldi_app/rumor.py:165 +#: ../python/frescobaldi_app/rumor.py:164 msgid "Settings have been saved." msgstr "Byla uložena nastavení." -#: ../python/frescobaldi_app/rumor.py:316 +#: ../python/frescobaldi_app/rumor.py:315 msgid "Record" msgstr "Nahrávat" -#: ../python/frescobaldi_app/rumor.py:318 +#: ../python/frescobaldi_app/rumor.py:317 msgid "Start or stop Rumor MIDI-recording." msgstr "Začít nebo zastavit Rumor MIDI nahrávání." -#: ../python/frescobaldi_app/rumor.py:334 +#: ../python/frescobaldi_app/rumor.py:333 msgid "Rumor is recording, press ESC to stop." msgstr "Rumor nahrává. Stiskněte ESC pro zastavení nahrávání." -#: ../python/frescobaldi_app/rumor.py:360 +#: ../python/frescobaldi_app/rumor.py:359 msgid "Rumor stopped." msgstr "Rumor byl zastaven." -#: ../python/frescobaldi_app/rumor.py:394 +#: ../python/frescobaldi_app/rumor.py:393 msgid "TiMidity" msgstr "TiMidity" -#: ../python/frescobaldi_app/rumor.py:395 +#: ../python/frescobaldi_app/rumor.py:394 msgid "Start or stop the TiMidity ALSA MIDI client." msgstr "Začít nebo zastavit ALSA MIDI klienta TiMidity." -#: ../python/frescobaldi_app/rumor.py:415 +#: ../python/frescobaldi_app/rumor.py:413 msgid "Rumor Settings" msgstr "Nastavení programu Rumor." -#: ../python/frescobaldi_app/rumor.py:423 +#: ../python/frescobaldi_app/rumor.py:421 msgid "OSS device %1" msgstr "Zařízení OSS %1" -#: ../python/frescobaldi_app/rumor.py:425 +#: ../python/frescobaldi_app/rumor.py:423 msgid "Keyboard" msgstr "Klávesnice" -#: ../python/frescobaldi_app/rumor.py:431 +#: ../python/frescobaldi_app/rumor.py:429 msgid "MIDI input:" msgstr "MIDI vstup:" -#: ../python/frescobaldi_app/rumor.py:435 +#: ../python/frescobaldi_app/rumor.py:433 msgid "" "MIDI input to use. Choose 'Keyboard' if you want to play on the keyboard of " "your computer." @@ -1674,29 +1706,29 @@ "Použít MIDI vstup. Jestliže chcete hrát s pomocí klávesnice vašeho počítače, " "vyberte 'klávesnice'." -#: ../python/frescobaldi_app/rumor.py:441 +#: ../python/frescobaldi_app/rumor.py:439 msgid "MIDI output:" msgstr "MIDI výstup:" -#: ../python/frescobaldi_app/rumor.py:445 +#: ../python/frescobaldi_app/rumor.py:443 msgid "MIDI output to use." msgstr "Použít MIDI výstup." -#: ../python/frescobaldi_app/rumor.py:450 -#: ../python/frescobaldi_app/scorewiz/__init__.py:544 +#: ../python/frescobaldi_app/rumor.py:448 +#: ../python/frescobaldi_app/scorewiz/__init__.py:529 msgid "Language:" msgstr "Jazyk:" -#: ../python/frescobaldi_app/rumor.py:455 +#: ../python/frescobaldi_app/rumor.py:453 msgid "The LilyPond language you want Rumor to output the pitches in." msgstr "" "Jazyk programu LilyPond, kterým chcete, aby Rumor prováděl výstup výšek tónů." -#: ../python/frescobaldi_app/rumor.py:463 +#: ../python/frescobaldi_app/rumor.py:461 msgid "Explicit durations" msgstr "Otevřená doba trvání" -#: ../python/frescobaldi_app/rumor.py:465 +#: ../python/frescobaldi_app/rumor.py:463 msgid "" "Add a duration after every note, even if it is the same as the preceding " "note." @@ -1704,51 +1736,51 @@ "Přidat dobu trvání po každé notě, i když je stejná, jako byla předcházející " "nota." -#: ../python/frescobaldi_app/rumor.py:470 +#: ../python/frescobaldi_app/rumor.py:468 msgid "Absolute pitch" msgstr "Naprostá výška tónu" -#: ../python/frescobaldi_app/rumor.py:472 +#: ../python/frescobaldi_app/rumor.py:470 msgid "Use absolute pitches instead of relative." msgstr "Použít naprostou výšku tónu namísto poměrné." -#: ../python/frescobaldi_app/rumor.py:478 +#: ../python/frescobaldi_app/rumor.py:476 msgid "No barlines" msgstr "Žádné taktové čáry" -#: ../python/frescobaldi_app/rumor.py:480 +#: ../python/frescobaldi_app/rumor.py:478 msgid "Filter the barlines out of Rumor's output." msgstr "Filtrovat taktové čáry pryč z výstupu programu Rumor." -#: ../python/frescobaldi_app/rumor.py:484 +#: ../python/frescobaldi_app/rumor.py:482 msgid "No dots" msgstr "Žádné tečky" -#: ../python/frescobaldi_app/rumor.py:486 +#: ../python/frescobaldi_app/rumor.py:484 msgid "Do not use dotted notes, but ties instead." msgstr "Nepoužívat noty s tečkami, ale místo nich používat ligatury." -#: ../python/frescobaldi_app/rumor.py:490 +#: ../python/frescobaldi_app/rumor.py:488 msgid "Legato" msgstr "Legáto" -#: ../python/frescobaldi_app/rumor.py:491 +#: ../python/frescobaldi_app/rumor.py:489 msgid "Do not use rests, but give all notes the maximum length." msgstr "Nepoužívat pomlky, ale dát všem notám největší délku." -#: ../python/frescobaldi_app/rumor.py:496 +#: ../python/frescobaldi_app/rumor.py:494 msgid "Strip rests" msgstr "Odebrat pomlky" -#: ../python/frescobaldi_app/rumor.py:498 +#: ../python/frescobaldi_app/rumor.py:496 msgid "Strip leading and trialing rests from output." msgstr "Odebrat z výstupu pomlky před a za." -#: ../python/frescobaldi_app/rumor.py:502 +#: ../python/frescobaldi_app/rumor.py:500 msgid "Guile scripts to load:" msgstr "Guile skripty k nahrání:" -#: ../python/frescobaldi_app/rumor.py:509 +#: ../python/frescobaldi_app/rumor.py:507 msgid "" "Here you can select which Guile scripts you want Rumor to load. Check " "\"What's this\" for more information." @@ -1756,7 +1788,7 @@ "Zde si můžete vybrat, které Guile skripty chcete, aby program Rumor nahrál. " "Zkontrolujte \"Co je toto\" kvůli další informaci." -#: ../python/frescobaldi_app/rumor.py:513 +#: ../python/frescobaldi_app/rumor.py:511 msgid "" "Here you can select which Guile scripts you want Rumor to load. You can add " "your own scripts by putting them in %1. If the first line of your script " @@ -1767,55 +1799,132 @@ "řádek vašeho skriptu začínal středníkem (;), bude tento řádek ukazován jako " "popis." -#: ../python/frescobaldi_app/rumor.py:635 +#: ../python/frescobaldi_app/rumor.py:633 msgid "Auto" msgstr "A&utomaticky" -#: ../python/frescobaldi_app/runlily.py:88 +#: ../python/frescobaldi_app/runlily.py:101 msgid "preview mode" msgstr "Režim náhledu" -#: ../python/frescobaldi_app/runlily.py:88 +#: ../python/frescobaldi_app/runlily.py:101 msgid "publish mode" msgstr "Režim vydávání" -#: ../python/frescobaldi_app/runlily.py:89 +#: ../python/frescobaldi_app/runlily.py:104 +msgid "LilyPond %1 [%2] starting (%3)..." +msgstr "LilyPond %1 [%2] začíná (%3)..." + +#: ../python/frescobaldi_app/runlily.py:107 msgid "LilyPond [%1] starting (%2)..." msgstr "LilyPond [%1] začíná (%2)..." -#: ../python/frescobaldi_app/runlily.py:95 +#: ../python/frescobaldi_app/runlily.py:131 msgid "LilyPond [%1] exited with return code %2." msgstr "LilyPond [%1] skončil se zpátečním kódem %2." -#: ../python/frescobaldi_app/runlily.py:98 +#: ../python/frescobaldi_app/runlily.py:134 msgid "LilyPond [%1] exited with exit status %2." msgstr "LilyPond [%1] skončil ve stavu ukončení %2." -#: ../python/frescobaldi_app/runlily.py:107 +#: ../python/frescobaldi_app/runlily.py:140 msgid "LilyPond [%1] finished (%2)." msgstr "LilyPond [%1] skončil (%2)." -#: ../python/frescobaldi_app/runlily.py:115 +#: ../python/frescobaldi_app/runlily.py:150 msgid "Could not start LilyPond. Please check path and permissions." msgstr "LilyPond nešel spustit. Zkontrolujte, prosím, cestu a oprávnění." -#: ../python/frescobaldi_app/runlily.py:118 +#: ../python/frescobaldi_app/runlily.py:153 msgid "Could not read from the LilyPond process." msgstr "Z LilyPond procesu nešlo číst." -#: ../python/frescobaldi_app/runlily.py:121 +#: ../python/frescobaldi_app/runlily.py:156 msgid "An unknown error occured." msgstr "Vyskytla se neznámá chyba." -#: ../python/frescobaldi_app/runlily.py:323 +#: ../python/frescobaldi_app/runlily.py:229 +#: ../python/frescobaldi_app/runlily.py:232 +#, fuzzy +msgid "Run LilyPond" +msgstr "LilyPond" + +#: ../python/frescobaldi_app/runlily.py:239 +#, fuzzy +msgid "Select which LilyPond version you want to run:" +msgstr "Vyberte, prosím, soubory, které si přejete odeslat:" + +#: ../python/frescobaldi_app/runlily.py:247 +#, fuzzy +msgid "Run LilyPond in preview mode (with Point and Click)" +msgstr "Spustit LilyPond v režimu náhledu" + +#: ../python/frescobaldi_app/runlily.py:250 +#: ../python/frescobaldi_app/settings.py:150 +msgid "Run LilyPond with verbose output" +msgstr "Spustit LilyPond s upovídaným výstupem" + +#: ../python/frescobaldi_app/runlily.py:292 +#, fuzzy +msgid "Command" +msgstr "Tiskový příkaz:" + +#: ../python/frescobaldi_app/runlily.py:299 +#, fuzzy +msgid "LilyPond %1" +msgstr "LilyPond" + +#: ../python/frescobaldi_app/runlily.py:300 +#, fuzzy +msgid "Use LilyPond version %1" +msgstr "Vložit číslo verze aplikace LilyPond" + +#: ../python/frescobaldi_app/runlily.py:303 +#: ../python/frescobaldi_app/settings.py:601 +#, fuzzy +msgid "default" +msgstr "Výchozí" + +#: ../python/frescobaldi_app/runlily.py:304 +#, fuzzy +msgid "Default LilyPond Version." +msgstr "Vložit číslo verze aplikace LilyPond" + +#: ../python/frescobaldi_app/runlily.py:306 +msgid "automatic" +msgstr "" + +#: ../python/frescobaldi_app/runlily.py:307 +#, fuzzy +msgid "Automatic LilyPond Version (determined from document)." +msgstr "Verze programu LilyPond, která se bude používat v nových dokumentech" + +#: ../python/frescobaldi_app/runlily.py:312 +#, fuzzy +msgid "Path: %1" +msgstr "Přehrát %1" + +#: ../python/frescobaldi_app/runlily.py:316 +#, fuzzy +msgid "LilyPond (version unknown)" +msgstr "Vložit číslo verze aplikace LilyPond" + +#: ../python/frescobaldi_app/runlily.py:317 +#, fuzzy +msgid "" +"Use LilyPond (version unknown)\n" +"Path: %1" +msgstr "Vložit číslo verze aplikace LilyPond" + +#: ../python/frescobaldi_app/runlily.py:491 msgid "Click to edit this file" msgstr "Klepněte, abyste mohl upravovat tento soubor" -#: ../python/frescobaldi_app/runlily.py:355 +#: ../python/frescobaldi_app/runlily.py:524 msgid "Save LilyPond Log as" msgstr "Uložit zápis o průběhu činnosti LilyPondu jako" -#: ../python/frescobaldi_app/runlily.py:392 +#: ../python/frescobaldi_app/runlily.py:540 msgid "" "Could not save LilyPond log:\n" "\n" @@ -1825,108 +1934,96 @@ "\n" "%1" -#: ../python/frescobaldi_app/settings.py:49 +#: ../python/frescobaldi_app/settings.py:54 msgid "Configure" msgstr "Nastavit" -#: ../python/frescobaldi_app/settings.py:104 +#: ../python/frescobaldi_app/settings.py:110 msgid "Editor Component" msgstr "Nastavení editoru" -#: ../python/frescobaldi_app/settings.py:105 +#: ../python/frescobaldi_app/settings.py:111 msgid "Editor Component Options" msgstr "Volby pro nastavení editoru" -#: ../python/frescobaldi_app/settings.py:134 +#: ../python/frescobaldi_app/settings.py:140 msgid "General Preferences" msgstr "Obecné volby" -#: ../python/frescobaldi_app/settings.py:135 +#: ../python/frescobaldi_app/settings.py:141 msgid "General Frescobaldi Preferences" msgstr "Obecné volby programu Frescobaldi" -#: ../python/frescobaldi_app/settings.py:140 +#: ../python/frescobaldi_app/settings.py:146 msgid "Save document when LilyPond is run" msgstr "Uložit dokument za běhu LilyPondu" -#: ../python/frescobaldi_app/settings.py:142 +#: ../python/frescobaldi_app/settings.py:148 msgid "Let LilyPond delete intermediate output files" msgstr "Nechat LilyPond mazat prostřední výstupní soubory" -#: ../python/frescobaldi_app/settings.py:144 -msgid "Run LilyPond with verbose output" -msgstr "Spustit LilyPond s upovídaným výstupem" - -#: ../python/frescobaldi_app/settings.py:146 +#: ../python/frescobaldi_app/settings.py:152 msgid "Remember cursor position, bookmarks, etc." msgstr "Zapamatovat si pozici kurzoru, záložky atd." -#: ../python/frescobaldi_app/settings.py:148 +#: ../python/frescobaldi_app/settings.py:154 msgid "Disable the built-in PDF preview" msgstr "Znemožnit vestavěný náhled PDF" -#: ../python/frescobaldi_app/settings.py:165 +#: ../python/frescobaldi_app/settings.py:170 msgid "LilyPond version number to use for new documents" msgstr "Verze programu LilyPond, která se bude používat v nových dokumentech" -#: ../python/frescobaldi_app/settings.py:167 +#: ../python/frescobaldi_app/settings.py:172 msgid "Use version number of installed LilyPond" msgstr "Použít číslo verze nainstalovaného LilyPondu" -#: ../python/frescobaldi_app/settings.py:168 +#: ../python/frescobaldi_app/settings.py:173 msgid "Use version number of last convert-ly rule" msgstr "Použít číslo verze posledního pravidla convert-ly" -#: ../python/frescobaldi_app/settings.py:169 +#: ../python/frescobaldi_app/settings.py:174 msgid "Use custom version number:" msgstr "Použít vlastní číslo verze:" -#: ../python/frescobaldi_app/settings.py:175 +#: ../python/frescobaldi_app/settings.py:179 msgid "Enter a valid LilyPond version number, e.g. 2.12.0" msgstr "Zadat platné číslo verze programu LilyPond, např. 2.12.0" -#: ../python/frescobaldi_app/settings.py:233 +#: ../python/frescobaldi_app/settings.py:234 msgid "Paths" msgstr "Cesty" -#: ../python/frescobaldi_app/settings.py:234 +#: ../python/frescobaldi_app/settings.py:235 msgid "Paths to programs or data used by Frescobaldi" msgstr "Cesty k programům nebo datům používaným programem Frescobaldi" -#: ../python/frescobaldi_app/settings.py:244 -msgid "Name or full path of the LilyPond program." -msgstr "Název nebo úplná cesta k programu LilyPond." - -#: ../python/frescobaldi_app/settings.py:246 -msgid "Name or full path of the convert-ly program." -msgstr "Název nebo úplná cesta k programu convert-ly" - -#: ../python/frescobaldi_app/settings.py:247 +#: ../python/frescobaldi_app/settings.py:249 msgid "PDF Viewer:" msgstr "Prohlížeč PDF:" -#: ../python/frescobaldi_app/settings.py:248 +#: ../python/frescobaldi_app/settings.py:250 msgid "PDF Viewer" msgstr "Prohlížeč PDF" -#: ../python/frescobaldi_app/settings.py:249 -#: ../python/frescobaldi_app/settings.py:252 +#: ../python/frescobaldi_app/settings.py:251 +#: ../python/frescobaldi_app/settings.py:254 msgid "(leave empty for operating system default)" msgstr "(ponechat prázdné pro výchozí nastavení operačního systému)" -#: ../python/frescobaldi_app/settings.py:250 +#: ../python/frescobaldi_app/settings.py:252 msgid "MIDI Player:" msgstr "Přehrávač MIDI:" -#: ../python/frescobaldi_app/settings.py:251 +#: ../python/frescobaldi_app/settings.py:253 msgid "MIDI Player" msgstr "Přehrávač MIDI" -#: ../python/frescobaldi_app/settings.py:253 +#: ../python/frescobaldi_app/settings.py:255 msgid "Printcommand:" msgstr "Tiskový příkaz:" -#: ../python/frescobaldi_app/settings.py:254 +#: ../python/frescobaldi_app/settings.py:256 msgid "" "Command to print a PDF file, for example lpr or kprinter. You may add some " "arguments, e.g. lpr -P myprinter." @@ -1934,23 +2031,23 @@ "Příkaz pro tisk PDF souboru; například lpr nebo kprinter. Můžete přidat " "některé nezávisle proměnné; např. lpr -P myprinter." -#: ../python/frescobaldi_app/settings.py:270 +#: ../python/frescobaldi_app/settings.py:272 msgid "Default directory:" msgstr "Výchozí adresář:" -#: ../python/frescobaldi_app/settings.py:275 +#: ../python/frescobaldi_app/settings.py:277 msgid "The default folder for your LilyPond documents (optional)." msgstr "Výchozí složka pro vaše dokumenty LilyPond (volitelná)." -#: ../python/frescobaldi_app/settings.py:287 +#: ../python/frescobaldi_app/settings.py:288 msgid "LilyPond documentation:" msgstr "Dokumentace k LilyPondu:" -#: ../python/frescobaldi_app/settings.py:292 +#: ../python/frescobaldi_app/settings.py:294 msgid "Url or path to the LilyPond documentation." msgstr "Adresa nebo cesta k dokumentaci programu LilyPond." -#: ../python/frescobaldi_app/settings.py:304 +#: ../python/frescobaldi_app/settings.py:305 msgid "" "Paths to search for hyphenation dictionaries of OpenOffice.org, Scribus, " "KOffice, etc, one per line. If you leave out the starting slash, the " @@ -1961,23 +2058,23 @@ "Jestliže vynecháte počáteční lomítko, jsou na začátek přidány předpony z " "proměnné prostředí KDEDIRS." -#: ../python/frescobaldi_app/settings.py:363 +#: ../python/frescobaldi_app/settings.py:366 msgid "Rumor MIDI input" msgstr "MIDI vstup Rumor" -#: ../python/frescobaldi_app/settings.py:364 +#: ../python/frescobaldi_app/settings.py:367 msgid "Rumor MIDI input plugin settings" msgstr "Nastavení přídavného modulu pro MIDI vstup Rumor" -#: ../python/frescobaldi_app/settings.py:369 +#: ../python/frescobaldi_app/settings.py:372 msgid "Commands used by the Rumor MIDI input module" msgstr "Příkazy používané modulem pro MIDI vstup Rumor" -#: ../python/frescobaldi_app/settings.py:376 +#: ../python/frescobaldi_app/settings.py:379 msgid "Name or full path of the Rumor program." msgstr "Název nebo úplná cesta k programu Rumor." -#: ../python/frescobaldi_app/settings.py:378 +#: ../python/frescobaldi_app/settings.py:381 msgid "" "Name or full path of the aconnect program (part of ALSA, for MIDI input and " "playback using Rumor)." @@ -1985,23 +2082,80 @@ "Název nebo úplná cesta k programu aconnect (část ALSA, určen pro MIDI vstup " "a přehrávání s využitím programu Rumor)." -#: ../python/frescobaldi_app/settings.py:382 +#: ../python/frescobaldi_app/settings.py:385 msgid "" "Full command to start Timidity (or any other program) as an ALSA MIDI client." msgstr "" "Úplný příkaz pro spuštění Timidity (nebo jakéhokoli jiného programu) jako " "ALSA MIDI klienta." -#: ../python/frescobaldi_app/version.py:55 +#: ../python/frescobaldi_app/settings.py:421 +#, fuzzy +msgid "LilyPond versions to use:" +msgstr "Vložit číslo verze aplikace LilyPond" + +#: ../python/frescobaldi_app/settings.py:432 +msgid "" +"Enable automatic version selection (choose LilyPond version from document)" +msgstr "" + +#: ../python/frescobaldi_app/settings.py:558 +msgid "Convert-ly:" +msgstr "" + +#: ../python/frescobaldi_app/settings.py:559 +#, fuzzy +msgid "Lilypond-book:" +msgstr "LilyPond" + +#: ../python/frescobaldi_app/settings.py:595 +#, fuzzy +msgid "Path" +msgstr "Cesty" + +#: ../python/frescobaldi_app/settings.py:596 +#, fuzzy +msgid "Version" +msgstr "Verze" + +#: ../python/frescobaldi_app/settings.py:599 +#, fuzzy +msgid "Can't determine LilyPond version." +msgstr "Vložit číslo verze aplikace LilyPond" + +#: ../python/frescobaldi_app/settings.py:624 +#, fuzzy +msgid "LilyPond Command:" +msgstr "Rejstřík příkazů pro LilyPond" + +#: ../python/frescobaldi_app/settings.py:628 +msgid "Name or full path of the LilyPond program." +msgstr "Název nebo úplná cesta k programu LilyPond." + +#: ../python/frescobaldi_app/settings.py:629 +#, fuzzy +msgid "LilyPond Command" +msgstr "Rejstřík příkazů pro LilyPond" + +#: ../python/frescobaldi_app/settings.py:642 +#, fuzzy +msgid "Set as default" +msgstr "Nastavit nastavení na výchozí." + +#: ../python/frescobaldi_app/settings.py:644 +msgid "Include in automatic version selection" +msgstr "" + +#: ../python/frescobaldi_app/version.py:61 msgid "Your document has already a LilyPond version statement." msgstr "Váš dokument má již uvedenu verzi programu LilyPond." -#: ../python/frescobaldi_app/version.py:56 +#: ../python/frescobaldi_app/version.py:62 msgid "Version already set" msgstr "Verze je již nastavena" -#: ../python/frescobaldi_app/version.py:64 -#: ../python/frescobaldi_app/version.py:82 +#: ../python/frescobaldi_app/version.py:70 +#: ../python/frescobaldi_app/version.py:88 msgid "" "Can't determine the version of LilyPond. Please check your LilyPond " "installation." @@ -2009,7 +2163,7 @@ "Nelze určit verzi programu LilyPond. Zkontrolujte, prosím, vaši instalaci " "programu LilyPond. " -#: ../python/frescobaldi_app/version.py:78 +#: ../python/frescobaldi_app/version.py:84 msgid "" "Can't determine the LilyPond version of the current document. Please add a " "\\version statement with the correct version." @@ -2017,11 +2171,11 @@ "Nelze určit verzi aktuálního dokumentu programu LilyPond. Přidejte, prosím, " "\\správné označení verze." -#: ../python/frescobaldi_app/version.py:86 +#: ../python/frescobaldi_app/version.py:92 msgid "This LilyPond document is already up-to-date." msgstr "Tento LilyPond dokument je již aktuální." -#: ../python/frescobaldi_app/version.py:100 +#: ../python/frescobaldi_app/version.py:105 msgid "" "The document has been processed with convert-ly. You'll find the messages of " "convert-ly in a comment block at the end. You still may have to edit some " @@ -2031,7 +2185,7 @@ "komentáři na konci. Je možnéže ještě budete muset upravovat některé části " "ručně." -#: ../python/frescobaldi_app/version.py:106 +#: ../python/frescobaldi_app/version.py:111 msgid "" "The document has been processed with convert-ly, but remained unchanged. " "This is the message given by convert-ly: %1" @@ -2039,182 +2193,182 @@ "Tento dokument byl zpracován s convert-ly, ale zůstal nezměněn. Toto hlášení " "bylo podáno convert-ly: %1" -#: ../python/frescobaldi_app/version.py:111 +#: ../python/frescobaldi_app/version.py:116 msgid "Could not start convert-ly: %1" msgstr "Nepodařilo sa spustit convert-ly: %1" -#: ../python/frescobaldi_app/widgets.py:46 +#: ../python/frescobaldi_app/widgets.py:47 msgid "Tap" msgstr "Zaťukáním nastavit tempo" -#: ../python/frescobaldi_app/widgets.py:52 +#: ../python/frescobaldi_app/widgets.py:53 msgid "Click this button a few times to set the tempo." msgstr "Klepněte na toto tlačítko několikrát, abyste nastavili tempo." -#: ../python/frescobaldi_app/widgets.py:178 +#: ../python/frescobaldi_app/widgets.py:179 msgid "The tempo in beats per minute." msgstr "Tempo v úderech za minutu." -#: ../python/frescobaldi_app/widgets.py:290 +#: ../python/frescobaldi_app/widgets.py:288 msgid "Treble" msgstr "Houslový klíč" -#: ../python/frescobaldi_app/widgets.py:291 -#: ../python/frescobaldi_app/scorewiz/parts.py:809 +#: ../python/frescobaldi_app/widgets.py:289 +#: ../python/frescobaldi_app/scorewiz/parts.py:812 msgid "Alto" msgstr "Alt" -#: ../python/frescobaldi_app/widgets.py:292 -#: ../python/frescobaldi_app/scorewiz/parts.py:815 +#: ../python/frescobaldi_app/widgets.py:290 +#: ../python/frescobaldi_app/scorewiz/parts.py:818 msgid "Tenor" msgstr "Tenor" -#: ../python/frescobaldi_app/widgets.py:293 +#: ../python/frescobaldi_app/widgets.py:291 msgid "Treble 8" msgstr "Houslový klíč 8" -#: ../python/frescobaldi_app/widgets.py:294 -#: ../python/frescobaldi_app/scorewiz/parts.py:585 -#: ../python/frescobaldi_app/scorewiz/parts.py:822 +#: ../python/frescobaldi_app/widgets.py:292 +#: ../python/frescobaldi_app/scorewiz/parts.py:588 +#: ../python/frescobaldi_app/scorewiz/parts.py:825 msgid "Bass" msgstr "Basová kytara" -#: ../python/frescobaldi_app/widgets.py:295 -#: ../python/frescobaldi_app/scorewiz/parts.py:1402 +#: ../python/frescobaldi_app/widgets.py:293 +#: ../python/frescobaldi_app/scorewiz/parts.py:1512 msgid "Percussion" msgstr "Bicí nástroje" -#: ../python/frescobaldi_app/widgets.py:298 +#: ../python/frescobaldi_app/widgets.py:296 msgid "Tab clef" msgstr "Tabulaturový klíč" -#: ../python/frescobaldi_app/widgets.py:300 +#: ../python/frescobaldi_app/widgets.py:298 msgid "No Clef" msgstr "Žádný klíč" -#: ../python/frescobaldi_app/scorewiz/__init__.py:68 +#: ../python/frescobaldi_app/scorewiz/__init__.py:62 msgid "Score Setup Wizard" msgstr "Kouzelník pro způsob uspořádání notového zápisu" -#: ../python/frescobaldi_app/scorewiz/__init__.py:137 +#: ../python/frescobaldi_app/scorewiz/__init__.py:133 msgid "Titles and Headers" msgstr "Názvy a hlavičky" -#: ../python/frescobaldi_app/scorewiz/__init__.py:155 +#: ../python/frescobaldi_app/scorewiz/__init__.py:151 msgid "Click to enter a value." msgstr "Klepněte pro zadání hodnoty" -#: ../python/frescobaldi_app/scorewiz/__init__.py:157 +#: ../python/frescobaldi_app/scorewiz/__init__.py:153 msgid "bottom of first page" msgstr "úpatí první strany" -#: ../python/frescobaldi_app/scorewiz/__init__.py:158 +#: ../python/frescobaldi_app/scorewiz/__init__.py:154 msgid "bottom of last page" msgstr "úpatí poslední strany" -#: ../python/frescobaldi_app/scorewiz/__init__.py:201 +#: ../python/frescobaldi_app/scorewiz/__init__.py:194 msgid "Parts" msgstr "Party" -#: ../python/frescobaldi_app/scorewiz/__init__.py:206 +#: ../python/frescobaldi_app/scorewiz/__init__.py:199 msgid "Available parts:" msgstr "Dostupné party:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:209 +#: ../python/frescobaldi_app/scorewiz/__init__.py:202 msgid "Add selected part to your score." msgstr "Přidat vybraný part do notového zápisu" -#: ../python/frescobaldi_app/scorewiz/__init__.py:214 +#: ../python/frescobaldi_app/scorewiz/__init__.py:207 msgid "Score:" msgstr "Notový zápis:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:348 -#: ../python/frescobaldi_app/scorewiz/__init__.py:353 +#: ../python/frescobaldi_app/scorewiz/__init__.py:341 +#: ../python/frescobaldi_app/scorewiz/__init__.py:346 msgid "Score settings" msgstr "Nastavení notového zápisu" -#: ../python/frescobaldi_app/scorewiz/__init__.py:360 +#: ../python/frescobaldi_app/scorewiz/__init__.py:353 msgid "General preferences" msgstr "Obecné volby" -#: ../python/frescobaldi_app/scorewiz/__init__.py:362 +#: ../python/frescobaldi_app/scorewiz/__init__.py:355 msgid "Instrument names" msgstr "Názvy nástrojů" -#: ../python/frescobaldi_app/scorewiz/__init__.py:369 +#: ../python/frescobaldi_app/scorewiz/__init__.py:362 msgid "Key signature:" msgstr "Předznamenání" -#: ../python/frescobaldi_app/scorewiz/__init__.py:377 +#: ../python/frescobaldi_app/scorewiz/__init__.py:370 msgid "Time signature:" msgstr "Taktové označení:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:393 +#: ../python/frescobaldi_app/scorewiz/__init__.py:386 msgid "Pickup measure:" msgstr "Předtaktí:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:405 +#: ../python/frescobaldi_app/scorewiz/__init__.py:398 msgid "Metronome mark:" msgstr "Hodnota na metronomu:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:434 +#: ../python/frescobaldi_app/scorewiz/__init__.py:427 msgid "Tempo indication:" msgstr "Údaj o tempu:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:438 +#: ../python/frescobaldi_app/scorewiz/__init__.py:431 msgid "A tempo indication, e.g. \"Allegro.\"" msgstr "Údaj o tempu. Např. \"Allegro.\"" -#: ../python/frescobaldi_app/scorewiz/__init__.py:444 +#: ../python/frescobaldi_app/scorewiz/__init__.py:437 msgid "Pitch name language:" msgstr "Jazyk názvu polohy tónu:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:452 +#: ../python/frescobaldi_app/scorewiz/__init__.py:445 msgid "The LilyPond language you want to use for the pitch names." msgstr "Jazyk programu LilyPond, který chcete použít pro názvy výšek tónů." -#: ../python/frescobaldi_app/scorewiz/__init__.py:469 +#: ../python/frescobaldi_app/scorewiz/__init__.py:451 msgid "Version:" msgstr "Verze" -#: ../python/frescobaldi_app/scorewiz/__init__.py:478 +#: ../python/frescobaldi_app/scorewiz/__init__.py:460 msgid "The LilyPond version you will be using for this document." msgstr "Verze programu LilyPond, kterou budete používat v tomto dokumentu." -#: ../python/frescobaldi_app/scorewiz/__init__.py:482 +#: ../python/frescobaldi_app/scorewiz/__init__.py:464 msgid "Use typographical quotes" msgstr "Použít typografické uvozovky" -#: ../python/frescobaldi_app/scorewiz/__init__.py:484 +#: ../python/frescobaldi_app/scorewiz/__init__.py:466 msgid "Replace normal quotes in titles with nice typographical quotes." msgstr "Nahradit normální uvozovky v názvech hezkými typografickými uvozovkami" -#: ../python/frescobaldi_app/scorewiz/__init__.py:488 +#: ../python/frescobaldi_app/scorewiz/__init__.py:470 msgid "Suppress the default tagline output by LilyPond." msgstr "Potlačit výstup výchozího motta pomocí LilyPondu" -#: ../python/frescobaldi_app/scorewiz/__init__.py:490 +#: ../python/frescobaldi_app/scorewiz/__init__.py:472 msgid "Remove bar numbers" msgstr "Odstranit čísla taktů" -#: ../python/frescobaldi_app/scorewiz/__init__.py:492 +#: ../python/frescobaldi_app/scorewiz/__init__.py:474 msgid "" "Suppress the display of measure numbers at the beginning of every system." msgstr "Potlačit zobrazení čísel taktů na začátku každé osnovy." -#: ../python/frescobaldi_app/scorewiz/__init__.py:495 +#: ../python/frescobaldi_app/scorewiz/__init__.py:477 msgid "Create MIDI output" msgstr "Vytvořit MIDI výstup" -#: ../python/frescobaldi_app/scorewiz/__init__.py:497 +#: ../python/frescobaldi_app/scorewiz/__init__.py:479 msgid "Create a MIDI file in addition to the PDF file." msgstr "Vytvořit soubor MIDI vedle souboru PDF." -#: ../python/frescobaldi_app/scorewiz/__init__.py:499 +#: ../python/frescobaldi_app/scorewiz/__init__.py:481 msgid "Show metronome mark" msgstr "Ukázat hodnotu na metronomu" -#: ../python/frescobaldi_app/scorewiz/__init__.py:501 +#: ../python/frescobaldi_app/scorewiz/__init__.py:483 msgid "" "If checked, show the metronome mark at the beginning of the score. The MIDI " "output also uses the metronome setting." @@ -2222,150 +2376,158 @@ "V případě, že je zaškrtnuto, hodnota na metronomu se ukáže na začátku " "notového zápisu. MIDI výstup používá nastavení metronomu také." -#: ../python/frescobaldi_app/scorewiz/__init__.py:512 +#: ../python/frescobaldi_app/scorewiz/__init__.py:487 +msgid "Wrap score in \\book block" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/__init__.py:489 +msgid "If checked, wraps the \\score block inside a \\book block." +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/__init__.py:499 msgid "Landscape" msgstr "Formát na šířku" -#: ../python/frescobaldi_app/scorewiz/__init__.py:526 +#: ../python/frescobaldi_app/scorewiz/__init__.py:511 msgid "First system:" msgstr "První systém:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:529 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/scorewiz/__init__.py:514 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "Long" msgstr "Dlouhý" -#: ../python/frescobaldi_app/scorewiz/__init__.py:529 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/scorewiz/__init__.py:514 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "Short" msgstr "Krátký" -#: ../python/frescobaldi_app/scorewiz/__init__.py:531 +#: ../python/frescobaldi_app/scorewiz/__init__.py:516 msgid "Use long or short instrument names before the first system." msgstr "Požít dlouhé nebo krátké názvy nástrojů před první osnovou." -#: ../python/frescobaldi_app/scorewiz/__init__.py:535 +#: ../python/frescobaldi_app/scorewiz/__init__.py:520 msgid "Other systems:" msgstr "Jiné osnovy:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:540 +#: ../python/frescobaldi_app/scorewiz/__init__.py:525 msgid "Use short, long or no instrument names before the next systems." msgstr "Požít krátké, dlouhé nebo žádné názvy nástrojů před dalšími osnovami." -#: ../python/frescobaldi_app/scorewiz/__init__.py:548 +#: ../python/frescobaldi_app/scorewiz/__init__.py:533 msgid "Which language to use for the instrument names." msgstr "Jaký použít jazyk pro názvy nástrojů." -#: ../python/frescobaldi_app/scorewiz/__init__.py:726 +#: ../python/frescobaldi_app/scorewiz/__init__.py:736 msgid "Remove default LilyPond tagline" msgstr "Odstranit výchozí motto programu LilyPond" -#: ../python/frescobaldi_app/scorewiz/__init__.py:1040 +#: ../python/frescobaldi_app/scorewiz/__init__.py:1077 msgid "No settings available." msgstr "Nejsou dostupná žádná nastavení." -#: ../python/frescobaldi_app/scorewiz/parts.py:50 +#: ../python/frescobaldi_app/scorewiz/parts.py:54 msgid "Voices:" msgstr "Pěvecké hlasy:" -#: ../python/frescobaldi_app/scorewiz/parts.py:55 +#: ../python/frescobaldi_app/scorewiz/parts.py:59 msgid "How many voices to put in this staff." msgstr "Kolik hlasů umístit do této notové osnovy." -#: ../python/frescobaldi_app/scorewiz/parts.py:93 +#: ../python/frescobaldi_app/scorewiz/parts.py:97 msgid "Music follows here." msgstr "Hudba následuje zde." -#: ../python/frescobaldi_app/scorewiz/parts.py:160 +#: ../python/frescobaldi_app/scorewiz/parts.py:164 msgid "Staff type:" msgstr "Druh notové osnovy:" -#: ../python/frescobaldi_app/scorewiz/parts.py:164 +#: ../python/frescobaldi_app/scorewiz/parts.py:168 msgid "Normal staff" msgstr "Normální notová osnova" -#: ../python/frescobaldi_app/scorewiz/parts.py:165 +#: ../python/frescobaldi_app/scorewiz/parts.py:169 msgid "Tablature" msgstr "Tabulatura" -#: ../python/frescobaldi_app/scorewiz/parts.py:166 +#: ../python/frescobaldi_app/scorewiz/parts.py:170 msgid "Both" msgstr "Oba" -#: ../python/frescobaldi_app/scorewiz/parts.py:177 +#: ../python/frescobaldi_app/scorewiz/parts.py:180 msgid "Tuning:" msgstr "Intonace:" -#: ../python/frescobaldi_app/scorewiz/parts.py:298 +#: ../python/frescobaldi_app/scorewiz/parts.py:301 msgid "Lyrics follow here." msgstr "Zde následují slova písně." -#: ../python/frescobaldi_app/scorewiz/parts.py:309 +#: ../python/frescobaldi_app/scorewiz/parts.py:312 msgid "Stanzas:" msgstr "Sloka:" -#: ../python/frescobaldi_app/scorewiz/parts.py:313 +#: ../python/frescobaldi_app/scorewiz/parts.py:316 msgid "The number of stanzas." msgstr "Počet slok:" -#: ../python/frescobaldi_app/scorewiz/parts.py:316 +#: ../python/frescobaldi_app/scorewiz/parts.py:319 msgid "Ambitus" msgstr "Hlasový rozsah" -#: ../python/frescobaldi_app/scorewiz/parts.py:319 +#: ../python/frescobaldi_app/scorewiz/parts.py:322 msgid "Show the pitch range of the voice at the beginning of the staff." msgstr "Ukázat výšku hlasového rozsahu na začátku notové osnovy." -#: ../python/frescobaldi_app/scorewiz/parts.py:383 +#: ../python/frescobaldi_app/scorewiz/parts.py:386 msgid "Adjust how many separate voices you want on each staff." msgstr "Nastavit, kolik oddělených hlasů chcete mít na každé notové osnově." -#: ../python/frescobaldi_app/scorewiz/parts.py:384 +#: ../python/frescobaldi_app/scorewiz/parts.py:387 msgid "This is primarily useful when you write polyphonic music like a fuge." msgstr "Toto je užitečné zejména, když píšete polyfonní hudbu, jakou je fuga." -#: ../python/frescobaldi_app/scorewiz/parts.py:388 +#: ../python/frescobaldi_app/scorewiz/parts.py:391 msgid "Right hand:" msgstr "Pravá ruka:" -#: ../python/frescobaldi_app/scorewiz/parts.py:389 +#: ../python/frescobaldi_app/scorewiz/parts.py:392 msgid "Left hand:" msgstr "Levá ruka:" -#: ../python/frescobaldi_app/scorewiz/parts.py:408 -#: ../python/frescobaldi_app/scorewiz/parts.py:895 +#: ../python/frescobaldi_app/scorewiz/parts.py:411 +#: ../python/frescobaldi_app/scorewiz/parts.py:898 msgid "Chord names" msgstr "Názvy akordů" -#: ../python/frescobaldi_app/scorewiz/parts.py:420 +#: ../python/frescobaldi_app/scorewiz/parts.py:423 msgid "Chords follow here." msgstr "Zde následují akordy." -#: ../python/frescobaldi_app/scorewiz/parts.py:432 +#: ../python/frescobaldi_app/scorewiz/parts.py:435 msgid "Chord style:" msgstr "Akordový styl:" -#: ../python/frescobaldi_app/scorewiz/parts.py:437 +#: ../python/frescobaldi_app/scorewiz/parts.py:440 msgid "German" msgstr "německý" -#: ../python/frescobaldi_app/scorewiz/parts.py:438 +#: ../python/frescobaldi_app/scorewiz/parts.py:441 msgid "Semi-German" msgstr "na půl německý" -#: ../python/frescobaldi_app/scorewiz/parts.py:439 +#: ../python/frescobaldi_app/scorewiz/parts.py:442 msgid "Italian" msgstr "italský" -#: ../python/frescobaldi_app/scorewiz/parts.py:440 +#: ../python/frescobaldi_app/scorewiz/parts.py:443 msgid "French" msgstr "francouzský" -#: ../python/frescobaldi_app/scorewiz/parts.py:441 +#: ../python/frescobaldi_app/scorewiz/parts.py:444 msgid "Guitar fret diagrams" msgstr "Kytarové hmaty" -#: ../python/frescobaldi_app/scorewiz/parts.py:443 +#: ../python/frescobaldi_app/scorewiz/parts.py:446 msgid "" "Show predefined guitar fret diagrams below the chord names (LilyPond 2.12 " "and above)." @@ -2373,392 +2535,392 @@ "Ukázat přednastavené kytarové hmaty pod názvy akordů (LilyPond 2.12 a a " "vyšší)." -#: ../python/frescobaldi_app/scorewiz/parts.py:449 +#: ../python/frescobaldi_app/scorewiz/parts.py:452 msgid "Figured Bass" msgstr "Číslovaný bas (generální bas, basso continuo)" -#: ../python/frescobaldi_app/scorewiz/parts.py:457 -#: ../python/frescobaldi_app/scorewiz/parts.py:516 +#: ../python/frescobaldi_app/scorewiz/parts.py:460 +#: ../python/frescobaldi_app/scorewiz/parts.py:519 msgid "Figures follow here." msgstr "Zde následují čísla." -#: ../python/frescobaldi_app/scorewiz/parts.py:464 +#: ../python/frescobaldi_app/scorewiz/parts.py:467 msgid "Use extender lines" msgstr "Použít pomocné linky" -#: ../python/frescobaldi_app/scorewiz/parts.py:469 +#: ../python/frescobaldi_app/scorewiz/parts.py:472 msgid "Violin" msgstr "Housle" -#: ../python/frescobaldi_app/scorewiz/parts.py:470 +#: ../python/frescobaldi_app/scorewiz/parts.py:473 msgid "Violin|Vl." msgstr "Housle|Hle." -#: ../python/frescobaldi_app/scorewiz/parts.py:475 +#: ../python/frescobaldi_app/scorewiz/parts.py:478 msgid "Viola" msgstr "Viola" -#: ../python/frescobaldi_app/scorewiz/parts.py:476 +#: ../python/frescobaldi_app/scorewiz/parts.py:479 msgid "Viola|Vla." msgstr "Viola|Vla.|" -#: ../python/frescobaldi_app/scorewiz/parts.py:483 +#: ../python/frescobaldi_app/scorewiz/parts.py:486 msgid "Cello" msgstr "Violoncello" -#: ../python/frescobaldi_app/scorewiz/parts.py:484 +#: ../python/frescobaldi_app/scorewiz/parts.py:487 msgid "Cello|Cl." msgstr "Violoncello|Vlo." -#: ../python/frescobaldi_app/scorewiz/parts.py:491 +#: ../python/frescobaldi_app/scorewiz/parts.py:494 msgid "Contrabass" msgstr "Kontrabas" -#: ../python/frescobaldi_app/scorewiz/parts.py:492 +#: ../python/frescobaldi_app/scorewiz/parts.py:495 msgid "Contrabass|Cb." msgstr "Kontrabas|Kbas" -#: ../python/frescobaldi_app/scorewiz/parts.py:499 +#: ../python/frescobaldi_app/scorewiz/parts.py:502 msgid "Basso continuo" msgstr "Generální bas (Basso continuo)" -#: ../python/frescobaldi_app/scorewiz/parts.py:500 +#: ../python/frescobaldi_app/scorewiz/parts.py:503 msgid "Basso Continuo|B.c." msgstr "Generální bas (Basso continuo)|G. b." -#: ../python/frescobaldi_app/scorewiz/parts.py:522 +#: ../python/frescobaldi_app/scorewiz/parts.py:525 msgid "Mandolin" msgstr "Mandolína" -#: ../python/frescobaldi_app/scorewiz/parts.py:523 +#: ../python/frescobaldi_app/scorewiz/parts.py:526 msgid "Mandolin|Mdl." msgstr "Mandolína|Mna" -#: ../python/frescobaldi_app/scorewiz/parts.py:526 +#: ../python/frescobaldi_app/scorewiz/parts.py:529 msgid "Mandolin tuning" msgstr "Ladění mandolíny" -#: ../python/frescobaldi_app/scorewiz/parts.py:531 +#: ../python/frescobaldi_app/scorewiz/parts.py:534 msgid "Banjo" msgstr "Bendžo" -#: ../python/frescobaldi_app/scorewiz/parts.py:532 +#: ../python/frescobaldi_app/scorewiz/parts.py:535 msgid "Banjo|Bj." msgstr "Bendžo|Bžo." -#: ../python/frescobaldi_app/scorewiz/parts.py:536 +#: ../python/frescobaldi_app/scorewiz/parts.py:539 msgid "Open G-tuning (aDGBD)" msgstr "Otevřít ladění v G (aDGBD)" -#: ../python/frescobaldi_app/scorewiz/parts.py:537 +#: ../python/frescobaldi_app/scorewiz/parts.py:540 msgid "C-tuning (gCGBD)" msgstr "Ladění v C (gCGBD)" -#: ../python/frescobaldi_app/scorewiz/parts.py:538 +#: ../python/frescobaldi_app/scorewiz/parts.py:541 msgid "Modal tuning (gDGCD)" msgstr "Modální ladění (gDGCD)" -#: ../python/frescobaldi_app/scorewiz/parts.py:539 +#: ../python/frescobaldi_app/scorewiz/parts.py:542 msgid "Open D-tuning (aDF#AD)" msgstr "Otevřít ladění v D (aDF#AD)" -#: ../python/frescobaldi_app/scorewiz/parts.py:540 +#: ../python/frescobaldi_app/scorewiz/parts.py:543 msgid "Open Dm-tuning (aDFAD)" msgstr "Otevřít ladění v D moll (aDFAD)" -#: ../python/frescobaldi_app/scorewiz/parts.py:544 +#: ../python/frescobaldi_app/scorewiz/parts.py:547 msgid "Four strings (instead of five)" msgstr "Čtyři smyčce (namísto pěti)" -#: ../python/frescobaldi_app/scorewiz/parts.py:561 +#: ../python/frescobaldi_app/scorewiz/parts.py:564 msgid "Classical guitar" msgstr "Klasická kytara" -#: ../python/frescobaldi_app/scorewiz/parts.py:562 +#: ../python/frescobaldi_app/scorewiz/parts.py:565 msgid "Guitar|Gt." msgstr "Kytara|Kra." -#: ../python/frescobaldi_app/scorewiz/parts.py:566 +#: ../python/frescobaldi_app/scorewiz/parts.py:569 msgid "Guitar tuning" msgstr "Kytarové ladění" -#: ../python/frescobaldi_app/scorewiz/parts.py:567 +#: ../python/frescobaldi_app/scorewiz/parts.py:570 msgid "Open G-tuning" msgstr "Otevřít ladění v G" -#: ../python/frescobaldi_app/scorewiz/parts.py:579 +#: ../python/frescobaldi_app/scorewiz/parts.py:582 msgid "Jazz guitar" msgstr "Džezová kytara" -#: ../python/frescobaldi_app/scorewiz/parts.py:580 +#: ../python/frescobaldi_app/scorewiz/parts.py:583 msgid "Jazz guitar|J.Gt." msgstr "Džezová kytara|Dž. kra." -#: ../python/frescobaldi_app/scorewiz/parts.py:586 +#: ../python/frescobaldi_app/scorewiz/parts.py:589 msgid "Bass|Bs." msgstr "Basová kytara|Bs. kra." -#: ../python/frescobaldi_app/scorewiz/parts.py:591 +#: ../python/frescobaldi_app/scorewiz/parts.py:594 msgid "Bass tuning" msgstr "Basové ladění" -#: ../python/frescobaldi_app/scorewiz/parts.py:596 +#: ../python/frescobaldi_app/scorewiz/parts.py:599 msgid "Electric bass" msgstr "Elektrická basová kytara" -#: ../python/frescobaldi_app/scorewiz/parts.py:597 +#: ../python/frescobaldi_app/scorewiz/parts.py:600 msgid "Electric bass|E.Bs." msgstr "Elektrická basová kytara|El. bs. kra." -#: ../python/frescobaldi_app/scorewiz/parts.py:602 +#: ../python/frescobaldi_app/scorewiz/parts.py:605 msgid "Harp" msgstr "Harfa" -#: ../python/frescobaldi_app/scorewiz/parts.py:603 +#: ../python/frescobaldi_app/scorewiz/parts.py:606 msgid "Harp|Hp." msgstr "Harfa|Hfa." -#: ../python/frescobaldi_app/scorewiz/parts.py:618 +#: ../python/frescobaldi_app/scorewiz/parts.py:621 msgid "Upper staff:" msgstr "Horní notová osnova:" -#: ../python/frescobaldi_app/scorewiz/parts.py:619 +#: ../python/frescobaldi_app/scorewiz/parts.py:622 msgid "Lower staff:" msgstr "Dolní notová osnova:" -#: ../python/frescobaldi_app/scorewiz/parts.py:623 +#: ../python/frescobaldi_app/scorewiz/parts.py:626 msgid "Flute" msgstr "Flétna" -#: ../python/frescobaldi_app/scorewiz/parts.py:624 +#: ../python/frescobaldi_app/scorewiz/parts.py:627 msgid "Flute|Fl." msgstr "Flétna|Fl." -#: ../python/frescobaldi_app/scorewiz/parts.py:629 +#: ../python/frescobaldi_app/scorewiz/parts.py:632 msgid "Piccolo" msgstr "Pikola" -#: ../python/frescobaldi_app/scorewiz/parts.py:630 +#: ../python/frescobaldi_app/scorewiz/parts.py:633 msgid "Piccolo|Pic." msgstr "Pikola|Pik." -#: ../python/frescobaldi_app/scorewiz/parts.py:636 +#: ../python/frescobaldi_app/scorewiz/parts.py:639 msgid "Bass flute" msgstr "Basová flétna" -#: ../python/frescobaldi_app/scorewiz/parts.py:637 +#: ../python/frescobaldi_app/scorewiz/parts.py:640 msgid "Bass flute|Bfl." msgstr "Basová flétna|Bs. fl." -#: ../python/frescobaldi_app/scorewiz/parts.py:643 +#: ../python/frescobaldi_app/scorewiz/parts.py:646 msgid "Oboe" msgstr "Hoboj" -#: ../python/frescobaldi_app/scorewiz/parts.py:644 +#: ../python/frescobaldi_app/scorewiz/parts.py:647 msgid "Oboe|Ob." msgstr "Hoboj|Hob." -#: ../python/frescobaldi_app/scorewiz/parts.py:649 +#: ../python/frescobaldi_app/scorewiz/parts.py:652 msgid "Oboe d'Amore" msgstr "Hoboj d'amore" -#: ../python/frescobaldi_app/scorewiz/parts.py:650 +#: ../python/frescobaldi_app/scorewiz/parts.py:653 msgid "Oboe d'amore|Ob.d'am." msgstr "Hoboj d'amore|Hob. d'am." -#: ../python/frescobaldi_app/scorewiz/parts.py:656 +#: ../python/frescobaldi_app/scorewiz/parts.py:659 msgid "English Horn" msgstr "Anglický roh" -#: ../python/frescobaldi_app/scorewiz/parts.py:657 +#: ../python/frescobaldi_app/scorewiz/parts.py:660 msgid "English horn|Eng.h." msgstr "Anglický roh|A. roh" -#: ../python/frescobaldi_app/scorewiz/parts.py:663 +#: ../python/frescobaldi_app/scorewiz/parts.py:666 msgid "Bassoon" msgstr "Fagot" -#: ../python/frescobaldi_app/scorewiz/parts.py:664 +#: ../python/frescobaldi_app/scorewiz/parts.py:667 msgid "Bassoon|Bn." msgstr "Fagot|Fag." -#: ../python/frescobaldi_app/scorewiz/parts.py:671 +#: ../python/frescobaldi_app/scorewiz/parts.py:674 msgid "Contrabassoon" msgstr "Kontrafagot" -#: ../python/frescobaldi_app/scorewiz/parts.py:672 +#: ../python/frescobaldi_app/scorewiz/parts.py:675 msgid "Contrabassoon|C.Bn." msgstr "Kontrafagot|Kfag." -#: ../python/frescobaldi_app/scorewiz/parts.py:680 +#: ../python/frescobaldi_app/scorewiz/parts.py:683 msgid "Clarinet" msgstr "Klarinet" -#: ../python/frescobaldi_app/scorewiz/parts.py:681 +#: ../python/frescobaldi_app/scorewiz/parts.py:684 msgid "Clarinet|Cl." msgstr "Klarinet|Kl." -#: ../python/frescobaldi_app/scorewiz/parts.py:687 +#: ../python/frescobaldi_app/scorewiz/parts.py:690 msgid "Sopranino Sax" msgstr "Sopraninový saxofon" -#: ../python/frescobaldi_app/scorewiz/parts.py:688 +#: ../python/frescobaldi_app/scorewiz/parts.py:691 msgid "Sopranino Sax|SiSx." msgstr "Sopraninový saxofon|Snino Sax." -#: ../python/frescobaldi_app/scorewiz/parts.py:694 +#: ../python/frescobaldi_app/scorewiz/parts.py:697 msgid "Soprano Sax" msgstr "Sopránový saxofon" -#: ../python/frescobaldi_app/scorewiz/parts.py:695 +#: ../python/frescobaldi_app/scorewiz/parts.py:698 msgid "Soprano Sax|SoSx." msgstr "Sopránový saxofon|Sno Sax." -#: ../python/frescobaldi_app/scorewiz/parts.py:701 +#: ../python/frescobaldi_app/scorewiz/parts.py:704 msgid "Alto Sax" msgstr "Altový saxofon" -#: ../python/frescobaldi_app/scorewiz/parts.py:702 +#: ../python/frescobaldi_app/scorewiz/parts.py:705 msgid "Alto Sax|ASx." msgstr "Altový saxofon|A. Sax." -#: ../python/frescobaldi_app/scorewiz/parts.py:708 +#: ../python/frescobaldi_app/scorewiz/parts.py:711 msgid "Tenor Sax" msgstr "Tenorový saxofon" -#: ../python/frescobaldi_app/scorewiz/parts.py:709 +#: ../python/frescobaldi_app/scorewiz/parts.py:712 msgid "Tenor Sax|TSx." msgstr "Tenorový saxofon|T. Sax." -#: ../python/frescobaldi_app/scorewiz/parts.py:715 +#: ../python/frescobaldi_app/scorewiz/parts.py:718 msgid "Baritone Sax" msgstr "Barytonový saxofon" -#: ../python/frescobaldi_app/scorewiz/parts.py:716 +#: ../python/frescobaldi_app/scorewiz/parts.py:719 msgid "Baritone Sax|BSx." msgstr "Barytonový saxofon|Bar. Sax." -#: ../python/frescobaldi_app/scorewiz/parts.py:722 +#: ../python/frescobaldi_app/scorewiz/parts.py:725 msgid "Bass Sax" msgstr "Basový saxofon" -#: ../python/frescobaldi_app/scorewiz/parts.py:723 +#: ../python/frescobaldi_app/scorewiz/parts.py:726 msgid "Bass Sax|BsSx." msgstr "Basový saxofon|Bas. Sax." -#: ../python/frescobaldi_app/scorewiz/parts.py:729 +#: ../python/frescobaldi_app/scorewiz/parts.py:732 msgid "Soprano recorder" msgstr "Sopránová zobcová flétna" -#: ../python/frescobaldi_app/scorewiz/parts.py:730 +#: ../python/frescobaldi_app/scorewiz/parts.py:733 msgid "Soprano recorder|S.rec." msgstr "Sopránová zobcová flétna|S. z. fl." -#: ../python/frescobaldi_app/scorewiz/parts.py:736 +#: ../python/frescobaldi_app/scorewiz/parts.py:739 msgid "Alto recorder" msgstr "Altová zobcová flétna" -#: ../python/frescobaldi_app/scorewiz/parts.py:737 +#: ../python/frescobaldi_app/scorewiz/parts.py:740 msgid "Alto recorder|A.rec." msgstr "Altová zobcová flétna|A. z. fl." -#: ../python/frescobaldi_app/scorewiz/parts.py:742 +#: ../python/frescobaldi_app/scorewiz/parts.py:745 msgid "Tenor recorder" msgstr "Tenorová zobcová flétna" -#: ../python/frescobaldi_app/scorewiz/parts.py:743 +#: ../python/frescobaldi_app/scorewiz/parts.py:746 msgid "Tenor recorder|T.rec." msgstr "Tenorová zobcová flétna|T. z. fl." -#: ../python/frescobaldi_app/scorewiz/parts.py:748 +#: ../python/frescobaldi_app/scorewiz/parts.py:751 msgid "Bass recorder" msgstr "Basová zobcová flétna" -#: ../python/frescobaldi_app/scorewiz/parts.py:749 +#: ../python/frescobaldi_app/scorewiz/parts.py:752 msgid "Bass recorder|B.rec." msgstr "Basová zobcová flétna|Bas. z. fl." -#: ../python/frescobaldi_app/scorewiz/parts.py:756 +#: ../python/frescobaldi_app/scorewiz/parts.py:759 msgid "Horn in F" msgstr "Trubka v F" -#: ../python/frescobaldi_app/scorewiz/parts.py:757 +#: ../python/frescobaldi_app/scorewiz/parts.py:760 msgid "Horn in F|Hn.F." msgstr "Trubka v F|Tr. F" -#: ../python/frescobaldi_app/scorewiz/parts.py:763 +#: ../python/frescobaldi_app/scorewiz/parts.py:766 msgid "Trumpet in C" msgstr "Trubka v C" -#: ../python/frescobaldi_app/scorewiz/parts.py:764 +#: ../python/frescobaldi_app/scorewiz/parts.py:767 msgid "Trumpet in C|Tr.C" msgstr "Trubka v C|Tr. C" -#: ../python/frescobaldi_app/scorewiz/parts.py:769 +#: ../python/frescobaldi_app/scorewiz/parts.py:772 msgid "Trumpet in Bb" msgstr "Trubka v B" -#: ../python/frescobaldi_app/scorewiz/parts.py:770 +#: ../python/frescobaldi_app/scorewiz/parts.py:773 msgid "Trumpet in Bb|Tr.Bb" msgstr "Trubka v B|Tr. B|" -#: ../python/frescobaldi_app/scorewiz/parts.py:775 +#: ../python/frescobaldi_app/scorewiz/parts.py:778 msgid "Trombone" msgstr "Pozoun" -#: ../python/frescobaldi_app/scorewiz/parts.py:776 +#: ../python/frescobaldi_app/scorewiz/parts.py:779 msgid "Trombone|Trb." msgstr "Pozoun|Poz" -#: ../python/frescobaldi_app/scorewiz/parts.py:783 +#: ../python/frescobaldi_app/scorewiz/parts.py:786 msgid "Tuba" msgstr "Tuba" -#: ../python/frescobaldi_app/scorewiz/parts.py:784 +#: ../python/frescobaldi_app/scorewiz/parts.py:787 msgid "Tuba|Tb." msgstr "Tuba|Tb." -#: ../python/frescobaldi_app/scorewiz/parts.py:790 +#: ../python/frescobaldi_app/scorewiz/parts.py:793 msgid "Bass Tuba" msgstr "Basová tuba" -#: ../python/frescobaldi_app/scorewiz/parts.py:791 +#: ../python/frescobaldi_app/scorewiz/parts.py:794 msgid "Bass Tuba|B.Tb." msgstr "Basová tuba|B.Tb." -#: ../python/frescobaldi_app/scorewiz/parts.py:799 +#: ../python/frescobaldi_app/scorewiz/parts.py:802 msgid "Soprano" msgstr "Soprán" -#: ../python/frescobaldi_app/scorewiz/parts.py:800 +#: ../python/frescobaldi_app/scorewiz/parts.py:803 msgid "Soprano|S." msgstr "Soprán|S." -#: ../python/frescobaldi_app/scorewiz/parts.py:804 +#: ../python/frescobaldi_app/scorewiz/parts.py:807 msgid "Mezzo soprano" msgstr "Mezzosoprán" -#: ../python/frescobaldi_app/scorewiz/parts.py:805 +#: ../python/frescobaldi_app/scorewiz/parts.py:808 msgid "Mezzo-soprano|Ms." msgstr "Mezzosoprán|Ms." -#: ../python/frescobaldi_app/scorewiz/parts.py:810 +#: ../python/frescobaldi_app/scorewiz/parts.py:813 msgid "Alto|A." msgstr "Alt|A." -#: ../python/frescobaldi_app/scorewiz/parts.py:816 +#: ../python/frescobaldi_app/scorewiz/parts.py:819 msgid "Tenor|T." msgstr "Tenor|T." -#: ../python/frescobaldi_app/scorewiz/parts.py:823 +#: ../python/frescobaldi_app/scorewiz/parts.py:826 msgid "Bass|B." msgstr "Bas|B." -#: ../python/frescobaldi_app/scorewiz/parts.py:829 +#: ../python/frescobaldi_app/scorewiz/parts.py:832 msgid "Lead sheet" msgstr "Hlavní list" -#: ../python/frescobaldi_app/scorewiz/parts.py:891 +#: ../python/frescobaldi_app/scorewiz/parts.py:894 msgid "" "The Lead Sheet provides a staff with chord names above and lyrics below it. " "A second staff is optional." @@ -2766,11 +2928,11 @@ "Hlavní list poskytuje notovou osnovu s názvy akordů nad ní a slovy písně pod " "ní. Druhá notová osnova je volitelná." -#: ../python/frescobaldi_app/scorewiz/parts.py:902 +#: ../python/frescobaldi_app/scorewiz/parts.py:905 msgid "Add accompaniment staff" msgstr "Přidat notovou osnovu hudebního doprovodu" -#: ../python/frescobaldi_app/scorewiz/parts.py:904 +#: ../python/frescobaldi_app/scorewiz/parts.py:907 msgid "" "Adds an accompaniment staff and also puts an accompaniment voice in the " "upper staff." @@ -2778,11 +2940,11 @@ "Přidá notovou osnovu hudebního doprovodu a rovněž vloží doprovodný hlas do " "horní notové osnovy." -#: ../python/frescobaldi_app/scorewiz/parts.py:911 +#: ../python/frescobaldi_app/scorewiz/parts.py:914 msgid "Choir" msgstr "Sbor" -#: ../python/frescobaldi_app/scorewiz/parts.py:915 +#: ../python/frescobaldi_app/scorewiz/parts.py:918 msgid "" "Please select the voices for the choir. Use the letters S, A, T, or B. A " "hyphen denotes a new staff." @@ -2790,39 +2952,41 @@ "Vyberte, prosím, hlasy pro sbor. Použijte písmena S, A, T, nebo B. Spojovník " "označuje novou notovou osnovu." -#: ../python/frescobaldi_app/scorewiz/parts.py:917 +#: ../python/frescobaldi_app/scorewiz/parts.py:920 msgid "Hint: For a double choir you can use two choir parts." msgstr "Tip: Můžete použít dva sborové hlasy pro zdvojený sbor." -#: ../python/frescobaldi_app/scorewiz/parts.py:922 +#: ../python/frescobaldi_app/scorewiz/parts.py:925 msgid "Voicing:" msgstr "Úprava barvy zvuku " -#: ../python/frescobaldi_app/scorewiz/parts.py:936 -msgid "Lyrics" +#: ../python/frescobaldi_app/scorewiz/parts.py:942 +#, fuzzy +msgid "Lyrics:" msgstr "Slova písně" -#: ../python/frescobaldi_app/scorewiz/parts.py:940 +#: ../python/frescobaldi_app/scorewiz/parts.py:946 msgid "All voices same lyrics" msgstr "Všechny pěvecké hlasy mají stejná slova písně" -#: ../python/frescobaldi_app/scorewiz/parts.py:943 -msgid "One set of the same lyrics is placed between all staves." +#: ../python/frescobaldi_app/scorewiz/parts.py:947 +#, fuzzy +msgid "A set of the same lyrics is placed between all staves." msgstr "" "Jeden soubor stejných slov písně je umístěn mezi všechny notové osnovy." -#: ../python/frescobaldi_app/scorewiz/parts.py:945 +#: ../python/frescobaldi_app/scorewiz/parts.py:948 msgid "Every voice same lyrics" msgstr "Každý pěvecký hlas má stejná slova písně" -#: ../python/frescobaldi_app/scorewiz/parts.py:947 +#: ../python/frescobaldi_app/scorewiz/parts.py:949 msgid "" "Every voice gets its own lyrics, using the same text as the other voices." msgstr "" "Každý pěvecký hlas dostává svá vlastní slova písně za použití stejného " "textu, jaký mají jiné pěvecké hlasy." -#: ../python/frescobaldi_app/scorewiz/parts.py:950 +#: ../python/frescobaldi_app/scorewiz/parts.py:951 msgid "Every voice different lyrics" msgstr "Každý pěvecký hlas má jiná slova písně" @@ -2830,190 +2994,220 @@ msgid "Every voice gets a different set of lyrics." msgstr "Každý pěvecký hlas dostává jiný soubor se slovy písně." -#: ../python/frescobaldi_app/scorewiz/parts.py:956 +#: ../python/frescobaldi_app/scorewiz/parts.py:953 +msgid "Distribute stanzas" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:954 +#, fuzzy +msgid "One set of stanzas is distributed across the staves." +msgstr "" +"Jeden soubor stejných slov písně je umístěn mezi všechny notové osnovy." + +#: ../python/frescobaldi_app/scorewiz/parts.py:959 msgid "Piano reduction" msgstr "Klavírní výtah" -#: ../python/frescobaldi_app/scorewiz/parts.py:958 +#: ../python/frescobaldi_app/scorewiz/parts.py:961 msgid "Adds an automatically generated piano reduction." msgstr "Přidá automaticky vytvořené klavírní výtah." -#: ../python/frescobaldi_app/scorewiz/parts.py:983 +#: ../python/frescobaldi_app/scorewiz/parts.py:963 +msgid "Rehearsal MIDI files" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:965 +msgid "" +"Creates a rehearsal MIDI file for every voice, even if no MIDI output is " +"generated for the main score." +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:1017 msgid "Choir|Ch." msgstr "Sbor|Sb." -#: ../python/frescobaldi_app/scorewiz/parts.py:1199 +#: ../python/frescobaldi_app/scorewiz/parts.py:1262 +msgid "Rehearsal MIDI files:" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:1309 msgid "Piano" msgstr "Klavír" -#: ../python/frescobaldi_app/scorewiz/parts.py:1200 +#: ../python/frescobaldi_app/scorewiz/parts.py:1310 msgid "Piano|Pno." msgstr "Klavír|Klav." -#: ../python/frescobaldi_app/scorewiz/parts.py:1205 +#: ../python/frescobaldi_app/scorewiz/parts.py:1315 msgid "Harpsichord" msgstr "Cembalo" -#: ../python/frescobaldi_app/scorewiz/parts.py:1206 +#: ../python/frescobaldi_app/scorewiz/parts.py:1316 msgid "Harpsichord|Hs." msgstr "Cembalo|Cem." -#: ../python/frescobaldi_app/scorewiz/parts.py:1211 +#: ../python/frescobaldi_app/scorewiz/parts.py:1321 msgid "Clavichord" msgstr "Clavichord" -#: ../python/frescobaldi_app/scorewiz/parts.py:1212 +#: ../python/frescobaldi_app/scorewiz/parts.py:1322 msgid "Clavichord|Clv." msgstr "Clavichord|Clv." -#: ../python/frescobaldi_app/scorewiz/parts.py:1217 +#: ../python/frescobaldi_app/scorewiz/parts.py:1327 msgid "Organ" msgstr "Varhany" -#: ../python/frescobaldi_app/scorewiz/parts.py:1218 +#: ../python/frescobaldi_app/scorewiz/parts.py:1328 msgid "Organ|Org." msgstr "Varhany|Var." -#: ../python/frescobaldi_app/scorewiz/parts.py:1223 +#: ../python/frescobaldi_app/scorewiz/parts.py:1333 msgid "Pedal:" msgstr "Pedál:" -#: ../python/frescobaldi_app/scorewiz/parts.py:1224 +#: ../python/frescobaldi_app/scorewiz/parts.py:1334 msgid "Set to 0 to disable the pedal altogether." msgstr "Nastavit na nulu pro úplné znemožnění pedálu." -#: ../python/frescobaldi_app/scorewiz/parts.py:1234 +#: ../python/frescobaldi_app/scorewiz/parts.py:1344 msgid "Celesta" msgstr "Celesta" -#: ../python/frescobaldi_app/scorewiz/parts.py:1235 +#: ../python/frescobaldi_app/scorewiz/parts.py:1345 msgid "Celesta|Cel." msgstr "Celesta|Cel." -#: ../python/frescobaldi_app/scorewiz/parts.py:1240 +#: ../python/frescobaldi_app/scorewiz/parts.py:1350 msgid "Timpani" msgstr "Kotle" -#: ../python/frescobaldi_app/scorewiz/parts.py:1241 +#: ../python/frescobaldi_app/scorewiz/parts.py:1351 msgid "Timpani|Tmp." msgstr "Kotle|Kot." -#: ../python/frescobaldi_app/scorewiz/parts.py:1248 +#: ../python/frescobaldi_app/scorewiz/parts.py:1358 msgid "Xylophone" msgstr "Xylofon" -#: ../python/frescobaldi_app/scorewiz/parts.py:1249 +#: ../python/frescobaldi_app/scorewiz/parts.py:1359 msgid "Xylophone|Xyl." msgstr "Xylofon|Xyl." -#: ../python/frescobaldi_app/scorewiz/parts.py:1254 +#: ../python/frescobaldi_app/scorewiz/parts.py:1364 msgid "Marimba" msgstr "Marimba" -#: ../python/frescobaldi_app/scorewiz/parts.py:1255 +#: ../python/frescobaldi_app/scorewiz/parts.py:1365 msgid "Marimba|Mar." msgstr "Marimba|Mar." -#: ../python/frescobaldi_app/scorewiz/parts.py:1260 +#: ../python/frescobaldi_app/scorewiz/parts.py:1370 msgid "Vibraphone" msgstr "Vibrafon" -#: ../python/frescobaldi_app/scorewiz/parts.py:1261 +#: ../python/frescobaldi_app/scorewiz/parts.py:1371 msgid "Vibraphone|Vib." msgstr "Vibrafon|Vib." -#: ../python/frescobaldi_app/scorewiz/parts.py:1266 +#: ../python/frescobaldi_app/scorewiz/parts.py:1376 msgid "Tubular bells" msgstr "Trubkové zvony" -#: ../python/frescobaldi_app/scorewiz/parts.py:1267 +#: ../python/frescobaldi_app/scorewiz/parts.py:1377 msgid "Tubular bells|Tub." msgstr "Trubkové zvony|Tru. zv." -#: ../python/frescobaldi_app/scorewiz/parts.py:1272 +#: ../python/frescobaldi_app/scorewiz/parts.py:1382 msgid "Glockenspiel" msgstr "Zvonkohra" -#: ../python/frescobaldi_app/scorewiz/parts.py:1273 +#: ../python/frescobaldi_app/scorewiz/parts.py:1383 msgid "Glockenspiel|Gls." msgstr "Zvonkohra|Zvo." -#: ../python/frescobaldi_app/scorewiz/parts.py:1278 +#: ../python/frescobaldi_app/scorewiz/parts.py:1388 msgid "Drums" msgstr "Bubny" -#: ../python/frescobaldi_app/scorewiz/parts.py:1279 +#: ../python/frescobaldi_app/scorewiz/parts.py:1389 msgid "Drums|Dr." msgstr "Bubny|Bub." -#: ../python/frescobaldi_app/scorewiz/parts.py:1289 +#: ../python/frescobaldi_app/scorewiz/parts.py:1399 msgid "Drums follow here." msgstr "Zde následují bubny." -#: ../python/frescobaldi_app/scorewiz/parts.py:1315 +#: ../python/frescobaldi_app/scorewiz/parts.py:1424 msgid "keep some distance." msgstr "Udržovat trochu odstup." -#: ../python/frescobaldi_app/scorewiz/parts.py:1322 +#: ../python/frescobaldi_app/scorewiz/parts.py:1432 msgid "Style:" msgstr "Styl:" -#: ../python/frescobaldi_app/scorewiz/parts.py:1326 +#: ../python/frescobaldi_app/scorewiz/parts.py:1436 msgid "Drums (5 lines, default)" msgstr "Bubny (pět linek, výchozí)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1327 +#: ../python/frescobaldi_app/scorewiz/parts.py:1437 msgid "Timbales-style (2 lines)" msgstr "Styl timbále (dvě linky)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1328 +#: ../python/frescobaldi_app/scorewiz/parts.py:1438 msgid "Congas-style (2 lines)" msgstr "Styl konga (dvě linky; vysoký a úzký buben, na který se hraje dlaněmi)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1329 +#: ../python/frescobaldi_app/scorewiz/parts.py:1439 msgid "Bongos-style (2 lines)" msgstr "Styl bonga (dvě linky; buben)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1330 +#: ../python/frescobaldi_app/scorewiz/parts.py:1440 msgid "Percussion-style (1 line)" msgstr "Styl bicí (dvě linky)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1331 +#: ../python/frescobaldi_app/scorewiz/parts.py:1441 msgid "Remove stems" msgstr "Odstranit nožky not" -#: ../python/frescobaldi_app/scorewiz/parts.py:1332 +#: ../python/frescobaldi_app/scorewiz/parts.py:1442 msgid "Remove the stems from the drum notes." msgstr "Odstranit nožky z not pro bicí." -#: ../python/frescobaldi_app/scorewiz/parts.py:1341 +#: ../python/frescobaldi_app/scorewiz/parts.py:1451 msgid "Strings" msgstr "Smyčcové nástroje" -#: ../python/frescobaldi_app/scorewiz/parts.py:1348 +#: ../python/frescobaldi_app/scorewiz/parts.py:1458 msgid "Plucked strings" msgstr "Drnkací smyčcové nástroje" -#: ../python/frescobaldi_app/scorewiz/parts.py:1357 +#: ../python/frescobaldi_app/scorewiz/parts.py:1467 msgid "Woodwinds" msgstr "Dřevěné dechové nástroje" -#: ../python/frescobaldi_app/scorewiz/parts.py:1378 +#: ../python/frescobaldi_app/scorewiz/parts.py:1488 msgid "Brass" msgstr "Žesťové nástroje" -#: ../python/frescobaldi_app/scorewiz/parts.py:1386 +#: ../python/frescobaldi_app/scorewiz/parts.py:1496 msgid "Vocal" msgstr "Zpěv" -#: ../python/frescobaldi_app/scorewiz/parts.py:1395 +#: ../python/frescobaldi_app/scorewiz/parts.py:1505 msgid "Keyboard instruments" msgstr "Klávesové nástroje" -#: ../python/frescobaldi_app/scorewiz/parts.py:1411 +#: ../python/frescobaldi_app/scorewiz/parts.py:1521 msgid "Special" msgstr "Speciální" +#~ msgid "Space above:" +#~ msgstr "Mezera nad:" + +#~ msgid "Name or full path of the convert-ly program." +#~ msgstr "Název nebo úplná cesta k programu convert-ly" + #~ msgid "Expand" #~ msgstr "Rozšířit" Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/po/de.mo and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/po/de.mo differ diff -Nru frescobaldi-1.0.2/po/de.po frescobaldi-1.1.1/po/de.po --- frescobaldi-1.0.2/po/de.po 2010-02-18 08:12:03.000000000 +0000 +++ frescobaldi-1.1.1/po/de.po 2010-05-03 19:31:54.000000000 +0100 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: frescobaldi 0.7.9\n" "Report-Msgid-Bugs-To: info@frescobaldi.org\n" -"POT-Creation-Date: 2010-02-16 10:04+0100\n" +"POT-Creation-Date: 2010-05-03 20:28+0200\n" "PO-Revision-Date: 2009-12-07 21:23+0100\n" "Last-Translator: Georg Hennig \n" "Language-Team: German \n" @@ -17,54 +17,53 @@ "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Lokalize 1.0\n" -#: ../frescobaldi.py:32 dummy.py:16 +#: ../frescobaldi.py:37 dummy.py:16 msgid "Frescobaldi" msgstr "Frescobaldi" -#: ../frescobaldi.py:34 dummy.py:17 +#: ../frescobaldi.py:39 dummy.py:17 msgid "LilyPond Music Editor" msgstr "LilyPond Musik-Editor" -#: ../frescobaldi.py:36 -#, fuzzy +#: ../frescobaldi.py:41 msgid "Copyright (c) 2008-2010, Wilbert Berendsen" -msgstr "Copyright (c) 2008-2009, Wilbert Berendsen" +msgstr "Copyright (c) 2008-2010, Wilbert Berendsen" -#: ../frescobaldi.py:45 +#: ../frescobaldi.py:50 msgctxt "NAME OF TRANSLATORS" msgid "Your name" msgstr "Georg Hennig" -#: ../frescobaldi.py:46 +#: ../frescobaldi.py:51 msgctxt "EMAIL OF TRANSLATORS" msgid "i18n@frescobaldi.org" msgstr "georg.hennig@web.de" -#: ../frescobaldi.py:52 +#: ../frescobaldi.py:57 msgid "Session to start" msgstr "Sitzung" -#: ../frescobaldi.py:53 +#: ../frescobaldi.py:58 msgid "Start a new instance" msgstr "Starte neue Instanz" -#: ../frescobaldi.py:54 +#: ../frescobaldi.py:59 msgid "Encoding to use" msgstr "Encoding" -#: ../frescobaldi.py:55 +#: ../frescobaldi.py:60 msgid "Line number to go to, starting at 1" msgstr "Zeilennummer, beginnend mit 1" -#: ../frescobaldi.py:56 +#: ../frescobaldi.py:61 msgid "Column to go to, starting at 0" msgstr "Spalte, beginnend mit 0" -#: ../frescobaldi.py:57 +#: ../frescobaldi.py:62 msgid "Try to use smart line and column numbers" msgstr "Versuche, intelligente Zeilen- und Spaltennummer zu benutzen" -#: ../frescobaldi.py:58 +#: ../frescobaldi.py:63 msgid "LilyPond files to open, may also be textedit URLs" msgstr "LilyPond-Dateien, können auch Textedit URLs sein" @@ -104,344 +103,353 @@ msgid "&Extra Tools" msgstr "S&pezielle Werkzeuge" -#: ../python/ly/__init__.py:94 +#: ../python/ly/__init__.py:81 msgid "Dedication" msgstr "Gewidmet" -#: ../python/ly/__init__.py:95 +#: ../python/ly/__init__.py:82 msgid "Title" msgstr "Titel" -#: ../python/ly/__init__.py:96 +#: ../python/ly/__init__.py:83 msgid "Subtitle" msgstr "Untertitel" -#: ../python/ly/__init__.py:97 +#: ../python/ly/__init__.py:84 msgid "Subsubtitle" msgstr "zweiter Untertitel" -#: ../python/ly/__init__.py:98 +#: ../python/ly/__init__.py:85 msgid "Instrument" msgstr "Instrument" -#: ../python/ly/__init__.py:99 +#: ../python/ly/__init__.py:86 msgid "Composer" msgstr "Komponist" -#: ../python/ly/__init__.py:100 +#: ../python/ly/__init__.py:87 msgid "Arranger" msgstr "Arrangeur" -#: ../python/ly/__init__.py:101 +#: ../python/ly/__init__.py:88 msgid "Poet" msgstr "Dichter" -#: ../python/ly/__init__.py:102 +#: ../python/ly/__init__.py:89 msgid "Meter" msgstr "Metrum" -#: ../python/ly/__init__.py:103 +#: ../python/ly/__init__.py:90 msgid "Piece" msgstr "Stück" -#: ../python/ly/__init__.py:104 +#: ../python/ly/__init__.py:91 msgid "Opus" msgstr "Opus" -#: ../python/ly/__init__.py:105 +#: ../python/ly/__init__.py:92 msgid "Copyright" msgstr "Copyright" -#: ../python/ly/__init__.py:106 +#: ../python/ly/__init__.py:93 msgid "Tagline" msgstr "Tagline" -#: ../python/ly/__init__.py:114 +#: ../python/ly/__init__.py:101 msgid "Major" msgstr "Dur" -#: ../python/ly/__init__.py:115 +#: ../python/ly/__init__.py:102 msgid "Minor" msgstr "Moll" -#: ../python/ly/__init__.py:116 +#: ../python/ly/__init__.py:103 msgid "Ionian" msgstr "Ionisch" -#: ../python/ly/__init__.py:117 +#: ../python/ly/__init__.py:104 msgid "Dorian" msgstr "Dorich" -#: ../python/ly/__init__.py:118 +#: ../python/ly/__init__.py:105 msgid "Phrygian" msgstr "Phrygisch" -#: ../python/ly/__init__.py:119 +#: ../python/ly/__init__.py:106 msgid "Lydian" msgstr "Lydisch" -#: ../python/ly/__init__.py:120 +#: ../python/ly/__init__.py:107 msgid "Mixolydian" msgstr "Mixolydisch" -#: ../python/ly/__init__.py:121 +#: ../python/ly/__init__.py:108 msgid "Aeolian" msgstr "Aeolisch" -#: ../python/ly/__init__.py:122 +#: ../python/ly/__init__.py:109 msgid "Locrian" msgstr "Lokrisch" -#: ../python/ly/articulation.py:33 +#: ../python/ly/articulation.py:35 msgid "Articulation" msgstr "Artikulation" -#: ../python/ly/articulation.py:34 +#: ../python/ly/articulation.py:36 msgid "Accent" msgstr "Akzent" -#: ../python/ly/articulation.py:35 +#: ../python/ly/articulation.py:37 msgid "Marcato" msgstr "Marcato" -#: ../python/ly/articulation.py:36 +#: ../python/ly/articulation.py:38 msgid "Staccatissimo" msgstr "Staccatissimo" -#: ../python/ly/articulation.py:37 +#: ../python/ly/articulation.py:39 msgid "Staccato" msgstr "Staccato" -#: ../python/ly/articulation.py:38 +#: ../python/ly/articulation.py:40 msgid "Portato" msgstr "Portato" -#: ../python/ly/articulation.py:39 +#: ../python/ly/articulation.py:41 msgid "Tenuto" msgstr "Tenuto" -#: ../python/ly/articulation.py:40 +#: ../python/ly/articulation.py:42 msgid "Espressivo" msgstr "Espressivo" -#: ../python/ly/articulation.py:42 +#: ../python/ly/articulation.py:44 msgid "Ornaments" msgstr "Ornamente" -#: ../python/ly/articulation.py:43 +#: ../python/ly/articulation.py:45 msgid "Trill" msgstr "Triller" -#: ../python/ly/articulation.py:44 +#: ../python/ly/articulation.py:46 msgid "Prall" msgstr "Pralltriller" -#: ../python/ly/articulation.py:45 +#: ../python/ly/articulation.py:47 msgid "Mordent" msgstr "Mordent" -#: ../python/ly/articulation.py:46 +#: ../python/ly/articulation.py:48 msgid "Turn" msgstr "Doppelschlag" -#: ../python/ly/articulation.py:47 +#: ../python/ly/articulation.py:49 msgid "Prall prall" msgstr "Doppelter Pralltriller" -#: ../python/ly/articulation.py:48 +#: ../python/ly/articulation.py:50 msgid "Prall mordent" msgstr "Pralltriller Mordent" -#: ../python/ly/articulation.py:49 +#: ../python/ly/articulation.py:51 msgid "Up prall" msgstr "Pralltriller aufwärts" -#: ../python/ly/articulation.py:50 +#: ../python/ly/articulation.py:52 msgid "Down prall" msgstr "Pralltriller abwärts" -#: ../python/ly/articulation.py:51 +#: ../python/ly/articulation.py:53 msgid "Up mordent" msgstr "Mordent aufwärts" -#: ../python/ly/articulation.py:52 +#: ../python/ly/articulation.py:54 msgid "Down mordent" msgstr "Mordent abwärts" -#: ../python/ly/articulation.py:53 +#: ../python/ly/articulation.py:55 msgid "Prall up" msgstr "Pralltriller aufwärts" -#: ../python/ly/articulation.py:54 +#: ../python/ly/articulation.py:56 msgid "Prall down" msgstr "Pralltriller abwärts" -#: ../python/ly/articulation.py:55 +#: ../python/ly/articulation.py:57 msgid "Line prall" msgstr "Pralltriller" -#: ../python/ly/articulation.py:56 +#: ../python/ly/articulation.py:58 msgid "Reverse turn" msgstr "Umkehrung" -#: ../python/ly/articulation.py:58 +#: ../python/ly/articulation.py:60 msgid "Signs" msgstr "Zeichen" -#: ../python/ly/articulation.py:59 +#: ../python/ly/articulation.py:61 msgid "Fermata" msgstr "Fermate" -#: ../python/ly/articulation.py:60 +#: ../python/ly/articulation.py:62 msgid "Short fermata" msgstr "Kurze Fermate" -#: ../python/ly/articulation.py:61 +#: ../python/ly/articulation.py:63 msgid "Long fermata" msgstr "Lange Fermate" -#: ../python/ly/articulation.py:62 +#: ../python/ly/articulation.py:64 msgid "Very long fermata" msgstr "Sehr lange Fermate" -#: ../python/ly/articulation.py:63 +#: ../python/ly/articulation.py:65 msgid "Segno" msgstr "Segno" -#: ../python/ly/articulation.py:64 +#: ../python/ly/articulation.py:66 msgid "Coda" msgstr "Coda" -#: ../python/ly/articulation.py:65 +#: ../python/ly/articulation.py:67 msgid "Varcoda" msgstr "Varcoda" -#: ../python/ly/articulation.py:66 +#: ../python/ly/articulation.py:68 msgid "Signumcongruentiae" msgstr "Signumcongruentiae" -#: ../python/ly/articulation.py:68 +#: ../python/ly/articulation.py:70 msgid "Other" msgstr "Andere" -#: ../python/ly/articulation.py:69 +#: ../python/ly/articulation.py:71 msgid "Upbow" msgstr "Oberbogen" -#: ../python/ly/articulation.py:70 +#: ../python/ly/articulation.py:72 msgid "Downbow" msgstr "Unterbogen" -#: ../python/ly/articulation.py:71 +#: ../python/ly/articulation.py:73 +msgid "Snappizzicato" +msgstr "" + +#: ../python/ly/articulation.py:74 msgid "Open (e.g. brass)" msgstr "Offen (z.B. Bläser)" -#: ../python/ly/articulation.py:72 +#: ../python/ly/articulation.py:75 msgid "Stopped (e.g. brass)" msgstr "Gestopft (z.B. Bläser)" -#: ../python/ly/articulation.py:73 +#: ../python/ly/articulation.py:76 msgid "Flageolet" msgstr "Flageolet" -#: ../python/ly/articulation.py:74 +#: ../python/ly/articulation.py:77 msgid "Thumb" msgstr "Daumen" -#: ../python/ly/articulation.py:75 +#: ../python/ly/articulation.py:78 msgid "Left heel" msgstr "Linke Ferse" -#: ../python/ly/articulation.py:76 +#: ../python/ly/articulation.py:79 msgid "Right heel" msgstr "Rechte Ferse" -#: ../python/ly/articulation.py:77 +#: ../python/ly/articulation.py:80 msgid "Left toe" msgstr "Linke Fußspitze" -#: ../python/ly/articulation.py:78 +#: ../python/ly/articulation.py:81 msgid "Right toe" msgstr "Rechte Fußspitze" -#: ../python/kateshell/exception.py:42 +#: ../python/ly/articulation.py:82 +#, fuzzy +msgid "Half open (e.g. hi-hat)" +msgstr "Offen (z.B. Bläser)" + +#: ../python/kateshell/exception.py:43 msgid "An internal error has occurred:" msgstr "Ein unbekannter Fehler ist aufgetreten:" -#: ../python/kateshell/exception.py:45 +#: ../python/kateshell/exception.py:46 msgid "Internal Error" msgstr "Interner Fehler" -#: ../python/kateshell/exception.py:51 +#: ../python/kateshell/exception.py:52 msgid "Email Bug Report..." msgstr "Fehlerbericht per Email senden..." -#: ../python/kateshell/exception.py:64 +#: ../python/kateshell/exception.py:65 msgid "Optionally describe what you were doing below:" msgstr "Beschreiben Sie, was Sie getan haben (optional):" -#: ../python/kateshell/mainwindow.py:91 +#: ../python/kateshell/mainwindow.py:94 msgid "Left Sidebar" msgstr "Linke Seitenleiste" -#: ../python/kateshell/mainwindow.py:95 +#: ../python/kateshell/mainwindow.py:98 msgid "Right Sidebar" msgstr "Rechte Seitenleiste" -#: ../python/kateshell/mainwindow.py:107 +#: ../python/kateshell/mainwindow.py:110 msgid "Top Sidebar" msgstr "Obere Seitenleiste" -#: ../python/kateshell/mainwindow.py:120 +#: ../python/kateshell/mainwindow.py:123 msgid "Bottom Sidebar" msgstr "Untere Seitenleiste" -#: ../python/kateshell/mainwindow.py:165 +#: ../python/kateshell/mainwindow.py:168 msgid "Show Path" msgstr "Zeige Pfad" -#: ../python/kateshell/mainwindow.py:168 +#: ../python/kateshell/mainwindow.py:171 msgid "Show Document Tabs" msgstr "Zeige Dokumenten-Reiter" -#: ../python/kateshell/mainwindow.py:186 +#: ../python/kateshell/mainwindow.py:188 msgid "&Tool Views" msgstr "Werkzeugansich&t" -#: ../python/kateshell/mainwindow.py:277 +#: ../python/kateshell/mainwindow.py:278 msgid "Please select some text first." msgstr "Bitte wählen Sie zuerst Text aus." -#: ../python/kateshell/mainwindow.py:327 +#: ../python/kateshell/mainwindow.py:328 msgid "modified" msgstr "geändert" -#: ../python/kateshell/mainwindow.py:337 +#: ../python/kateshell/mainwindow.py:338 msgid "Line: %1 Col: %2" msgstr "Zeile: %1 Spalte: %2" -#: ../python/kateshell/mainwindow.py:346 +#: ../python/kateshell/mainwindow.py:347 msgid "BLOCK" msgstr "BLOCK" -#: ../python/kateshell/mainwindow.py:346 +#: ../python/kateshell/mainwindow.py:347 msgid "Block selection mode" msgstr "Block-Auswahlmodus" -#: ../python/kateshell/mainwindow.py:348 +#: ../python/kateshell/mainwindow.py:349 msgid "LINE" msgstr "ZEILE" -#: ../python/kateshell/mainwindow.py:348 +#: ../python/kateshell/mainwindow.py:349 msgid "Line selection mode" msgstr "Zeilen-Auswahlmodus" -#: ../python/kateshell/mainwindow.py:386 -#: ../python/frescobaldi_app/blankpaper.py:335 +#: ../python/kateshell/mainwindow.py:393 +#: ../python/frescobaldi_app/blankpaper.py:331 msgid "All Files" msgstr "Alle Dateien" -#: ../python/kateshell/mainwindow.py:387 +#: ../python/kateshell/mainwindow.py:394 msgid "Open File" msgstr "Öffne Datei" @@ -449,7 +457,7 @@ msgid "Right-click for tab options" msgstr "Rechts klicken für Reiter-Optionen" -#: ../python/kateshell/mainwindow.py:870 +#: ../python/kateshell/mainwindow.py:871 msgid "Move To" msgstr "Verschiebe nach" @@ -465,7 +473,7 @@ msgid "Please install %1" msgstr "Bitte installieren Sie %1" -#: ../python/frescobaldi_app/actions.py:55 +#: ../python/frescobaldi_app/actions.py:56 msgid "Open %1 in external viewer" msgstr "Öffne %1 in externem Betrachter" @@ -473,44 +481,44 @@ msgid "Print %1" msgstr "Drucke %1" -#: ../python/frescobaldi_app/actions.py:66 +#: ../python/frescobaldi_app/actions.py:65 msgid "Play %1" msgstr "Spiele %1" -#: ../python/frescobaldi_app/actions.py:95 +#: ../python/frescobaldi_app/actions.py:91 msgid "Open PDF" msgstr "Öffne PDF" -#: ../python/frescobaldi_app/actions.py:96 +#: ../python/frescobaldi_app/actions.py:92 msgid "Print" msgstr "Drucken" -#: ../python/frescobaldi_app/actions.py:98 +#: ../python/frescobaldi_app/actions.py:94 msgid "Play MIDI" msgstr "Spiele MIDI" -#: ../python/frescobaldi_app/actions.py:101 -#: ../python/frescobaldi_app/mainapp.py:712 +#: ../python/frescobaldi_app/actions.py:97 +#: ../python/frescobaldi_app/mainapp.py:726 msgid "Email..." msgstr "Email..." -#: ../python/frescobaldi_app/actions.py:154 +#: ../python/frescobaldi_app/actions.py:149 msgid "There are no files to send via email." msgstr "Es gibt keine Dateien, die via Email verschickt werden können." -#: ../python/frescobaldi_app/actions.py:155 +#: ../python/frescobaldi_app/actions.py:150 msgid "No files to send" msgstr "Keine Dateien zu verschicken" -#: ../python/frescobaldi_app/actions.py:163 +#: ../python/frescobaldi_app/actions.py:158 msgid "Email documents" msgstr "Email-Dokumente" -#: ../python/frescobaldi_app/actions.py:167 +#: ../python/frescobaldi_app/actions.py:162 msgid "Please select the files you want to send:" msgstr "Bitte wählen Sie die Dateien, die Sie verschickt werden sollen:" -#: ../python/frescobaldi_app/actions.py:172 +#: ../python/frescobaldi_app/actions.py:166 msgid "" "These are the files that are up-to-date (i.e. newer than the LilyPond source " "document). Also LilyPond files included by the source document are shown." @@ -519,7 +527,7 @@ "Quellcode-Dokument). Es werden auch LilyPond-Dateien angezeigt, die vom " "Quellcode eingebettet werden." -#: ../python/frescobaldi_app/actions.py:182 +#: ../python/frescobaldi_app/actions.py:176 msgid "" "Note: this PDF file has been created with embedded point-and-click URLs " "(preview mode), which increases the file size dramatically. Please consider " @@ -540,15 +548,15 @@ "Point-And-Click-URLs zu erstellen, weil die PDF-Dateien dann kleiner sind." "fortfahren?" -#: ../python/frescobaldi_app/actions.py:283 +#: ../python/frescobaldi_app/actions.py:273 msgid "Printing failed: %1" msgstr "Drucken fehlgeschlagen: %1" -#: ../python/frescobaldi_app/actions.py:286 +#: ../python/frescobaldi_app/actions.py:276 msgid "The document has been sent to the printer." msgstr "Das Dokument wurde zum Drucker geschickt." -#: ../python/frescobaldi_app/actions.py:289 +#: ../python/frescobaldi_app/actions.py:279 msgid "" "Printing failed: %1\n" "\n" @@ -559,180 +567,164 @@ "Der Druckbefehl %2 existiert vielleicht nicht. Bitte überprüfen Sie die " "Einstellungen." -#: ../python/frescobaldi_app/actions.py:294 +#: ../python/frescobaldi_app/actions.py:284 msgid "The print command contains errors. Please check your settings." msgstr "" "Der Druckbefehl ist fehlerhaft. Bitte überprüfen Sie die Einstellungen." -#: ../python/frescobaldi_app/blankpaper.py:55 -#: ../python/frescobaldi_app/mainapp.py:738 +#: ../python/frescobaldi_app/blankpaper.py:56 +#: ../python/frescobaldi_app/mainapp.py:753 msgid "Create blank staff paper" msgstr "Erzeuge Papier mit leeren Notenzeilen" -#: ../python/frescobaldi_app/blankpaper.py:69 +#: ../python/frescobaldi_app/blankpaper.py:70 msgid "Type:" msgstr "Art:" -#: ../python/frescobaldi_app/blankpaper.py:72 +#: ../python/frescobaldi_app/blankpaper.py:73 msgid "Action:" msgstr "Aktion:" -#: ../python/frescobaldi_app/blankpaper.py:78 +#: ../python/frescobaldi_app/blankpaper.py:79 msgid "Choose what kind of empty staves you want to create." msgstr "" "Bitte wählen Sie aus, welche Art leerer Notenzeilen Sie erzeugen wollen." -#: ../python/frescobaldi_app/blankpaper.py:80 +#: ../python/frescobaldi_app/blankpaper.py:81 msgid "Choose which action happens when clicking \"Ok\"." msgstr "Aktion auswählen, die ausgeführt wird, wenn \"Ok\" angeklickt wird." -#: ../python/frescobaldi_app/blankpaper.py:82 +#: ../python/frescobaldi_app/blankpaper.py:83 msgid "Preview the empty staff paper." msgstr "Vorschau der Seite mit leeren Notenzeilen." -#: ../python/frescobaldi_app/blankpaper.py:84 +#: ../python/frescobaldi_app/blankpaper.py:85 msgid "Click to see more settings." msgstr "Anklicken für weitere Einstellungen." -#: ../python/frescobaldi_app/blankpaper.py:87 +#: ../python/frescobaldi_app/blankpaper.py:88 msgid "Paper" msgstr "Papier" -#: ../python/frescobaldi_app/blankpaper.py:89 +#: ../python/frescobaldi_app/blankpaper.py:90 msgid "Settings" msgstr "Einstellungen" -#: ../python/frescobaldi_app/blankpaper.py:95 -#: ../python/frescobaldi_app/scorewiz/__init__.py:509 +#: ../python/frescobaldi_app/blankpaper.py:96 +#: ../python/frescobaldi_app/scorewiz/__init__.py:496 msgid "Paper size:" msgstr "Papier-Format:" -#: ../python/frescobaldi_app/blankpaper.py:99 -#: ../python/frescobaldi_app/scorewiz/__init__.py:448 -#: ../python/frescobaldi_app/scorewiz/__init__.py:513 -#: ../python/frescobaldi_app/scorewiz/__init__.py:547 -#: ../python/frescobaldi_app/scorewiz/parts.py:180 -#: ../python/frescobaldi_app/scorewiz/parts.py:436 +#: ../python/frescobaldi_app/blankpaper.py:100 +#: ../python/frescobaldi_app/scorewiz/__init__.py:441 +#: ../python/frescobaldi_app/scorewiz/__init__.py:500 +#: ../python/frescobaldi_app/scorewiz/__init__.py:532 +#: ../python/frescobaldi_app/scorewiz/parts.py:183 +#: ../python/frescobaldi_app/scorewiz/parts.py:439 msgid "Default" msgstr "Standard" -#: ../python/frescobaldi_app/blankpaper.py:103 +#: ../python/frescobaldi_app/blankpaper.py:104 msgid "Staff Size:" msgstr "Notenzeilen-Größe:" -#: ../python/frescobaldi_app/blankpaper.py:110 +#: ../python/frescobaldi_app/blankpaper.py:111 msgid "Page count:" msgstr "Gesamte Seitenzahl:" -#: ../python/frescobaldi_app/blankpaper.py:116 -#: ../python/frescobaldi_app/scorewiz/__init__.py:486 +#: ../python/frescobaldi_app/blankpaper.py:117 +#: ../python/frescobaldi_app/scorewiz/__init__.py:468 msgid "Remove default tagline" msgstr "Lösche Standard-Tagline" -#: ../python/frescobaldi_app/blankpaper.py:121 +#: ../python/frescobaldi_app/blankpaper.py:122 msgid "Print Bar Lines" msgstr "Erzeuge Taktstriche" -#: ../python/frescobaldi_app/blankpaper.py:123 +#: ../python/frescobaldi_app/blankpaper.py:124 msgid "Bars per line:" msgstr "Takte pro Zeile:" -#: ../python/frescobaldi_app/blankpaper.py:130 +#: ../python/frescobaldi_app/blankpaper.py:131 msgid "Print Page Numbers" msgstr "Erzeuge Seitenzahlen" -#: ../python/frescobaldi_app/blankpaper.py:132 +#: ../python/frescobaldi_app/blankpaper.py:133 msgid "Start with:" msgstr "Beginne mit:" -#: ../python/frescobaldi_app/blankpaper.py:289 +#: ../python/frescobaldi_app/blankpaper.py:285 msgid "Blank staff paper preview" msgstr "Vorschau des Papiers mit leeren Notenzeilen" -#: ../python/frescobaldi_app/blankpaper.py:308 +#: ../python/frescobaldi_app/blankpaper.py:304 msgid "No PDF was created." msgstr "PDF wurde nicht erzeugt." -#: ../python/frescobaldi_app/blankpaper.py:319 +#: ../python/frescobaldi_app/blankpaper.py:315 msgid "Open in PDF viewer" msgstr "Öffne im PDF-Betrachter" -#: ../python/frescobaldi_app/blankpaper.py:328 +#: ../python/frescobaldi_app/blankpaper.py:324 msgid "Save PDF As..." msgstr "Speichere PDF unter..." -#: ../python/frescobaldi_app/blankpaper.py:335 +#: ../python/frescobaldi_app/blankpaper.py:331 msgid "PDF Files" msgstr "PDF-Dateien" -#: ../python/frescobaldi_app/blankpaper.py:337 +#: ../python/frescobaldi_app/blankpaper.py:333 msgid "Save PDF" msgstr "Speichere PDF" -#: ../python/frescobaldi_app/blankpaper.py:355 -#: ../python/frescobaldi_app/runlily.py:375 -msgid "" -"A file named \"%1\" already exists. Are you sure you want to overwrite it?" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:358 -#: ../python/frescobaldi_app/runlily.py:378 -msgid "Overwrite File?" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:358 -#: ../python/frescobaldi_app/runlily.py:378 -msgid "&Overwrite" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:380 +#: ../python/frescobaldi_app/blankpaper.py:357 msgid "Directly print on default printer" msgstr "Mit Standard-Drucker direkt drucken" -#: ../python/frescobaldi_app/blankpaper.py:389 +#: ../python/frescobaldi_app/blankpaper.py:366 msgid "Copy LilyPond code to editor" msgstr "Kopiere LilyPond-Code in den Editor" -#: ../python/frescobaldi_app/blankpaper.py:488 +#: ../python/frescobaldi_app/blankpaper.py:465 msgid "Staves per page:" msgstr "Notenzeilen pro Seite:" -#: ../python/frescobaldi_app/blankpaper.py:493 -#: ../python/frescobaldi_app/blankpaper.py:828 +#: ../python/frescobaldi_app/blankpaper.py:470 +#: ../python/frescobaldi_app/blankpaper.py:803 msgid "Clef:" msgstr "Schlüssel:" -#: ../python/frescobaldi_app/blankpaper.py:499 +#: ../python/frescobaldi_app/blankpaper.py:476 msgid "Single Staff" msgstr "Einzelne Notenzeile" -#: ../python/frescobaldi_app/blankpaper.py:519 -#: ../python/frescobaldi_app/blankpaper.py:575 -#: ../python/frescobaldi_app/blankpaper.py:671 +#: ../python/frescobaldi_app/blankpaper.py:496 +#: ../python/frescobaldi_app/blankpaper.py:552 +#: ../python/frescobaldi_app/blankpaper.py:647 msgid "Systems per page:" msgstr "Systeme pro Seite:" -#: ../python/frescobaldi_app/blankpaper.py:523 +#: ../python/frescobaldi_app/blankpaper.py:500 msgid "Clefs" msgstr "Schlüssel" -#: ../python/frescobaldi_app/blankpaper.py:527 +#: ../python/frescobaldi_app/blankpaper.py:504 msgid "Piano Staff" msgstr "Klavier-Notenzeilen" -#: ../python/frescobaldi_app/blankpaper.py:547 +#: ../python/frescobaldi_app/blankpaper.py:524 msgid "Organ Staff" msgstr "Orgel-Notenzeilen" -#: ../python/frescobaldi_app/blankpaper.py:571 +#: ../python/frescobaldi_app/blankpaper.py:548 msgid "Staves per system:" msgstr "Notenzeilen pro System:" -#: ../python/frescobaldi_app/blankpaper.py:582 +#: ../python/frescobaldi_app/blankpaper.py:559 msgid "Clefs:" msgstr "Schlüssel:" -#: ../python/frescobaldi_app/blankpaper.py:589 +#: ../python/frescobaldi_app/blankpaper.py:566 msgid "" "Enter as many letters (S, A, T or B) as there are staves.\n" "See \"What's This\" for more information." @@ -740,7 +732,7 @@ "Geben Sie so viele Buchstaben (S, A, T oder B) wie es Notenzeilen gibt.\n" "Benutzen Sie die \"Was ist das\"-Hilfe für weitere Informationen." -#: ../python/frescobaldi_app/blankpaper.py:592 +#: ../python/frescobaldi_app/blankpaper.py:569 msgid "" "To configure clefs, first set the number of staves per system. Then enter as " "many letters (S, A, T or B) as there are staves.\n" @@ -765,49 +757,55 @@ "setzen Sie zuerst die Anzahl der Notenzeilen pro System auf 4. Dann geben " "Sie \"SATB\" (ohne die Anführungsstriche) hier ein." -#: ../python/frescobaldi_app/blankpaper.py:606 +#: ../python/frescobaldi_app/blankpaper.py:582 msgid "Choir Staff" msgstr "Chor-Notenzeilen" -#: ../python/frescobaldi_app/blankpaper.py:613 -#: ../python/frescobaldi_app/scorewiz/__init__.py:395 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/blankpaper.py:589 +#: ../python/frescobaldi_app/lqi.py:159 +#: ../python/frescobaldi_app/scorewiz/__init__.py:388 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "None" msgstr "Nichts" -#: ../python/frescobaldi_app/blankpaper.py:759 +#: ../python/frescobaldi_app/blankpaper.py:734 msgid "Custom Staff" msgstr "Eigene Notenzeilen" -#: ../python/frescobaldi_app/blankpaper.py:818 +#: ../python/frescobaldi_app/blankpaper.py:793 msgid "Staff" msgstr "Notenzeile" -#: ../python/frescobaldi_app/blankpaper.py:841 -msgid "Space above:" -msgstr "Platz darüber:" - -#: ../python/frescobaldi_app/blankpaper.py:844 +#: ../python/frescobaldi_app/blankpaper.py:812 msgid "Space below:" msgstr "Platz darunter:" -#: ../python/frescobaldi_app/blankpaper.py:879 +#: ../python/frescobaldi_app/blankpaper.py:852 msgid "Brace" msgstr "Geschweifte Klammer" -#: ../python/frescobaldi_app/blankpaper.py:904 +#: ../python/frescobaldi_app/blankpaper.py:877 msgid "Bracket" msgstr "Runde Klammer" -#: ../python/frescobaldi_app/blankpaper.py:913 +#: ../python/frescobaldi_app/blankpaper.py:886 msgid "Square Bracket" msgstr "Eckige Klammer" -#: ../python/frescobaldi_app/blankpaper.py:915 +#: ../python/frescobaldi_app/blankpaper.py:888 msgid "Connect bar lines" msgstr "Verbinde Taktstriche" -#: ../python/frescobaldi_app/document.py:66 +#: ../python/frescobaldi_app/charselect.py:41 +#: ../python/frescobaldi_app/mainapp.py:871 +msgid "Special Characters" +msgstr "" + +#: ../python/frescobaldi_app/charselect.py:85 +msgid "unknown" +msgstr "unbekannt" + +#: ../python/frescobaldi_app/document.py:68 msgid "" "Can't perform the requested translation.\n" "\n" @@ -819,7 +817,7 @@ "Die Musik enthält Viertelton-Schritte, die in der Tonlagensprache \"%1\" " "nicht verfügbar sind." -#: ../python/frescobaldi_app/document.py:81 +#: ../python/frescobaldi_app/document.py:82 msgid "" "The pitch language of the selected text has been updated, but you need to " "manually add the following command to your document:" @@ -827,32 +825,32 @@ "Die Tonlagensprache des ausgewählten Textes wurde aktualisiert, Sie müssen " "aber den folgenden Befehl zu Ihrem Dokument hinzufügen:" -#: ../python/frescobaldi_app/document.py:84 -#: ../python/frescobaldi_app/mainapp.py:561 +#: ../python/frescobaldi_app/document.py:85 +#: ../python/frescobaldi_app/mainapp.py:572 msgid "Pitch Name Language" msgstr "Sprache für Tonlagen" -#: ../python/frescobaldi_app/document.py:139 +#: ../python/frescobaldi_app/document.py:140 msgid "Please enter the name for the variable to assign the selected text to:" msgstr "" "Bitte geben Sie den Namen der Variable ein, der der ausgewählte Text " "zugewiesen werden soll:" -#: ../python/frescobaldi_app/document.py:140 -#: ../python/frescobaldi_app/mainapp.py:455 +#: ../python/frescobaldi_app/document.py:141 +#: ../python/frescobaldi_app/mainapp.py:461 msgid "Cut and Assign" msgstr "Ausschneiden und zuweisen" -#: ../python/frescobaldi_app/document.py:452 +#: ../python/frescobaldi_app/document.py:451 msgid "Open %1" msgstr "Öffne %1" -#: ../python/frescobaldi_app/document.py:707 +#: ../python/frescobaldi_app/document.py:705 msgid "Please select a music expression, enclosed in << ... >> or { ... }." msgstr "" "Bitte Musik auswählen, die in << ... >> oder { ... } eingeschlossen ist." -#: ../python/frescobaldi_app/document.py:727 +#: ../python/frescobaldi_app/document.py:725 msgid "" "Could not understand the entered pitches.\n" "\n" @@ -862,7 +860,7 @@ "\n" "Bitte benutzen Sie nur Tonartnamen in der Sprache \"%1\"." -#: ../python/frescobaldi_app/document.py:735 +#: ../python/frescobaldi_app/document.py:733 msgid "" "Can't perform the requested transposition.\n" "\n" @@ -874,47 +872,47 @@ "Die transponierte Musik enthielte Viertelton-Schritte, die in der " "Tondarstellung \"%1\" nicht verfügbar sind." -#: ../python/frescobaldi_app/document.py:748 +#: ../python/frescobaldi_app/document.py:746 msgid "Transpose" msgstr "Transponieren" -#: ../python/frescobaldi_app/document.py:755 +#: ../python/frescobaldi_app/document.py:753 msgid "Please enter a start pitch and a destination pitch:" msgstr "Bitte geben Sie eine Start- und eine Ziel-Tonart ein:" -#: ../python/frescobaldi_app/document.py:759 +#: ../python/frescobaldi_app/document.py:757 msgid "Transpose from:" msgstr "Transponiere von:" -#: ../python/frescobaldi_app/document.py:763 +#: ../python/frescobaldi_app/document.py:761 msgid "to:" msgstr "nach:" -#: ../python/frescobaldi_app/expand.py:147 -#: ../python/frescobaldi_app/mainapp.py:786 +#: ../python/frescobaldi_app/expand.py:149 +#: ../python/frescobaldi_app/mainapp.py:870 msgid "Expansion Manager" msgstr "Erweiterungsmanager" -#: ../python/frescobaldi_app/expand.py:161 -#: ../python/frescobaldi_app/lilydoc.py:125 +#: ../python/frescobaldi_app/expand.py:163 +#: ../python/frescobaldi_app/lilydoc.py:127 msgid "Search..." msgstr "Suche..." -#: ../python/frescobaldi_app/expand.py:170 -#: ../python/frescobaldi_app/rumor.py:507 +#: ../python/frescobaldi_app/expand.py:172 +#: ../python/frescobaldi_app/rumor.py:505 msgid "Name" msgstr "Name" -#: ../python/frescobaldi_app/expand.py:170 -#: ../python/frescobaldi_app/rumor.py:507 +#: ../python/frescobaldi_app/expand.py:172 +#: ../python/frescobaldi_app/rumor.py:505 msgid "Description" msgstr "Beschreibung" -#: ../python/frescobaldi_app/expand.py:170 +#: ../python/frescobaldi_app/expand.py:172 msgid "Shortcut" msgstr "Verknüpfung" -#: ../python/frescobaldi_app/expand.py:193 +#: ../python/frescobaldi_app/expand.py:195 msgid "" "This is the list of defined expansions.\n" "\n" @@ -944,7 +942,7 @@ "Erweiterung-Funktion aufrufen (Standard-Verknüpfung: Ctrl+.), die " "Erweiterung aus der Liste auswählen und Enter oder OK anklicken." -#: ../python/frescobaldi_app/expand.py:213 +#: ../python/frescobaldi_app/expand.py:214 msgid "" "This is the text associated with the selected shortcut. Some characters have " "special meaning:" @@ -952,19 +950,19 @@ "Dieser Text ist mit dem ausgewählten Kürzel verknüpft. Einige Buchstaben " "haben besondere Bedeutung:" -#: ../python/frescobaldi_app/expand.py:215 +#: ../python/frescobaldi_app/expand.py:216 msgid "Place the cursor on this spot." msgstr "Den Cursor an diesem Punkt plazieren." -#: ../python/frescobaldi_app/expand.py:216 +#: ../python/frescobaldi_app/expand.py:217 msgid "Translate the following pitch." msgstr "Verschiebe die folgende Tonlage." -#: ../python/frescobaldi_app/expand.py:268 +#: ../python/frescobaldi_app/expand.py:265 msgid "New Item" msgstr "Neues Objekt" -#: ../python/frescobaldi_app/expand.py:348 +#: ../python/frescobaldi_app/expand.py:345 msgid "" "Another expansion already uses this name.\n" "\n" @@ -974,7 +972,7 @@ "\n" "Bitte benutzen Sie einen anderen Namen." -#: ../python/frescobaldi_app/expand.py:354 +#: ../python/frescobaldi_app/expand.py:351 msgid "" "Please only use letters, numbers and the underscore character in the " "expansion name." @@ -982,52 +980,60 @@ "Benutzen Sie bitte nur Buchstaben, Zahlen und Unterstriche im Namen für die " "Erweiterung." -#: ../python/frescobaldi_app/expand.py:381 +#: ../python/frescobaldi_app/expand.py:376 msgid "Please don't leave the description empty." msgstr "Bitte lassen Sie diese Beschreibung nicht leer." -#: ../python/frescobaldi_app/hyphen.py:123 -#: ../python/frescobaldi_app/mainapp.py:676 +#: ../python/frescobaldi_app/hyphen.py:119 +msgid "" +"Could not find any hyphenation dictionaries.\n" +"\n" +"Please install a package containing some and/or or configure the search path " +"to find them in the Frescobaldi settings under \"Paths.\"" +msgstr "" + +#: ../python/frescobaldi_app/hyphen.py:132 +#: ../python/frescobaldi_app/mainapp.py:686 msgid "Hyphenate Lyrics Text" msgstr "Trennungsstriche für Text einfügen" -#: ../python/frescobaldi_app/hyphen.py:127 +#: ../python/frescobaldi_app/hyphen.py:136 msgid "Please select a language:" msgstr "Bitte wählen Sie eine Sprache:" -#: ../python/frescobaldi_app/lilydoc.py:99 +#: ../python/frescobaldi_app/lilydoc.py:101 msgid "Home" msgstr "Nach Hause" -#: ../python/frescobaldi_app/lilydoc.py:100 +#: ../python/frescobaldi_app/lilydoc.py:102 msgid "Larger text" msgstr "Größerer Text" -#: ../python/frescobaldi_app/lilydoc.py:101 +#: ../python/frescobaldi_app/lilydoc.py:103 msgid "Smaller text" msgstr "Kleinerer Text" -#: ../python/frescobaldi_app/lilydoc.py:110 +#: ../python/frescobaldi_app/lilydoc.py:112 msgid "First Page" msgstr "Erste Seite:" -#: ../python/frescobaldi_app/lilydoc.py:111 +#: ../python/frescobaldi_app/lilydoc.py:113 msgid "Previous" msgstr "Vorherige" -#: ../python/frescobaldi_app/lilydoc.py:112 +#: ../python/frescobaldi_app/lilydoc.py:114 msgid "Up one level" msgstr "Eine Stufe nach oben" -#: ../python/frescobaldi_app/lilydoc.py:113 +#: ../python/frescobaldi_app/lilydoc.py:115 msgid "Next" msgstr "Nächste" -#: ../python/frescobaldi_app/lilydoc.py:114 +#: ../python/frescobaldi_app/lilydoc.py:116 msgid "Table of contents" msgstr "Inhaltsverzeichnis" -#: ../python/frescobaldi_app/lilydoc.py:115 +#: ../python/frescobaldi_app/lilydoc.py:117 msgid "Index" msgstr "Index" @@ -1039,84 +1045,84 @@ msgid "Open Link in &New Window" msgstr "Öffne Link in &neuem Fenster" -#: ../python/frescobaldi_app/lilydoc.py:322 -#: ../python/frescobaldi_app/runlily.py:339 +#: ../python/frescobaldi_app/lilydoc.py:321 +#: ../python/frescobaldi_app/runlily.py:508 msgid "&Copy" msgstr "&Kopieren" -#: ../python/frescobaldi_app/lilydoc.py:325 +#: ../python/frescobaldi_app/lilydoc.py:324 msgid "Open Document in &New Window" msgstr "Öffne Dokument in N&euem Fenster" -#: ../python/frescobaldi_app/lilydoc.py:677 +#: ../python/frescobaldi_app/lilydoc.py:675 msgid "Loading..." msgstr "Lade..." -#: ../python/frescobaldi_app/lilydoc.py:684 +#: ../python/frescobaldi_app/lilydoc.py:682 msgid "Not available" msgstr "Nicht verfügbar" -#: ../python/frescobaldi_app/lilydoc.py:732 +#: ../python/frescobaldi_app/lilydoc.py:734 msgid "Notation Reference" msgstr "Notationsreferenz" -#: ../python/frescobaldi_app/lilydoc.py:752 +#: ../python/frescobaldi_app/lilydoc.py:754 msgid "LilyPond Command Index" msgstr "LilyPond-Befehlsindex" -#: ../python/frescobaldi_app/lilydoc.py:772 +#: ../python/frescobaldi_app/lilydoc.py:780 msgid "Learning Manual" msgstr "Anleitung für Einsteiger" -#: ../python/frescobaldi_app/lilydoc.py:792 +#: ../python/frescobaldi_app/lilydoc.py:800 msgid "Learning Manual Index" msgstr "Index der Anleitung für Einsteiger" -#: ../python/frescobaldi_app/lilydoc.py:808 +#: ../python/frescobaldi_app/lilydoc.py:816 msgid "LilyPond &Help" msgstr "LilyPond-&Hilfe" -#: ../python/frescobaldi_app/lqi.py:62 +#: ../python/frescobaldi_app/lqi.py:82 msgid "Articulations" msgstr "Artikulationszeichen" -#: ../python/frescobaldi_app/lqi.py:63 +#: ../python/frescobaldi_app/lqi.py:83 msgid "Different kinds of articulations and other signs." msgstr "Unterschiedliche Artikulationszeichen und andere Zeichen." -#: ../python/frescobaldi_app/lqi.py:70 +#: ../python/frescobaldi_app/lqi.py:90 msgid "Allow shorthands" msgstr "Erlaube Kürzel" -#: ../python/frescobaldi_app/lqi.py:73 +#: ../python/frescobaldi_app/lqi.py:93 msgid "Use short notation for some articulations like staccato." msgstr "Benutze kurze Notation für einige Artikulationszeichen wie Staccato." -#: ../python/frescobaldi_app/lqi.py:79 +#: ../python/frescobaldi_app/lqi.py:99 msgid "Direction:" msgstr "Richtung:" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Up" msgstr "Oben" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Neutral" msgstr "Neutral" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Down" msgstr "Unten" -#: ../python/frescobaldi_app/lqi.py:85 +#: ../python/frescobaldi_app/lqi.py:105 msgid "The direction to use for the articulations." msgstr "Die Richtung für die Artikulationszeichen." -#: ../python/frescobaldi_app/lqi.py:112 +#: ../python/frescobaldi_app/lqi.py:134 msgid "Click an articulation sign to add it to your document." msgstr "Artikulationszeichen anklicken, um es dem Dokument hinzuzufügen." -#: ../python/frescobaldi_app/lqi.py:113 +#: ../python/frescobaldi_app/lqi.py:135 msgid "" "If you select some music first, the articulation will be added to all notes " "in the selection." @@ -1124,88 +1130,95 @@ "Wenn Sie zuerst einige Noten auswählen, wird das Artikulationszeichen zu " "allen Noten in der Auswahl hinzugefügt." -#: ../python/frescobaldi_app/mainapp.py:53 +#: ../python/frescobaldi_app/lqi.py:159 +msgid "Configure Keyboard Shortcut (%1)" +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:54 msgid "LilyPond files" msgstr "LilyPond-Dateien" -#: ../python/frescobaldi_app/mainapp.py:392 -#: ../python/frescobaldi_app/scorewiz/__init__.py:355 +#: ../python/frescobaldi_app/mainapp.py:424 +#: ../python/frescobaldi_app/settings.py:620 +#: ../python/frescobaldi_app/scorewiz/__init__.py:348 msgid "LilyPond" msgstr "LilyPond" -#: ../python/frescobaldi_app/mainapp.py:403 +#: ../python/frescobaldi_app/mainapp.py:435 msgid "Setup New Score..." msgstr "Neue Partitur vorbereiten..." -#: ../python/frescobaldi_app/mainapp.py:408 +#: ../python/frescobaldi_app/mainapp.py:440 msgid "Run LilyPond (preview)" msgstr "Starte LilyPond (Vorschau)" -#: ../python/frescobaldi_app/mainapp.py:412 +#: ../python/frescobaldi_app/mainapp.py:444 msgid "Run LilyPond (publish)" msgstr "Starte LilyPond (Veröffentlichung)" -#: ../python/frescobaldi_app/mainapp.py:418 -msgid "Can't process document" -msgstr "Kann Dokument nicht verarbeiten" - -#: ../python/frescobaldi_app/mainapp.py:421 -msgid "There is already a LilyPond job running for this document." -msgstr "Es läuft bereits ein LilyPond-Job für dieses Dokument." - -#: ../python/frescobaldi_app/mainapp.py:427 -msgid "Your document has been modified, please save first." -msgstr "Ihr Dokument wurde verändert, bitte speichern Sie es zuerst ab." +#: ../python/frescobaldi_app/mainapp.py:448 +#, fuzzy +msgid "Run LilyPond (custom)..." +msgstr "Starte LilyPond (Veröffentlichung)" -#: ../python/frescobaldi_app/mainapp.py:446 +#: ../python/frescobaldi_app/mainapp.py:452 msgid "Interrupt LilyPond Job" msgstr "Unterbreche LilyPond-Job" -#: ../python/frescobaldi_app/mainapp.py:456 +#: ../python/frescobaldi_app/mainapp.py:462 msgid "Cut selection and assign it to a LilyPond variable." msgstr "Schneide Auswahl aus und weise sie einer LilyPond-Variable zu." -#: ../python/frescobaldi_app/mainapp.py:460 +#: ../python/frescobaldi_app/mainapp.py:466 msgid "Repeat last note or chord" msgstr "Wiederhole letzte Note oder Akkord" -#: ../python/frescobaldi_app/mainapp.py:461 +#: ../python/frescobaldi_app/mainapp.py:467 msgid "Repeat the last music expression (note or chord)." msgstr "Wiederhole den letzten musikalischen Ausdruck (Note oder Akkord)." -#: ../python/frescobaldi_app/mainapp.py:465 +#: ../python/frescobaldi_app/mainapp.py:471 msgid "Insert or Manage Expansions..." msgstr "Erweiterungen einfügen oder verwalten..." -#: ../python/frescobaldi_app/mainapp.py:466 +#: ../python/frescobaldi_app/mainapp.py:472 msgid "Expand last word or open the expansions dialog." msgstr "Erweitere das letzte Wort oder öffne den Erweiterungsdialog." -#: ../python/frescobaldi_app/mainapp.py:471 +#: ../python/frescobaldi_app/mainapp.py:476 +msgid "Special Characters..." +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:477 +#, fuzzy +msgid "Insert special characters." +msgstr "Füge Klammern-Paar ein" + +#: ../python/frescobaldi_app/mainapp.py:482 msgid "Add to Expansions" msgstr "Zu Erweiterungen hinzufügen" -#: ../python/frescobaldi_app/mainapp.py:475 +#: ../python/frescobaldi_app/mainapp.py:486 msgid "Next blank line" msgstr "Nächste Leerzeile" -#: ../python/frescobaldi_app/mainapp.py:476 +#: ../python/frescobaldi_app/mainapp.py:487 msgid "Go to the next blank line." msgstr "Gehe zur nächsten leeren Zeile." -#: ../python/frescobaldi_app/mainapp.py:486 +#: ../python/frescobaldi_app/mainapp.py:497 msgid "Previous blank line" msgstr "Vorherige Leerzeile" -#: ../python/frescobaldi_app/mainapp.py:487 +#: ../python/frescobaldi_app/mainapp.py:498 msgid "Go to the previous blank line." msgstr "Gehe zur vorherigen leeren Zeile." -#: ../python/frescobaldi_app/mainapp.py:496 +#: ../python/frescobaldi_app/mainapp.py:507 msgid "Select to next blank line" msgstr "Wähle nächste Leerzeile aus" -#: ../python/frescobaldi_app/mainapp.py:498 +#: ../python/frescobaldi_app/mainapp.py:509 msgid "" "Selects text from the current position down to and including the next blank " "line." @@ -1213,11 +1226,11 @@ "Wähle Text von der aktuellen Position einschließlich bis zur nächsten " "Leerzeile aus." -#: ../python/frescobaldi_app/mainapp.py:523 +#: ../python/frescobaldi_app/mainapp.py:534 msgid "Select to previous blank line" msgstr "Wähle vorherige Leerzeile aus" -#: ../python/frescobaldi_app/mainapp.py:525 +#: ../python/frescobaldi_app/mainapp.py:536 msgid "" "Selects text from the current position up to right after the previous blank " "line." @@ -1225,23 +1238,23 @@ "Wähle den Text von der aktuellen Position hinauf einschließlich bis zur " "nächsten vorherigen Leerzeile aus." -#: ../python/frescobaldi_app/mainapp.py:549 +#: ../python/frescobaldi_app/mainapp.py:560 msgid "Move selection to next blank line" msgstr "Verschiebe Auswahl zur nächsten Leerzeile" -#: ../python/frescobaldi_app/mainapp.py:550 +#: ../python/frescobaldi_app/mainapp.py:561 msgid "Moves selected block to next blank line." msgstr "Verschiebe ausgewählten Block zur nächsten Leerzeile." -#: ../python/frescobaldi_app/mainapp.py:554 +#: ../python/frescobaldi_app/mainapp.py:565 msgid "Move selection to previous blank line" msgstr "Verschiebe Auswahl zur vorherigen Leerzeile" -#: ../python/frescobaldi_app/mainapp.py:555 +#: ../python/frescobaldi_app/mainapp.py:566 msgid "Moves selected block to previous blank line." msgstr "Verschiebe ausgewählten Block zur vorherigen Leerzeile." -#: ../python/frescobaldi_app/mainapp.py:562 +#: ../python/frescobaldi_app/mainapp.py:573 msgid "" "Change the LilyPond language used for pitch names in this document or in the " "selection." @@ -1249,11 +1262,11 @@ "Ändere die LilyPond-Sprache, die für die Tonlagen in diesem Dokument oder in " "der Auswahl benutzt werden soll." -#: ../python/frescobaldi_app/mainapp.py:569 +#: ../python/frescobaldi_app/mainapp.py:579 msgid "Convert Relative to &Absolute" msgstr "Wandle relative in a&bsolute Tonhöhen um" -#: ../python/frescobaldi_app/mainapp.py:570 +#: ../python/frescobaldi_app/mainapp.py:580 msgid "" "Converts the notes in the document or selection from relative to absolute " "pitch." @@ -1261,11 +1274,11 @@ "Wandle die Noten im ganzen Dokument oder der Auswahl von relativen in " "absolute Tonhöhen um." -#: ../python/frescobaldi_app/mainapp.py:574 +#: ../python/frescobaldi_app/mainapp.py:584 msgid "Convert Absolute to &Relative" msgstr "Wandle absolute in re&lative Tonhöhen um" -#: ../python/frescobaldi_app/mainapp.py:575 +#: ../python/frescobaldi_app/mainapp.py:585 msgid "" "Converts the notes in the document or selection from absolute to relative " "pitch." @@ -1273,75 +1286,75 @@ "Wandelt die Noten im gesamten Dokument oder in der Auswahl von absoluten zu " "relativen Tonhöhen." -#: ../python/frescobaldi_app/mainapp.py:579 +#: ../python/frescobaldi_app/mainapp.py:589 msgid "Transpose..." msgstr "Transponieren..." -#: ../python/frescobaldi_app/mainapp.py:580 +#: ../python/frescobaldi_app/mainapp.py:590 msgid "Transposes all notes in the document or selection." msgstr "Transponiere alle Noten im gesamten Dokument oder der Auswahl." -#: ../python/frescobaldi_app/mainapp.py:585 +#: ../python/frescobaldi_app/mainapp.py:595 msgid "Double durations" msgstr "Notenlängen verdoppeln" -#: ../python/frescobaldi_app/mainapp.py:586 +#: ../python/frescobaldi_app/mainapp.py:596 msgid "Double all the durations in the selection." msgstr "Verdopple alle Notenlängen in der Auswahl." -#: ../python/frescobaldi_app/mainapp.py:591 +#: ../python/frescobaldi_app/mainapp.py:601 msgid "Halve durations" msgstr "Notenlängen halbieren" -#: ../python/frescobaldi_app/mainapp.py:592 +#: ../python/frescobaldi_app/mainapp.py:602 msgid "Halve all the durations in the selection." msgstr "Halbiere alle Notenlängen in der Auswahl." -#: ../python/frescobaldi_app/mainapp.py:597 +#: ../python/frescobaldi_app/mainapp.py:607 msgid "Dot durations" msgstr "Notenlängen punktieren" -#: ../python/frescobaldi_app/mainapp.py:598 +#: ../python/frescobaldi_app/mainapp.py:608 msgid "Add a dot to all the durations in the selection." msgstr "Alle Notenlängen in der Auswahl punktieren." -#: ../python/frescobaldi_app/mainapp.py:603 +#: ../python/frescobaldi_app/mainapp.py:613 msgid "Undot durations" msgstr "Punktierung aller Notenlängen entfernen" -#: ../python/frescobaldi_app/mainapp.py:604 +#: ../python/frescobaldi_app/mainapp.py:614 msgid "Remove one dot from all the durations in the selection." msgstr "Entferne Punktierung von allen Werten der Auswahl." -#: ../python/frescobaldi_app/mainapp.py:609 +#: ../python/frescobaldi_app/mainapp.py:619 msgid "Remove scaling" msgstr "Entferne Skalierung" -#: ../python/frescobaldi_app/mainapp.py:610 +#: ../python/frescobaldi_app/mainapp.py:620 msgid "Remove all scaling (*n/m) from the durations in the selection." msgstr "Entferne alle Normierungen (*n/m) von den Notenlängen in der Auswahl." -#: ../python/frescobaldi_app/mainapp.py:615 +#: ../python/frescobaldi_app/mainapp.py:625 msgid "Remove durations" msgstr "Notenlängen entfernen" -#: ../python/frescobaldi_app/mainapp.py:616 +#: ../python/frescobaldi_app/mainapp.py:626 msgid "Remove all durations from the selection." msgstr "Entferne alle Notenlängen der Auswahl." -#: ../python/frescobaldi_app/mainapp.py:621 +#: ../python/frescobaldi_app/mainapp.py:631 msgid "Make implicit" msgstr "Implizit machen" -#: ../python/frescobaldi_app/mainapp.py:622 +#: ../python/frescobaldi_app/mainapp.py:632 msgid "Make durations implicit (remove repeated durations)." msgstr "Gib Notenlängen implizit an (wiederholte Werte entfernen)." -#: ../python/frescobaldi_app/mainapp.py:627 +#: ../python/frescobaldi_app/mainapp.py:637 msgid "Make explicit" msgstr "Explizit machen" -#: ../python/frescobaldi_app/mainapp.py:628 +#: ../python/frescobaldi_app/mainapp.py:638 msgid "" "Make durations explicit (add duration to every note, even if it is the same " "as the preceding note)." @@ -1349,207 +1362,226 @@ "Gib Notenlängen explizit an (der Note wird auch dann eine Länge zugeordnet, " "wenn es die gleiche ist wie die vorhergehende)." -#: ../python/frescobaldi_app/mainapp.py:634 +#: ../python/frescobaldi_app/mainapp.py:644 msgid "Apply rhythm..." msgstr "Rhytmus anwenden..." -#: ../python/frescobaldi_app/mainapp.py:635 +#: ../python/frescobaldi_app/mainapp.py:645 msgid "Apply an entered rhythm to the selected music." msgstr "Wende den eingegebenen Rhythmus auf die ausgewählte Musik an." -#: ../python/frescobaldi_app/mainapp.py:639 +#: ../python/frescobaldi_app/mainapp.py:649 msgid "Copy rhythm" msgstr "Rhytmus kopieren" -#: ../python/frescobaldi_app/mainapp.py:640 +#: ../python/frescobaldi_app/mainapp.py:650 msgid "Copy the rhythm of the selected music." msgstr "Kopiere den Rhythmus der ausgewählten Musik." -#: ../python/frescobaldi_app/mainapp.py:646 +#: ../python/frescobaldi_app/mainapp.py:656 msgid "Paste rhythm" msgstr "Rhythmus einfügen" -#: ../python/frescobaldi_app/mainapp.py:647 +#: ../python/frescobaldi_app/mainapp.py:657 msgid "Paste a rhythm to the selected music." msgstr "Füge Rhythmus in die ausgewählte Musik ein." -#: ../python/frescobaldi_app/mainapp.py:655 +#: ../python/frescobaldi_app/mainapp.py:665 msgid "Double bar line" msgstr "Doppelter Taktstrich" -#: ../python/frescobaldi_app/mainapp.py:656 +#: ../python/frescobaldi_app/mainapp.py:666 msgid "Ending bar line" msgstr "Schlussstrich" -#: ../python/frescobaldi_app/mainapp.py:657 +#: ../python/frescobaldi_app/mainapp.py:667 msgid "Dotted bar line" msgstr "Gepunkteter Taktstrich" -#: ../python/frescobaldi_app/mainapp.py:658 +#: ../python/frescobaldi_app/mainapp.py:668 msgid "Dashed bar line" msgstr "Gestrichelter Taktstrich" -#: ../python/frescobaldi_app/mainapp.py:659 +#: ../python/frescobaldi_app/mainapp.py:669 msgid "Invisible bar line" msgstr "Unsichtbarer Taktstrich" -#: ../python/frescobaldi_app/mainapp.py:660 +#: ../python/frescobaldi_app/mainapp.py:670 msgid "Repeat start" msgstr "Wiederholungsanfang" -#: ../python/frescobaldi_app/mainapp.py:661 +#: ../python/frescobaldi_app/mainapp.py:671 msgid "Repeat both" msgstr "Wiederhole beide" -#: ../python/frescobaldi_app/mainapp.py:662 +#: ../python/frescobaldi_app/mainapp.py:672 msgid "Repeat end" msgstr "Wiederholungsende" -#: ../python/frescobaldi_app/mainapp.py:663 +#: ../python/frescobaldi_app/mainapp.py:673 msgid "Tick bar line" msgstr "Häkchen-Taktstrich" -#: ../python/frescobaldi_app/mainapp.py:664 +#: ../python/frescobaldi_app/mainapp.py:674 msgid "Single bar line" msgstr "Einzelner Taktstrich" -#: ../python/frescobaldi_app/mainapp.py:665 +#: ../python/frescobaldi_app/mainapp.py:675 msgid "Small-Wide-Small bar line" msgstr "Schmaler-breiter-schmaler Taktstrich" -#: ../python/frescobaldi_app/mainapp.py:666 +#: ../python/frescobaldi_app/mainapp.py:676 msgid "Wide-Small bar line" msgstr "Breiter-schmaler Taktstrich" -#: ../python/frescobaldi_app/mainapp.py:667 +#: ../python/frescobaldi_app/mainapp.py:677 msgid "Double wide bar line" msgstr "Taktstrich doppelter Breite" -#: ../python/frescobaldi_app/mainapp.py:668 +#: ../python/frescobaldi_app/mainapp.py:678 msgid "Repeat both (old)" msgstr "Wiederhole beide (alt)" -#: ../python/frescobaldi_app/mainapp.py:669 +#: ../python/frescobaldi_app/mainapp.py:679 msgid "Repeat both (classic)" msgstr "Wiederhole beide (klassisch)" -#: ../python/frescobaldi_app/mainapp.py:681 +#: ../python/frescobaldi_app/mainapp.py:691 msgid "Remove hyphenation" msgstr "Entferne Trennungsstriche" -#: ../python/frescobaldi_app/mainapp.py:686 +#: ../python/frescobaldi_app/mainapp.py:695 +msgid "Copy Lyrics with hyphenation removed" +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:700 msgid "Single Quote" msgstr "Einfache Anführungsstriche" -#: ../python/frescobaldi_app/mainapp.py:690 +#: ../python/frescobaldi_app/mainapp.py:704 msgid "Double Quote" msgstr "Doppelte Anführungszeichen" -#: ../python/frescobaldi_app/mainapp.py:694 +#: ../python/frescobaldi_app/mainapp.py:708 msgid "Align" msgstr "Ausrichten" -#: ../python/frescobaldi_app/mainapp.py:698 +#: ../python/frescobaldi_app/mainapp.py:712 msgid "Insert LilyPond version" msgstr "Füge LilyPond-Version ein" -#: ../python/frescobaldi_app/mainapp.py:703 +#: ../python/frescobaldi_app/mainapp.py:717 msgid "Update with convert-ly" msgstr "Mittels convert-ly aktualisieren" -#: ../python/frescobaldi_app/mainapp.py:708 +#: ../python/frescobaldi_app/mainapp.py:722 msgid "Open Current Folder" msgstr "Öffne aktuellen Ordner" -#: ../python/frescobaldi_app/mainapp.py:722 +#: ../python/frescobaldi_app/mainapp.py:737 msgid "Repeat selected music" msgstr "Wiederhole ausgewählte Musik" -#: ../python/frescobaldi_app/mainapp.py:728 +#: ../python/frescobaldi_app/mainapp.py:743 msgid "Insert pair of braces" msgstr "Füge Klammern-Paar ein" -#: ../python/frescobaldi_app/mainapp.py:776 +#: ../python/frescobaldi_app/mainapp.py:794 +msgid "Can't process document" +msgstr "Kann Dokument nicht verarbeiten" + +#: ../python/frescobaldi_app/mainapp.py:799 +msgid "Your document has been modified, please save first." +msgstr "Ihr Dokument wurde verändert, bitte speichern Sie es zuerst ab." + +#: ../python/frescobaldi_app/mainapp.py:824 +msgid "There is already a LilyPond job running for this document." +msgstr "Es läuft bereits ein LilyPond-Job für dieses Dokument." + +#: ../python/frescobaldi_app/mainapp.py:860 msgid "Abort the running LilyPond process" msgstr "Breche den laufenden LilyPond-Prozess ab" -#: ../python/frescobaldi_app/mainapp.py:779 -msgid "Run LilyPond in preview mode" +#: ../python/frescobaldi_app/mainapp.py:863 +#, fuzzy +msgid "Run LilyPond in preview mode (Shift-click for custom dialog)" msgstr "Lasse LilyPond im Vorschau-Modus laufen" -#: ../python/frescobaldi_app/mainapp.py:796 +#: ../python/frescobaldi_app/mainapp.py:872 +#: ../python/frescobaldi_app/mainapp.py:1088 +msgid "Quick Insert" +msgstr "Schnell einfügen" + +#: ../python/frescobaldi_app/mainapp.py:882 msgid "Apply Rhythm" msgstr "Rhythmus anwenden" -#: ../python/frescobaldi_app/mainapp.py:804 +#: ../python/frescobaldi_app/mainapp.py:890 msgid "Enter a rhythm:" msgstr "Rhythmus eingeben:" -#: ../python/frescobaldi_app/mainapp.py:807 +#: ../python/frescobaldi_app/mainapp.py:893 msgid "Enter a rhythm using space separated duration values (e.g. 8. 16 8 4 8)" msgstr "" "Rhythmus mit von Leerzeichen getrennten Werten eingeben (z.B. 8. 16 8 4 8)" -#: ../python/frescobaldi_app/mainapp.py:862 +#: ../python/frescobaldi_app/mainapp.py:917 msgid "Terminal" msgstr "Terminal" -#: ../python/frescobaldi_app/mainapp.py:900 +#: ../python/frescobaldi_app/mainapp.py:948 msgid "S&ynchronize Terminal with Current Document" msgstr "S&ynchronisiere Terminal mit aktuellem Dokument" -#: ../python/frescobaldi_app/mainapp.py:921 -#: ../python/frescobaldi_app/runlily.py:629 +#: ../python/frescobaldi_app/mainapp.py:969 +#: ../python/frescobaldi_app/runlily.py:783 msgid "PDF Preview" msgstr "PDF-Vorschau" -#: ../python/frescobaldi_app/mainapp.py:950 +#: ../python/frescobaldi_app/mainapp.py:1026 msgid "Show PDF Navigation Panel" msgstr "Zeige PDF-Navigationspanel" -#: ../python/frescobaldi_app/mainapp.py:951 +#: ../python/frescobaldi_app/mainapp.py:1027 msgid "Show PDF minipager" msgstr "Zeige PDF-Minipager" -#: ../python/frescobaldi_app/mainapp.py:952 +#: ../python/frescobaldi_app/mainapp.py:1028 msgid "Configure Okular..." msgstr "Konfiguriere Okular..." -#: ../python/frescobaldi_app/mainapp.py:955 +#: ../python/frescobaldi_app/mainapp.py:1031 msgid "S&ynchronize Preview with Current Document" msgstr "S&ynchronisiere Vorschau mit aktuellem Dokument" -#: ../python/frescobaldi_app/mainapp.py:956 +#: ../python/frescobaldi_app/mainapp.py:1032 #, fuzzy msgid "Reload" msgstr "Aufnahme" -#: ../python/frescobaldi_app/mainapp.py:1024 -msgid "Quick Insert" -msgstr "Schnell einfügen" - -#: ../python/frescobaldi_app/mainapp.py:1036 -#: ../python/frescobaldi_app/runlily.py:334 +#: ../python/frescobaldi_app/mainapp.py:1100 +#: ../python/frescobaldi_app/runlily.py:503 msgid "LilyPond Log" msgstr "LilyPond-Log" -#: ../python/frescobaldi_app/mainapp.py:1040 +#: ../python/frescobaldi_app/mainapp.py:1104 msgid "no log" msgstr "Kein Log" -#: ../python/frescobaldi_app/mainapp.py:1079 +#: ../python/frescobaldi_app/mainapp.py:1141 msgid "Only show on errors" msgstr "Zeige nur bei aufgetretenen Fehlern" -#: ../python/frescobaldi_app/mainapp.py:1103 +#: ../python/frescobaldi_app/mainapp.py:1165 msgid "Rumor" msgstr "Rumor" -#: ../python/frescobaldi_app/mainapp.py:1115 +#: ../python/frescobaldi_app/mainapp.py:1177 +#: ../python/frescobaldi_app/settings.py:297 msgid "LilyPond Documentation" msgstr "LilyPond-Dokumentation" -#: ../python/frescobaldi_app/rumor.py:72 +#: ../python/frescobaldi_app/rumor.py:73 msgid "" "The meter to use. Leave 'Auto' to let Frescobaldi determine the meter from " "the LilyPond document." @@ -1557,31 +1589,31 @@ "Das Metrum. 'Auto' lässt Frescobaldi das Metrum aus dem LilyPond-Dokument " "bestimmen." -#: ../python/frescobaldi_app/rumor.py:79 +#: ../python/frescobaldi_app/rumor.py:80 msgid "Quantize:" msgstr "Quantisiere:" -#: ../python/frescobaldi_app/rumor.py:85 +#: ../python/frescobaldi_app/rumor.py:86 msgid "The shortest note duration to use." msgstr "Kürzester zu benutzender Notenwert." -#: ../python/frescobaldi_app/rumor.py:90 +#: ../python/frescobaldi_app/rumor.py:91 msgid "Step" msgstr "Schritt" -#: ../python/frescobaldi_app/rumor.py:92 +#: ../python/frescobaldi_app/rumor.py:93 msgid "Record LilyPond input note by note, without durations." msgstr "Nehme LilyPond-Input Note für Note auf, ohne Notenlängen." -#: ../python/frescobaldi_app/rumor.py:96 +#: ../python/frescobaldi_app/rumor.py:97 msgid "Mono" msgstr "Mono" -#: ../python/frescobaldi_app/rumor.py:98 +#: ../python/frescobaldi_app/rumor.py:99 msgid "Record monophonic input, without chords." msgstr "Nehme einstimmig auf, ohne Akkorde." -#: ../python/frescobaldi_app/rumor.py:107 +#: ../python/frescobaldi_app/rumor.py:108 msgid "" "The number of accidentals. A negative number designates flats. Leave 'Auto' " "to let Frescobaldi determine the key signature from the LilyPond document." @@ -1589,23 +1621,23 @@ "Anzahl der Vorzeichen. Negative Nummern bedeuten Bs. 'Auto' lässt " "Frescobaldi die Vorzeichen aus dem LilyPond-Dokument bestimmen." -#: ../python/frescobaldi_app/rumor.py:113 +#: ../python/frescobaldi_app/rumor.py:114 msgid "Tempo:" msgstr "Tempo:" -#: ../python/frescobaldi_app/rumor.py:116 +#: ../python/frescobaldi_app/rumor.py:117 msgid "Meter:" msgstr "Metrum:" -#: ../python/frescobaldi_app/rumor.py:119 +#: ../python/frescobaldi_app/rumor.py:120 msgid "Key:" msgstr "Tonart:" -#: ../python/frescobaldi_app/rumor.py:131 +#: ../python/frescobaldi_app/rumor.py:132 msgid "Configure..." msgstr "Konfiguriere..." -#: ../python/frescobaldi_app/rumor.py:132 +#: ../python/frescobaldi_app/rumor.py:133 msgid "Adjust more settings, like MIDI input and output." msgstr "Mehr Einstellungen, wie z.B. MIDI-Eingang und -Ausgabe." @@ -1617,59 +1649,59 @@ msgid "Set these settings as default." msgstr "Speichere diese Einstellungen als Standard-Einstellung." -#: ../python/frescobaldi_app/rumor.py:148 +#: ../python/frescobaldi_app/rumor.py:147 msgid "Found rumor version %1." msgstr "Rumor Version %1 gefunden." -#: ../python/frescobaldi_app/rumor.py:151 +#: ../python/frescobaldi_app/rumor.py:150 msgid "Could not find Rumor: %1" msgstr "Konnte Rumor nicht finden: %1" -#: ../python/frescobaldi_app/rumor.py:165 +#: ../python/frescobaldi_app/rumor.py:164 msgid "Settings have been saved." msgstr "Voreinstellungen wurden gespeichert." -#: ../python/frescobaldi_app/rumor.py:316 +#: ../python/frescobaldi_app/rumor.py:315 msgid "Record" msgstr "Aufnahme" -#: ../python/frescobaldi_app/rumor.py:318 +#: ../python/frescobaldi_app/rumor.py:317 msgid "Start or stop Rumor MIDI-recording." msgstr "Starte oder stoppe Rumor MIDI-Aufnahme." -#: ../python/frescobaldi_app/rumor.py:334 +#: ../python/frescobaldi_app/rumor.py:333 msgid "Rumor is recording, press ESC to stop." msgstr "Rumor nimmt auf, drücken Sie ESC zum Stoppen." -#: ../python/frescobaldi_app/rumor.py:360 +#: ../python/frescobaldi_app/rumor.py:359 msgid "Rumor stopped." msgstr "Rumor angehalten." -#: ../python/frescobaldi_app/rumor.py:394 +#: ../python/frescobaldi_app/rumor.py:393 msgid "TiMidity" msgstr "TiMidity" -#: ../python/frescobaldi_app/rumor.py:395 +#: ../python/frescobaldi_app/rumor.py:394 msgid "Start or stop the TiMidity ALSA MIDI client." msgstr "Starte oder stoppe den TiMidity-ALSA-MIDI-Client." -#: ../python/frescobaldi_app/rumor.py:415 +#: ../python/frescobaldi_app/rumor.py:413 msgid "Rumor Settings" msgstr "Rumor Voreinstellungen" -#: ../python/frescobaldi_app/rumor.py:423 +#: ../python/frescobaldi_app/rumor.py:421 msgid "OSS device %1" msgstr "OSS-Gerät %1" -#: ../python/frescobaldi_app/rumor.py:425 +#: ../python/frescobaldi_app/rumor.py:423 msgid "Keyboard" msgstr "Keyboard" -#: ../python/frescobaldi_app/rumor.py:431 +#: ../python/frescobaldi_app/rumor.py:429 msgid "MIDI input:" msgstr "MIDI-Eingang:" -#: ../python/frescobaldi_app/rumor.py:435 +#: ../python/frescobaldi_app/rumor.py:433 msgid "" "MIDI input to use. Choose 'Keyboard' if you want to play on the keyboard of " "your computer." @@ -1677,28 +1709,28 @@ "Zu benutzende MIDI-Quelle. Wählen Sie 'Keyboard', wenn Sie auf der Tastatur " "ihres Rechners spielen möchten." -#: ../python/frescobaldi_app/rumor.py:441 +#: ../python/frescobaldi_app/rumor.py:439 msgid "MIDI output:" msgstr "MIDI-Ausgabe:" -#: ../python/frescobaldi_app/rumor.py:445 +#: ../python/frescobaldi_app/rumor.py:443 msgid "MIDI output to use." msgstr "Zu benutzende MIDI-Ausgabe." -#: ../python/frescobaldi_app/rumor.py:450 -#: ../python/frescobaldi_app/scorewiz/__init__.py:544 +#: ../python/frescobaldi_app/rumor.py:448 +#: ../python/frescobaldi_app/scorewiz/__init__.py:529 msgid "Language:" msgstr "Sprache:" -#: ../python/frescobaldi_app/rumor.py:455 +#: ../python/frescobaldi_app/rumor.py:453 msgid "The LilyPond language you want Rumor to output the pitches in." msgstr "Die LilyPond-Sprache, in der Rumor die Tonstufen ausgeben soll." -#: ../python/frescobaldi_app/rumor.py:463 +#: ../python/frescobaldi_app/rumor.py:461 msgid "Explicit durations" msgstr "Explizite Notenlängen" -#: ../python/frescobaldi_app/rumor.py:465 +#: ../python/frescobaldi_app/rumor.py:463 msgid "" "Add a duration after every note, even if it is the same as the preceding " "note." @@ -1706,51 +1738,51 @@ "Die Notenlänge nach jeder Note einfügen, auch wenn es die selbe ist wie die " "vorhergehende." -#: ../python/frescobaldi_app/rumor.py:470 +#: ../python/frescobaldi_app/rumor.py:468 msgid "Absolute pitch" msgstr "Absolute Tonlage" -#: ../python/frescobaldi_app/rumor.py:472 +#: ../python/frescobaldi_app/rumor.py:470 msgid "Use absolute pitches instead of relative." msgstr "Benutze alsolute Tonhöhen statt relativer." -#: ../python/frescobaldi_app/rumor.py:478 +#: ../python/frescobaldi_app/rumor.py:476 msgid "No barlines" msgstr "Keine Taktstriche" -#: ../python/frescobaldi_app/rumor.py:480 +#: ../python/frescobaldi_app/rumor.py:478 msgid "Filter the barlines out of Rumor's output." msgstr "Filtere die Taktstriche aus der Ausgabe von Rumor." -#: ../python/frescobaldi_app/rumor.py:484 +#: ../python/frescobaldi_app/rumor.py:482 msgid "No dots" msgstr "Keine Punktierung" -#: ../python/frescobaldi_app/rumor.py:486 +#: ../python/frescobaldi_app/rumor.py:484 msgid "Do not use dotted notes, but ties instead." msgstr "Benutze keine punktierten Noten sondern Bindebögen." -#: ../python/frescobaldi_app/rumor.py:490 +#: ../python/frescobaldi_app/rumor.py:488 msgid "Legato" msgstr "Legato" -#: ../python/frescobaldi_app/rumor.py:491 +#: ../python/frescobaldi_app/rumor.py:489 msgid "Do not use rests, but give all notes the maximum length." msgstr "Benutze keine Pausen, sondern gib allen Noten die maximale Länge." -#: ../python/frescobaldi_app/rumor.py:496 +#: ../python/frescobaldi_app/rumor.py:494 msgid "Strip rests" msgstr "Pausen abschneiden" -#: ../python/frescobaldi_app/rumor.py:498 +#: ../python/frescobaldi_app/rumor.py:496 msgid "Strip leading and trialing rests from output." msgstr "Schneide Pausen am Anfang und am Ende ab." -#: ../python/frescobaldi_app/rumor.py:502 +#: ../python/frescobaldi_app/rumor.py:500 msgid "Guile scripts to load:" msgstr "Guile-Scripts, die geladen werden sollen:" -#: ../python/frescobaldi_app/rumor.py:509 +#: ../python/frescobaldi_app/rumor.py:507 msgid "" "Here you can select which Guile scripts you want Rumor to load. Check " "\"What's this\" for more information." @@ -1758,7 +1790,7 @@ "Hier können Sie auswählen, welche Guile-Skripte von Rumor geladen werden " "sollen. Siehe auch \"Was ist das\" für mehr Informationen." -#: ../python/frescobaldi_app/rumor.py:513 +#: ../python/frescobaldi_app/rumor.py:511 msgid "" "Here you can select which Guile scripts you want Rumor to load. You can add " "your own scripts by putting them in %1. If the first line of your script " @@ -1769,56 +1801,134 @@ "angeben. Wenn die erste Zeile Ihres Skripts mit einem Semicolor (;) startet, " "wird die Zeile als Beschreibung hergenommen." -#: ../python/frescobaldi_app/rumor.py:635 +#: ../python/frescobaldi_app/rumor.py:633 msgid "Auto" msgstr "Auto" -#: ../python/frescobaldi_app/runlily.py:88 +#: ../python/frescobaldi_app/runlily.py:101 msgid "preview mode" msgstr "Vorschau-Modus" -#: ../python/frescobaldi_app/runlily.py:88 +#: ../python/frescobaldi_app/runlily.py:101 msgid "publish mode" msgstr "Veröffentlichungs-Modus" -#: ../python/frescobaldi_app/runlily.py:89 +#: ../python/frescobaldi_app/runlily.py:104 +msgid "LilyPond %1 [%2] starting (%3)..." +msgstr "LilyPond %1 [%2] startet (%3)..." + +#: ../python/frescobaldi_app/runlily.py:107 msgid "LilyPond [%1] starting (%2)..." msgstr "LilyPond [%1] startet (%2)..." -#: ../python/frescobaldi_app/runlily.py:95 +#: ../python/frescobaldi_app/runlily.py:131 msgid "LilyPond [%1] exited with return code %2." msgstr "LilyPond [%1] wurde mit dem Return-Code %2 beendet." -#: ../python/frescobaldi_app/runlily.py:98 +#: ../python/frescobaldi_app/runlily.py:134 msgid "LilyPond [%1] exited with exit status %2." msgstr "LilyPond [%1] wurde mit dem Exit-Status %2 beendet." -#: ../python/frescobaldi_app/runlily.py:107 +#: ../python/frescobaldi_app/runlily.py:140 msgid "LilyPond [%1] finished (%2)." msgstr "LilyPond [%1] ist fertig (%2)." -#: ../python/frescobaldi_app/runlily.py:115 +#: ../python/frescobaldi_app/runlily.py:150 msgid "Could not start LilyPond. Please check path and permissions." msgstr "" "Konnte LilyPond nicht starten. Bitte überprüfen Sie Pfad und Berechtigungen." -#: ../python/frescobaldi_app/runlily.py:118 +#: ../python/frescobaldi_app/runlily.py:153 msgid "Could not read from the LilyPond process." msgstr "Konnte Ausgabe des LilyPond-Prozesses nicht lesen." -#: ../python/frescobaldi_app/runlily.py:121 +#: ../python/frescobaldi_app/runlily.py:156 msgid "An unknown error occured." msgstr "Ein unbekannter Fehler ist aufgetreten." -#: ../python/frescobaldi_app/runlily.py:323 +#: ../python/frescobaldi_app/runlily.py:229 +#: ../python/frescobaldi_app/runlily.py:232 +#, fuzzy +msgid "Run LilyPond" +msgstr "LilyPond" + +#: ../python/frescobaldi_app/runlily.py:239 +#, fuzzy +msgid "Select which LilyPond version you want to run:" +msgstr "Bitte wählen Sie die Dateien, die Sie verschickt werden sollen:" + +#: ../python/frescobaldi_app/runlily.py:247 +#, fuzzy +msgid "Run LilyPond in preview mode (with Point and Click)" +msgstr "Lasse LilyPond im Vorschau-Modus laufen" + +#: ../python/frescobaldi_app/runlily.py:250 +#: ../python/frescobaldi_app/settings.py:150 +msgid "Run LilyPond with verbose output" +msgstr "Lasse LilyPond mit geschwätziger Ausgabe laufen" + +#: ../python/frescobaldi_app/runlily.py:292 +#, fuzzy +msgid "Command" +msgstr "Befehle" + +#: ../python/frescobaldi_app/runlily.py:299 +#, fuzzy +msgid "LilyPond %1" +msgstr "LilyPond" + +#: ../python/frescobaldi_app/runlily.py:300 +#, fuzzy +msgid "Use LilyPond version %1" +msgstr "Füge LilyPond-Version ein" + +#: ../python/frescobaldi_app/runlily.py:303 +#: ../python/frescobaldi_app/settings.py:601 +#, fuzzy +msgid "default" +msgstr "Standard" + +#: ../python/frescobaldi_app/runlily.py:304 +#, fuzzy +msgid "Default LilyPond Version." +msgstr "Füge LilyPond-Version ein" + +#: ../python/frescobaldi_app/runlily.py:306 +msgid "automatic" +msgstr "" + +#: ../python/frescobaldi_app/runlily.py:307 +#, fuzzy +msgid "Automatic LilyPond Version (determined from document)." +msgstr "" +"Die LilyPond-Versionsnummer, die für neue Dokumente benutzt werden soll" + +#: ../python/frescobaldi_app/runlily.py:312 +#, fuzzy +msgid "Path: %1" +msgstr "Spiele %1" + +#: ../python/frescobaldi_app/runlily.py:316 +#, fuzzy +msgid "LilyPond (version unknown)" +msgstr "Füge LilyPond-Version (%s) ein" + +#: ../python/frescobaldi_app/runlily.py:317 +#, fuzzy +msgid "" +"Use LilyPond (version unknown)\n" +"Path: %1" +msgstr "Füge LilyPond-Version (%s) ein" + +#: ../python/frescobaldi_app/runlily.py:491 msgid "Click to edit this file" msgstr "Klicken, um Datei zu bearbeiten" -#: ../python/frescobaldi_app/runlily.py:355 +#: ../python/frescobaldi_app/runlily.py:524 msgid "Save LilyPond Log as" msgstr "Speichere LilyPond-Log unter" -#: ../python/frescobaldi_app/runlily.py:392 +#: ../python/frescobaldi_app/runlily.py:540 msgid "" "Could not save LilyPond log:\n" "\n" @@ -1828,109 +1938,97 @@ "\n" "%1" -#: ../python/frescobaldi_app/settings.py:49 +#: ../python/frescobaldi_app/settings.py:54 msgid "Configure" msgstr "Konfigurieren" -#: ../python/frescobaldi_app/settings.py:104 +#: ../python/frescobaldi_app/settings.py:110 msgid "Editor Component" msgstr "Editor-Komponente" -#: ../python/frescobaldi_app/settings.py:105 +#: ../python/frescobaldi_app/settings.py:111 msgid "Editor Component Options" msgstr "Einstellungen der Editor-Komponente" -#: ../python/frescobaldi_app/settings.py:134 +#: ../python/frescobaldi_app/settings.py:140 msgid "General Preferences" msgstr "Allgemeine Einstellungen" -#: ../python/frescobaldi_app/settings.py:135 +#: ../python/frescobaldi_app/settings.py:141 msgid "General Frescobaldi Preferences" msgstr "Allgemeine Einstellungen von Frescobaldi" -#: ../python/frescobaldi_app/settings.py:140 +#: ../python/frescobaldi_app/settings.py:146 msgid "Save document when LilyPond is run" msgstr "Speichere Dokument, bevor LilyPond ausgeführt wird" -#: ../python/frescobaldi_app/settings.py:142 +#: ../python/frescobaldi_app/settings.py:148 msgid "Let LilyPond delete intermediate output files" msgstr "Erlaube LilyPond, die temporären Output-Dateien zu löschen" -#: ../python/frescobaldi_app/settings.py:144 -msgid "Run LilyPond with verbose output" -msgstr "Lasse LilyPond mit geschwätziger Ausgabe laufen" - -#: ../python/frescobaldi_app/settings.py:146 +#: ../python/frescobaldi_app/settings.py:152 msgid "Remember cursor position, bookmarks, etc." msgstr "Speichere Cursor-Positionen, Bookmarks, usw." -#: ../python/frescobaldi_app/settings.py:148 +#: ../python/frescobaldi_app/settings.py:154 msgid "Disable the built-in PDF preview" msgstr "Schalte eingebettete PDF-Vorschau ab" -#: ../python/frescobaldi_app/settings.py:165 +#: ../python/frescobaldi_app/settings.py:170 msgid "LilyPond version number to use for new documents" msgstr "" "Die LilyPond-Versionsnummer, die für neue Dokumente benutzt werden soll" -#: ../python/frescobaldi_app/settings.py:167 +#: ../python/frescobaldi_app/settings.py:172 msgid "Use version number of installed LilyPond" msgstr "Benutze Versionsnummer der LilyPond-Installation" -#: ../python/frescobaldi_app/settings.py:168 +#: ../python/frescobaldi_app/settings.py:173 msgid "Use version number of last convert-ly rule" msgstr "Benutze Versionsnummer der letzten convert-ly Regel" -#: ../python/frescobaldi_app/settings.py:169 +#: ../python/frescobaldi_app/settings.py:174 msgid "Use custom version number:" msgstr "Benutze eigene Versionsnummer:" -#: ../python/frescobaldi_app/settings.py:175 +#: ../python/frescobaldi_app/settings.py:179 msgid "Enter a valid LilyPond version number, e.g. 2.12.0" msgstr "Eine gültige LilyPond-Versionsnummer eingeben, z.B. 2.12.0" -#: ../python/frescobaldi_app/settings.py:233 +#: ../python/frescobaldi_app/settings.py:234 msgid "Paths" msgstr "Pfade" -#: ../python/frescobaldi_app/settings.py:234 +#: ../python/frescobaldi_app/settings.py:235 msgid "Paths to programs or data used by Frescobaldi" msgstr "Pfade zu den Programmen oder Daten, die von Frescobaldi benutzt werden" -#: ../python/frescobaldi_app/settings.py:244 -msgid "Name or full path of the LilyPond program." -msgstr "Name oder vollständiger Pfad des LilyPond-Programms." - -#: ../python/frescobaldi_app/settings.py:246 -msgid "Name or full path of the convert-ly program." -msgstr "Name oder vollständiger Pfad des convert-ly-Programms." - -#: ../python/frescobaldi_app/settings.py:247 +#: ../python/frescobaldi_app/settings.py:249 msgid "PDF Viewer:" msgstr "PDF-Betrachter:" -#: ../python/frescobaldi_app/settings.py:248 +#: ../python/frescobaldi_app/settings.py:250 msgid "PDF Viewer" msgstr "PDF-Betrachter" -#: ../python/frescobaldi_app/settings.py:249 -#: ../python/frescobaldi_app/settings.py:252 +#: ../python/frescobaldi_app/settings.py:251 +#: ../python/frescobaldi_app/settings.py:254 msgid "(leave empty for operating system default)" msgstr "(leer lassen für Standardeinstellung des Betriebssystems)" -#: ../python/frescobaldi_app/settings.py:250 +#: ../python/frescobaldi_app/settings.py:252 msgid "MIDI Player:" msgstr "MIDI-Player:" -#: ../python/frescobaldi_app/settings.py:251 +#: ../python/frescobaldi_app/settings.py:253 msgid "MIDI Player" msgstr "MIDI-Player" -#: ../python/frescobaldi_app/settings.py:253 +#: ../python/frescobaldi_app/settings.py:255 msgid "Printcommand:" msgstr "Druckbefehl:" -#: ../python/frescobaldi_app/settings.py:254 +#: ../python/frescobaldi_app/settings.py:256 msgid "" "Command to print a PDF file, for example lpr or kprinter. You may add some " "arguments, e.g. lpr -P myprinter." @@ -1938,23 +2036,23 @@ "Befehl, um ein PDF zu drucken, z.B. lpr oder kprinter. Sie können auch " "weitere Argumente hinzufügen, beispielsweise lpr -P meindrucker." -#: ../python/frescobaldi_app/settings.py:270 +#: ../python/frescobaldi_app/settings.py:272 msgid "Default directory:" msgstr "Standard-Verzeichnis:" -#: ../python/frescobaldi_app/settings.py:275 +#: ../python/frescobaldi_app/settings.py:277 msgid "The default folder for your LilyPond documents (optional)." msgstr "Der Standard-Ordner der LilyPond-Dokumente (optional)." -#: ../python/frescobaldi_app/settings.py:287 +#: ../python/frescobaldi_app/settings.py:288 msgid "LilyPond documentation:" msgstr "LilyPond-Dokumentation:" -#: ../python/frescobaldi_app/settings.py:292 +#: ../python/frescobaldi_app/settings.py:294 msgid "Url or path to the LilyPond documentation." msgstr "Url oder Pfad zur LilyPond-Dokumentation." -#: ../python/frescobaldi_app/settings.py:304 +#: ../python/frescobaldi_app/settings.py:305 msgid "" "Paths to search for hyphenation dictionaries of OpenOffice.org, Scribus, " "KOffice, etc, one per line. If you leave out the starting slash, the " @@ -1965,23 +2063,23 @@ "Zeile. Wenn Sie den Schrägstrich am Anfang weglassen, werden die Pfade aus " "der KDEDIRS-Variable benutzt." -#: ../python/frescobaldi_app/settings.py:363 +#: ../python/frescobaldi_app/settings.py:366 msgid "Rumor MIDI input" msgstr "Rumor-MIDI-Eingang" -#: ../python/frescobaldi_app/settings.py:364 +#: ../python/frescobaldi_app/settings.py:367 msgid "Rumor MIDI input plugin settings" msgstr "Einstellungen für Rumor-MIDI-Eingabe-Plugin" -#: ../python/frescobaldi_app/settings.py:369 +#: ../python/frescobaldi_app/settings.py:372 msgid "Commands used by the Rumor MIDI input module" msgstr "Befehle, die vom Rumor-MIDI-Eingabe-Modul benutzt werden" -#: ../python/frescobaldi_app/settings.py:376 +#: ../python/frescobaldi_app/settings.py:379 msgid "Name or full path of the Rumor program." msgstr "Name oder vollständiger Pfad des Programms Rumor." -#: ../python/frescobaldi_app/settings.py:378 +#: ../python/frescobaldi_app/settings.py:381 msgid "" "Name or full path of the aconnect program (part of ALSA, for MIDI input and " "playback using Rumor)." @@ -1989,23 +2087,80 @@ "Name oder vollständiger Pfad des Programms aconnect (Teil von ALSA, für MIDI-" "Input und Abspielen mit Rumor)." -#: ../python/frescobaldi_app/settings.py:382 +#: ../python/frescobaldi_app/settings.py:385 msgid "" "Full command to start Timidity (or any other program) as an ALSA MIDI client." msgstr "" "Vollständiger Befehl zum Starten von Timidity (oder einem anderen Programm) " "als ALSA-MIDI-Client." -#: ../python/frescobaldi_app/version.py:55 +#: ../python/frescobaldi_app/settings.py:421 +#, fuzzy +msgid "LilyPond versions to use:" +msgstr "Füge LilyPond-Version (%s) ein" + +#: ../python/frescobaldi_app/settings.py:432 +msgid "" +"Enable automatic version selection (choose LilyPond version from document)" +msgstr "" + +#: ../python/frescobaldi_app/settings.py:558 +msgid "Convert-ly:" +msgstr "" + +#: ../python/frescobaldi_app/settings.py:559 +#, fuzzy +msgid "Lilypond-book:" +msgstr "LilyPond" + +#: ../python/frescobaldi_app/settings.py:595 +#, fuzzy +msgid "Path" +msgstr "Pfade" + +#: ../python/frescobaldi_app/settings.py:596 +#, fuzzy +msgid "Version" +msgstr "Version:" + +#: ../python/frescobaldi_app/settings.py:599 +#, fuzzy +msgid "Can't determine LilyPond version." +msgstr "Füge LilyPond-Version ein" + +#: ../python/frescobaldi_app/settings.py:624 +#, fuzzy +msgid "LilyPond Command:" +msgstr "LilyPond-Befehlsindex" + +#: ../python/frescobaldi_app/settings.py:628 +msgid "Name or full path of the LilyPond program." +msgstr "Name oder vollständiger Pfad des LilyPond-Programms." + +#: ../python/frescobaldi_app/settings.py:629 +#, fuzzy +msgid "LilyPond Command" +msgstr "LilyPond-Befehlsindex" + +#: ../python/frescobaldi_app/settings.py:642 +#, fuzzy +msgid "Set as default" +msgstr "Speichere diese Einstellungen als Standard-Einstellung." + +#: ../python/frescobaldi_app/settings.py:644 +msgid "Include in automatic version selection" +msgstr "" + +#: ../python/frescobaldi_app/version.py:61 msgid "Your document has already a LilyPond version statement." msgstr "Die LilyPond-Version Ihres Dokuments ist bereits festgelegt." -#: ../python/frescobaldi_app/version.py:56 +#: ../python/frescobaldi_app/version.py:62 msgid "Version already set" msgstr "Version bereits festgelegt" -#: ../python/frescobaldi_app/version.py:64 -#: ../python/frescobaldi_app/version.py:82 +#: ../python/frescobaldi_app/version.py:70 +#: ../python/frescobaldi_app/version.py:88 msgid "" "Can't determine the version of LilyPond. Please check your LilyPond " "installation." @@ -2013,7 +2168,7 @@ "Konnte die LilyPond-Version nicht entdecken. Bitte kontrollieren Sie Ihre " "Installation." -#: ../python/frescobaldi_app/version.py:78 +#: ../python/frescobaldi_app/version.py:84 msgid "" "Can't determine the LilyPond version of the current document. Please add a " "\\version statement with the correct version." @@ -2021,11 +2176,11 @@ "Konnte die LilyPond-Version nicht entdecken. Bitte fügen Sie eine \\version " "Deklaration mit der korrekten Version hinzu." -#: ../python/frescobaldi_app/version.py:86 +#: ../python/frescobaldi_app/version.py:92 msgid "This LilyPond document is already up-to-date." msgstr "Dieses LilyPond-Dokument ist bereits auf dem neuesten Stand." -#: ../python/frescobaldi_app/version.py:100 +#: ../python/frescobaldi_app/version.py:105 msgid "" "The document has been processed with convert-ly. You'll find the messages of " "convert-ly in a comment block at the end. You still may have to edit some " @@ -2035,7 +2190,7 @@ "convert-ly in einem Kommentar-Block am Ende. Sie müssen vielleicht noch " "einige Teile manuell bearbeiten." -#: ../python/frescobaldi_app/version.py:106 +#: ../python/frescobaldi_app/version.py:111 msgid "" "The document has been processed with convert-ly, but remained unchanged. " "This is the message given by convert-ly: %1" @@ -2043,183 +2198,183 @@ "Das Dokument wurde mit convert-ly verarbeitet, blieb aber unverändert. Das " "ist die Meldung von convert-ly: %1" -#: ../python/frescobaldi_app/version.py:111 +#: ../python/frescobaldi_app/version.py:116 msgid "Could not start convert-ly: %1" msgstr "Konnte convert-ly nicht starten: %1" -#: ../python/frescobaldi_app/widgets.py:46 +#: ../python/frescobaldi_app/widgets.py:47 msgid "Tap" msgstr "Tap" -#: ../python/frescobaldi_app/widgets.py:52 +#: ../python/frescobaldi_app/widgets.py:53 msgid "Click this button a few times to set the tempo." msgstr "Klicken Sie auf diesen Knopf, um das Tempo einzustellen." -#: ../python/frescobaldi_app/widgets.py:178 +#: ../python/frescobaldi_app/widgets.py:179 msgid "The tempo in beats per minute." msgstr "Das Tempo in BPM (beats per minute)." -#: ../python/frescobaldi_app/widgets.py:290 +#: ../python/frescobaldi_app/widgets.py:288 msgid "Treble" msgstr "Sopran" -#: ../python/frescobaldi_app/widgets.py:291 -#: ../python/frescobaldi_app/scorewiz/parts.py:809 +#: ../python/frescobaldi_app/widgets.py:289 +#: ../python/frescobaldi_app/scorewiz/parts.py:812 msgid "Alto" msgstr "Alt" -#: ../python/frescobaldi_app/widgets.py:292 -#: ../python/frescobaldi_app/scorewiz/parts.py:815 +#: ../python/frescobaldi_app/widgets.py:290 +#: ../python/frescobaldi_app/scorewiz/parts.py:818 msgid "Tenor" msgstr "Tenor" -#: ../python/frescobaldi_app/widgets.py:293 +#: ../python/frescobaldi_app/widgets.py:291 msgid "Treble 8" msgstr "Sopran 8" -#: ../python/frescobaldi_app/widgets.py:294 -#: ../python/frescobaldi_app/scorewiz/parts.py:585 -#: ../python/frescobaldi_app/scorewiz/parts.py:822 +#: ../python/frescobaldi_app/widgets.py:292 +#: ../python/frescobaldi_app/scorewiz/parts.py:588 +#: ../python/frescobaldi_app/scorewiz/parts.py:825 msgid "Bass" msgstr "Bass" -#: ../python/frescobaldi_app/widgets.py:295 -#: ../python/frescobaldi_app/scorewiz/parts.py:1402 +#: ../python/frescobaldi_app/widgets.py:293 +#: ../python/frescobaldi_app/scorewiz/parts.py:1512 msgid "Percussion" msgstr "Schlagzeug" -#: ../python/frescobaldi_app/widgets.py:298 +#: ../python/frescobaldi_app/widgets.py:296 msgid "Tab clef" msgstr "Tab-Schlüssel" -#: ../python/frescobaldi_app/widgets.py:300 +#: ../python/frescobaldi_app/widgets.py:298 msgid "No Clef" msgstr "Kein Schlüssel" -#: ../python/frescobaldi_app/scorewiz/__init__.py:68 +#: ../python/frescobaldi_app/scorewiz/__init__.py:62 msgid "Score Setup Wizard" msgstr "Assistent zum Erstellen einer Partitur" -#: ../python/frescobaldi_app/scorewiz/__init__.py:137 +#: ../python/frescobaldi_app/scorewiz/__init__.py:133 msgid "Titles and Headers" msgstr "Titel und Kopfzeilen" -#: ../python/frescobaldi_app/scorewiz/__init__.py:155 +#: ../python/frescobaldi_app/scorewiz/__init__.py:151 msgid "Click to enter a value." msgstr "Klicken, um Wert einzugeben." -#: ../python/frescobaldi_app/scorewiz/__init__.py:157 +#: ../python/frescobaldi_app/scorewiz/__init__.py:153 msgid "bottom of first page" msgstr "Fußzeile der ersten Seite" -#: ../python/frescobaldi_app/scorewiz/__init__.py:158 +#: ../python/frescobaldi_app/scorewiz/__init__.py:154 msgid "bottom of last page" msgstr "Fußzeile der letzten Seite" -#: ../python/frescobaldi_app/scorewiz/__init__.py:201 +#: ../python/frescobaldi_app/scorewiz/__init__.py:194 msgid "Parts" msgstr "Teile" -#: ../python/frescobaldi_app/scorewiz/__init__.py:206 +#: ../python/frescobaldi_app/scorewiz/__init__.py:199 msgid "Available parts:" msgstr "Verfügbare Teile:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:209 +#: ../python/frescobaldi_app/scorewiz/__init__.py:202 msgid "Add selected part to your score." msgstr "Füge ausgewählten Teil der Partitur hinzu." -#: ../python/frescobaldi_app/scorewiz/__init__.py:214 +#: ../python/frescobaldi_app/scorewiz/__init__.py:207 msgid "Score:" msgstr "Partitur:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:348 -#: ../python/frescobaldi_app/scorewiz/__init__.py:353 +#: ../python/frescobaldi_app/scorewiz/__init__.py:341 +#: ../python/frescobaldi_app/scorewiz/__init__.py:346 msgid "Score settings" msgstr "Partitur-Einstellungen" -#: ../python/frescobaldi_app/scorewiz/__init__.py:360 +#: ../python/frescobaldi_app/scorewiz/__init__.py:353 msgid "General preferences" msgstr "Allgemeine Einstellungen" -#: ../python/frescobaldi_app/scorewiz/__init__.py:362 +#: ../python/frescobaldi_app/scorewiz/__init__.py:355 msgid "Instrument names" msgstr "Instrumentennamen" -#: ../python/frescobaldi_app/scorewiz/__init__.py:369 +#: ../python/frescobaldi_app/scorewiz/__init__.py:362 msgid "Key signature:" msgstr "Tonart:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:377 +#: ../python/frescobaldi_app/scorewiz/__init__.py:370 msgid "Time signature:" msgstr "Taktart:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:393 +#: ../python/frescobaldi_app/scorewiz/__init__.py:386 msgid "Pickup measure:" msgstr "Auftakt:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:405 +#: ../python/frescobaldi_app/scorewiz/__init__.py:398 msgid "Metronome mark:" msgstr "Metronom-Markierung:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:434 +#: ../python/frescobaldi_app/scorewiz/__init__.py:427 msgid "Tempo indication:" msgstr "Tempo-Bezeichnung:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:438 +#: ../python/frescobaldi_app/scorewiz/__init__.py:431 msgid "A tempo indication, e.g. \"Allegro.\"" msgstr "Eine Tempo-Bezeichnung, z.B. \"Allegro.\"" -#: ../python/frescobaldi_app/scorewiz/__init__.py:444 +#: ../python/frescobaldi_app/scorewiz/__init__.py:437 msgid "Pitch name language:" msgstr "Sprache für die Name der Tonlagenn:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:452 +#: ../python/frescobaldi_app/scorewiz/__init__.py:445 msgid "The LilyPond language you want to use for the pitch names." msgstr "Die LilyPond-Sprache für die Namen der Tonlagen." -#: ../python/frescobaldi_app/scorewiz/__init__.py:469 +#: ../python/frescobaldi_app/scorewiz/__init__.py:451 msgid "Version:" msgstr "Version:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:478 +#: ../python/frescobaldi_app/scorewiz/__init__.py:460 msgid "The LilyPond version you will be using for this document." msgstr "Die LilyPond-Version für dieses Dokument." -#: ../python/frescobaldi_app/scorewiz/__init__.py:482 +#: ../python/frescobaldi_app/scorewiz/__init__.py:464 msgid "Use typographical quotes" msgstr "Benutze typografische Anführungszeichen" -#: ../python/frescobaldi_app/scorewiz/__init__.py:484 +#: ../python/frescobaldi_app/scorewiz/__init__.py:466 msgid "Replace normal quotes in titles with nice typographical quotes." msgstr "" "Ersetze normale Anführungszeichen in Titeln durch schöne typografische." -#: ../python/frescobaldi_app/scorewiz/__init__.py:488 +#: ../python/frescobaldi_app/scorewiz/__init__.py:470 msgid "Suppress the default tagline output by LilyPond." msgstr "Unterdrücke LilyPond-Standard-Tagline." -#: ../python/frescobaldi_app/scorewiz/__init__.py:490 +#: ../python/frescobaldi_app/scorewiz/__init__.py:472 msgid "Remove bar numbers" msgstr "Lösche Taktzahlen" -#: ../python/frescobaldi_app/scorewiz/__init__.py:492 +#: ../python/frescobaldi_app/scorewiz/__init__.py:474 msgid "" "Suppress the display of measure numbers at the beginning of every system." msgstr "Unterdrücke Taktzahlen am Anfang jedes Systems." -#: ../python/frescobaldi_app/scorewiz/__init__.py:495 +#: ../python/frescobaldi_app/scorewiz/__init__.py:477 msgid "Create MIDI output" msgstr "MIDI-Ausgabe erstellen" -#: ../python/frescobaldi_app/scorewiz/__init__.py:497 +#: ../python/frescobaldi_app/scorewiz/__init__.py:479 msgid "Create a MIDI file in addition to the PDF file." msgstr "Zusätzlich zum PDF eine MIDI-Datei erstellen." -#: ../python/frescobaldi_app/scorewiz/__init__.py:499 +#: ../python/frescobaldi_app/scorewiz/__init__.py:481 msgid "Show metronome mark" msgstr "Metronom-Markierung anzeigen" -#: ../python/frescobaldi_app/scorewiz/__init__.py:501 +#: ../python/frescobaldi_app/scorewiz/__init__.py:483 msgid "" "If checked, show the metronome mark at the beginning of the score. The MIDI " "output also uses the metronome setting." @@ -2227,153 +2382,161 @@ "Wenn ausgewählt, Metronom-Markierung am Anfang der Partitur anzeigen. Die " "MIDI-Ausgabe nutzt ebenfalls die Mentronom-Einstellungen." -#: ../python/frescobaldi_app/scorewiz/__init__.py:512 +#: ../python/frescobaldi_app/scorewiz/__init__.py:487 +msgid "Wrap score in \\book block" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/__init__.py:489 +msgid "If checked, wraps the \\score block inside a \\book block." +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/__init__.py:499 msgid "Landscape" msgstr "Quer" -#: ../python/frescobaldi_app/scorewiz/__init__.py:526 +#: ../python/frescobaldi_app/scorewiz/__init__.py:511 msgid "First system:" msgstr "Erstes System:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:529 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/scorewiz/__init__.py:514 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "Long" msgstr "Lang" -#: ../python/frescobaldi_app/scorewiz/__init__.py:529 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/scorewiz/__init__.py:514 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "Short" msgstr "Kurz" -#: ../python/frescobaldi_app/scorewiz/__init__.py:531 +#: ../python/frescobaldi_app/scorewiz/__init__.py:516 msgid "Use long or short instrument names before the first system." msgstr "Benutze lange oder kurze Instrumentennamen vor dem ersten System." -#: ../python/frescobaldi_app/scorewiz/__init__.py:535 +#: ../python/frescobaldi_app/scorewiz/__init__.py:520 msgid "Other systems:" msgstr "Andere Systeme:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:540 +#: ../python/frescobaldi_app/scorewiz/__init__.py:525 msgid "Use short, long or no instrument names before the next systems." msgstr "" "Füge kurze, lange oder keine Instrumentennamen vor dem nächsten System ein." -#: ../python/frescobaldi_app/scorewiz/__init__.py:548 +#: ../python/frescobaldi_app/scorewiz/__init__.py:533 msgid "Which language to use for the instrument names." msgstr "Welche Sprache für die Instrumentennamen benutzt werden sollen." -#: ../python/frescobaldi_app/scorewiz/__init__.py:726 +#: ../python/frescobaldi_app/scorewiz/__init__.py:736 msgid "Remove default LilyPond tagline" msgstr "Voreingestellte LilyPond-Tagline entfernen" -#: ../python/frescobaldi_app/scorewiz/__init__.py:1040 +#: ../python/frescobaldi_app/scorewiz/__init__.py:1077 msgid "No settings available." msgstr "Keine Einstellungen vorhanden." -#: ../python/frescobaldi_app/scorewiz/parts.py:50 +#: ../python/frescobaldi_app/scorewiz/parts.py:54 msgid "Voices:" msgstr "Stimmen:" -#: ../python/frescobaldi_app/scorewiz/parts.py:55 +#: ../python/frescobaldi_app/scorewiz/parts.py:59 msgid "How many voices to put in this staff." msgstr "Wie viele Stimmen in diese Notenzeile gehören." -#: ../python/frescobaldi_app/scorewiz/parts.py:93 +#: ../python/frescobaldi_app/scorewiz/parts.py:97 msgid "Music follows here." msgstr "Musik folgt hier." -#: ../python/frescobaldi_app/scorewiz/parts.py:160 +#: ../python/frescobaldi_app/scorewiz/parts.py:164 msgid "Staff type:" msgstr "Notenzeilen-Typ:" -#: ../python/frescobaldi_app/scorewiz/parts.py:164 +#: ../python/frescobaldi_app/scorewiz/parts.py:168 msgid "Normal staff" msgstr "Normale Notenzeilen" -#: ../python/frescobaldi_app/scorewiz/parts.py:165 +#: ../python/frescobaldi_app/scorewiz/parts.py:169 msgid "Tablature" msgstr "Tabulatur" -#: ../python/frescobaldi_app/scorewiz/parts.py:166 +#: ../python/frescobaldi_app/scorewiz/parts.py:170 msgid "Both" msgstr "Beides" -#: ../python/frescobaldi_app/scorewiz/parts.py:177 +#: ../python/frescobaldi_app/scorewiz/parts.py:180 msgid "Tuning:" msgstr "Stimmung:" -#: ../python/frescobaldi_app/scorewiz/parts.py:298 +#: ../python/frescobaldi_app/scorewiz/parts.py:301 msgid "Lyrics follow here." msgstr "Text folgt hier." -#: ../python/frescobaldi_app/scorewiz/parts.py:309 +#: ../python/frescobaldi_app/scorewiz/parts.py:312 msgid "Stanzas:" msgstr "Strophen:" -#: ../python/frescobaldi_app/scorewiz/parts.py:313 +#: ../python/frescobaldi_app/scorewiz/parts.py:316 msgid "The number of stanzas." msgstr "Die Anzahl der Strophen." -#: ../python/frescobaldi_app/scorewiz/parts.py:316 +#: ../python/frescobaldi_app/scorewiz/parts.py:319 msgid "Ambitus" msgstr "Tonumfang" -#: ../python/frescobaldi_app/scorewiz/parts.py:319 +#: ../python/frescobaldi_app/scorewiz/parts.py:322 msgid "Show the pitch range of the voice at the beginning of the staff." msgstr "Zeige den Tonumfang jeder Stimme am Anfang jedes Systems." -#: ../python/frescobaldi_app/scorewiz/parts.py:383 +#: ../python/frescobaldi_app/scorewiz/parts.py:386 msgid "Adjust how many separate voices you want on each staff." msgstr "Passen Sie die Anzahl separater Stimmen pro Zeile an." -#: ../python/frescobaldi_app/scorewiz/parts.py:384 +#: ../python/frescobaldi_app/scorewiz/parts.py:387 msgid "This is primarily useful when you write polyphonic music like a fuge." msgstr "" "Das ist vor allem dann nützlich, wenn Sie polyphone Musik schreiben, wie z." "B. eine Fuge." -#: ../python/frescobaldi_app/scorewiz/parts.py:388 +#: ../python/frescobaldi_app/scorewiz/parts.py:391 msgid "Right hand:" msgstr "Rechte Hand:" -#: ../python/frescobaldi_app/scorewiz/parts.py:389 +#: ../python/frescobaldi_app/scorewiz/parts.py:392 msgid "Left hand:" msgstr "Linke Hand:" -#: ../python/frescobaldi_app/scorewiz/parts.py:408 -#: ../python/frescobaldi_app/scorewiz/parts.py:895 +#: ../python/frescobaldi_app/scorewiz/parts.py:411 +#: ../python/frescobaldi_app/scorewiz/parts.py:898 msgid "Chord names" msgstr "Akkord-Namen" -#: ../python/frescobaldi_app/scorewiz/parts.py:420 +#: ../python/frescobaldi_app/scorewiz/parts.py:423 msgid "Chords follow here." msgstr "Akkorde folgen hier." -#: ../python/frescobaldi_app/scorewiz/parts.py:432 +#: ../python/frescobaldi_app/scorewiz/parts.py:435 msgid "Chord style:" msgstr "Akkord-Stil:" -#: ../python/frescobaldi_app/scorewiz/parts.py:437 +#: ../python/frescobaldi_app/scorewiz/parts.py:440 msgid "German" msgstr "Deutsch" -#: ../python/frescobaldi_app/scorewiz/parts.py:438 +#: ../python/frescobaldi_app/scorewiz/parts.py:441 msgid "Semi-German" msgstr "Halb-Deutsch" -#: ../python/frescobaldi_app/scorewiz/parts.py:439 +#: ../python/frescobaldi_app/scorewiz/parts.py:442 msgid "Italian" msgstr "Italienisch" -#: ../python/frescobaldi_app/scorewiz/parts.py:440 +#: ../python/frescobaldi_app/scorewiz/parts.py:443 msgid "French" msgstr "Französisch" -#: ../python/frescobaldi_app/scorewiz/parts.py:441 +#: ../python/frescobaldi_app/scorewiz/parts.py:444 msgid "Guitar fret diagrams" msgstr "Gitarren-Bund-Diagramme" -#: ../python/frescobaldi_app/scorewiz/parts.py:443 +#: ../python/frescobaldi_app/scorewiz/parts.py:446 msgid "" "Show predefined guitar fret diagrams below the chord names (LilyPond 2.12 " "and above)." @@ -2381,392 +2544,392 @@ "Zeige voreingestellte Gitarren-Bund-Diagramme unter den Akkord-Namen " "(LilyPond 2.12 und neuer)." -#: ../python/frescobaldi_app/scorewiz/parts.py:449 +#: ../python/frescobaldi_app/scorewiz/parts.py:452 msgid "Figured Bass" msgstr "Firgurierter Bass" -#: ../python/frescobaldi_app/scorewiz/parts.py:457 -#: ../python/frescobaldi_app/scorewiz/parts.py:516 +#: ../python/frescobaldi_app/scorewiz/parts.py:460 +#: ../python/frescobaldi_app/scorewiz/parts.py:519 msgid "Figures follow here." msgstr "Figur folgt hier." -#: ../python/frescobaldi_app/scorewiz/parts.py:464 +#: ../python/frescobaldi_app/scorewiz/parts.py:467 msgid "Use extender lines" msgstr "Benutzer erweiterte Linien" -#: ../python/frescobaldi_app/scorewiz/parts.py:469 +#: ../python/frescobaldi_app/scorewiz/parts.py:472 msgid "Violin" msgstr "Violine" -#: ../python/frescobaldi_app/scorewiz/parts.py:470 +#: ../python/frescobaldi_app/scorewiz/parts.py:473 msgid "Violin|Vl." msgstr "Violine|Vl." -#: ../python/frescobaldi_app/scorewiz/parts.py:475 +#: ../python/frescobaldi_app/scorewiz/parts.py:478 msgid "Viola" msgstr "Bratsche" -#: ../python/frescobaldi_app/scorewiz/parts.py:476 +#: ../python/frescobaldi_app/scorewiz/parts.py:479 msgid "Viola|Vla." msgstr "Bratsche|Bra." -#: ../python/frescobaldi_app/scorewiz/parts.py:483 +#: ../python/frescobaldi_app/scorewiz/parts.py:486 msgid "Cello" msgstr "Cello" -#: ../python/frescobaldi_app/scorewiz/parts.py:484 +#: ../python/frescobaldi_app/scorewiz/parts.py:487 msgid "Cello|Cl." msgstr "Cello|Cl." -#: ../python/frescobaldi_app/scorewiz/parts.py:491 +#: ../python/frescobaldi_app/scorewiz/parts.py:494 msgid "Contrabass" msgstr "Konrabass" -#: ../python/frescobaldi_app/scorewiz/parts.py:492 +#: ../python/frescobaldi_app/scorewiz/parts.py:495 msgid "Contrabass|Cb." msgstr "Kontrabass|Kb." -#: ../python/frescobaldi_app/scorewiz/parts.py:499 +#: ../python/frescobaldi_app/scorewiz/parts.py:502 msgid "Basso continuo" msgstr "Basso Continuo" -#: ../python/frescobaldi_app/scorewiz/parts.py:500 +#: ../python/frescobaldi_app/scorewiz/parts.py:503 msgid "Basso Continuo|B.c." msgstr "Basso Continuo|B.C." -#: ../python/frescobaldi_app/scorewiz/parts.py:522 +#: ../python/frescobaldi_app/scorewiz/parts.py:525 msgid "Mandolin" msgstr "Mandoline" -#: ../python/frescobaldi_app/scorewiz/parts.py:523 +#: ../python/frescobaldi_app/scorewiz/parts.py:526 msgid "Mandolin|Mdl." msgstr "Mandoline|Mdl." -#: ../python/frescobaldi_app/scorewiz/parts.py:526 +#: ../python/frescobaldi_app/scorewiz/parts.py:529 msgid "Mandolin tuning" msgstr "Mandoline-Stimmung" -#: ../python/frescobaldi_app/scorewiz/parts.py:531 +#: ../python/frescobaldi_app/scorewiz/parts.py:534 msgid "Banjo" msgstr "Banjo" -#: ../python/frescobaldi_app/scorewiz/parts.py:532 +#: ../python/frescobaldi_app/scorewiz/parts.py:535 msgid "Banjo|Bj." msgstr "Banjo|Bj." -#: ../python/frescobaldi_app/scorewiz/parts.py:536 +#: ../python/frescobaldi_app/scorewiz/parts.py:539 msgid "Open G-tuning (aDGBD)" msgstr "Offene G-Stimmung (aDGBD)" -#: ../python/frescobaldi_app/scorewiz/parts.py:537 +#: ../python/frescobaldi_app/scorewiz/parts.py:540 msgid "C-tuning (gCGBD)" msgstr "C-Stimmung (gCGBD)" -#: ../python/frescobaldi_app/scorewiz/parts.py:538 +#: ../python/frescobaldi_app/scorewiz/parts.py:541 msgid "Modal tuning (gDGCD)" msgstr "Modale Stimmung (gDGCD)" -#: ../python/frescobaldi_app/scorewiz/parts.py:539 +#: ../python/frescobaldi_app/scorewiz/parts.py:542 msgid "Open D-tuning (aDF#AD)" msgstr "Offene D-Stimmung (aDF#AD)" -#: ../python/frescobaldi_app/scorewiz/parts.py:540 +#: ../python/frescobaldi_app/scorewiz/parts.py:543 msgid "Open Dm-tuning (aDFAD)" msgstr "Offene D-moll-Stimmung (aDFAD)" -#: ../python/frescobaldi_app/scorewiz/parts.py:544 +#: ../python/frescobaldi_app/scorewiz/parts.py:547 msgid "Four strings (instead of five)" msgstr "Vier Streicher (statt fünf)" -#: ../python/frescobaldi_app/scorewiz/parts.py:561 +#: ../python/frescobaldi_app/scorewiz/parts.py:564 msgid "Classical guitar" msgstr "Klassische Gitarre" -#: ../python/frescobaldi_app/scorewiz/parts.py:562 +#: ../python/frescobaldi_app/scorewiz/parts.py:565 msgid "Guitar|Gt." msgstr "Gitarre|Gt." -#: ../python/frescobaldi_app/scorewiz/parts.py:566 +#: ../python/frescobaldi_app/scorewiz/parts.py:569 msgid "Guitar tuning" msgstr "Gitarren-Stimmung" -#: ../python/frescobaldi_app/scorewiz/parts.py:567 +#: ../python/frescobaldi_app/scorewiz/parts.py:570 msgid "Open G-tuning" msgstr "Offene G-Stimmung" -#: ../python/frescobaldi_app/scorewiz/parts.py:579 +#: ../python/frescobaldi_app/scorewiz/parts.py:582 msgid "Jazz guitar" msgstr "Jazz-Gitarre" -#: ../python/frescobaldi_app/scorewiz/parts.py:580 +#: ../python/frescobaldi_app/scorewiz/parts.py:583 msgid "Jazz guitar|J.Gt." msgstr "Jazz-Gitarre|J.Gt." -#: ../python/frescobaldi_app/scorewiz/parts.py:586 +#: ../python/frescobaldi_app/scorewiz/parts.py:589 msgid "Bass|Bs." msgstr "Bass|Bs." -#: ../python/frescobaldi_app/scorewiz/parts.py:591 +#: ../python/frescobaldi_app/scorewiz/parts.py:594 msgid "Bass tuning" msgstr "Bas- Stimmung" -#: ../python/frescobaldi_app/scorewiz/parts.py:596 +#: ../python/frescobaldi_app/scorewiz/parts.py:599 msgid "Electric bass" msgstr "Elektrischer Bass" -#: ../python/frescobaldi_app/scorewiz/parts.py:597 +#: ../python/frescobaldi_app/scorewiz/parts.py:600 msgid "Electric bass|E.Bs." msgstr "Elektrischer Bass|E.Bs." -#: ../python/frescobaldi_app/scorewiz/parts.py:602 +#: ../python/frescobaldi_app/scorewiz/parts.py:605 msgid "Harp" msgstr "Harfe" -#: ../python/frescobaldi_app/scorewiz/parts.py:603 +#: ../python/frescobaldi_app/scorewiz/parts.py:606 msgid "Harp|Hp." msgstr "Harfe|Hf." -#: ../python/frescobaldi_app/scorewiz/parts.py:618 +#: ../python/frescobaldi_app/scorewiz/parts.py:621 msgid "Upper staff:" msgstr "Obere Notenzeile:" -#: ../python/frescobaldi_app/scorewiz/parts.py:619 +#: ../python/frescobaldi_app/scorewiz/parts.py:622 msgid "Lower staff:" msgstr "Untere Notenzeile:" -#: ../python/frescobaldi_app/scorewiz/parts.py:623 +#: ../python/frescobaldi_app/scorewiz/parts.py:626 msgid "Flute" msgstr "Flöte" -#: ../python/frescobaldi_app/scorewiz/parts.py:624 +#: ../python/frescobaldi_app/scorewiz/parts.py:627 msgid "Flute|Fl." msgstr "Flöte|Fl." -#: ../python/frescobaldi_app/scorewiz/parts.py:629 +#: ../python/frescobaldi_app/scorewiz/parts.py:632 msgid "Piccolo" msgstr "Piccolo-Flöte" -#: ../python/frescobaldi_app/scorewiz/parts.py:630 +#: ../python/frescobaldi_app/scorewiz/parts.py:633 msgid "Piccolo|Pic." msgstr "Piccolo-Flöte|Pic." -#: ../python/frescobaldi_app/scorewiz/parts.py:636 +#: ../python/frescobaldi_app/scorewiz/parts.py:639 msgid "Bass flute" msgstr "Bass-Flöte" -#: ../python/frescobaldi_app/scorewiz/parts.py:637 +#: ../python/frescobaldi_app/scorewiz/parts.py:640 msgid "Bass flute|Bfl." msgstr "Bass-Flöte|Bfl." -#: ../python/frescobaldi_app/scorewiz/parts.py:643 +#: ../python/frescobaldi_app/scorewiz/parts.py:646 msgid "Oboe" msgstr "Oboe" -#: ../python/frescobaldi_app/scorewiz/parts.py:644 +#: ../python/frescobaldi_app/scorewiz/parts.py:647 msgid "Oboe|Ob." msgstr "Oboe|Ob." -#: ../python/frescobaldi_app/scorewiz/parts.py:649 +#: ../python/frescobaldi_app/scorewiz/parts.py:652 msgid "Oboe d'Amore" msgstr "Oboe d'Amore" -#: ../python/frescobaldi_app/scorewiz/parts.py:650 +#: ../python/frescobaldi_app/scorewiz/parts.py:653 msgid "Oboe d'amore|Ob.d'am." msgstr "Oboe d'amore|Ob.d'am." -#: ../python/frescobaldi_app/scorewiz/parts.py:656 +#: ../python/frescobaldi_app/scorewiz/parts.py:659 msgid "English Horn" msgstr "English Horn" -#: ../python/frescobaldi_app/scorewiz/parts.py:657 +#: ../python/frescobaldi_app/scorewiz/parts.py:660 msgid "English horn|Eng.h." msgstr "English horn|Eng.h." -#: ../python/frescobaldi_app/scorewiz/parts.py:663 +#: ../python/frescobaldi_app/scorewiz/parts.py:666 msgid "Bassoon" msgstr "Fagott" -#: ../python/frescobaldi_app/scorewiz/parts.py:664 +#: ../python/frescobaldi_app/scorewiz/parts.py:667 msgid "Bassoon|Bn." msgstr "Fagott|Fg." -#: ../python/frescobaldi_app/scorewiz/parts.py:671 +#: ../python/frescobaldi_app/scorewiz/parts.py:674 msgid "Contrabassoon" msgstr "Kontra-Fagott" -#: ../python/frescobaldi_app/scorewiz/parts.py:672 +#: ../python/frescobaldi_app/scorewiz/parts.py:675 msgid "Contrabassoon|C.Bn." msgstr "Kontra-Fagott|K.Fg." -#: ../python/frescobaldi_app/scorewiz/parts.py:680 +#: ../python/frescobaldi_app/scorewiz/parts.py:683 msgid "Clarinet" msgstr "Klarinette" -#: ../python/frescobaldi_app/scorewiz/parts.py:681 +#: ../python/frescobaldi_app/scorewiz/parts.py:684 msgid "Clarinet|Cl." msgstr "Klarinette|Kl." -#: ../python/frescobaldi_app/scorewiz/parts.py:687 +#: ../python/frescobaldi_app/scorewiz/parts.py:690 msgid "Sopranino Sax" msgstr "Sopranino Saxophon" -#: ../python/frescobaldi_app/scorewiz/parts.py:688 +#: ../python/frescobaldi_app/scorewiz/parts.py:691 msgid "Sopranino Sax|SiSx." msgstr "Sopranino Saxophon|SiSax." -#: ../python/frescobaldi_app/scorewiz/parts.py:694 +#: ../python/frescobaldi_app/scorewiz/parts.py:697 msgid "Soprano Sax" msgstr "Sopransaxophon" -#: ../python/frescobaldi_app/scorewiz/parts.py:695 +#: ../python/frescobaldi_app/scorewiz/parts.py:698 msgid "Soprano Sax|SoSx." msgstr "Sopransaxophon|SoSax." -#: ../python/frescobaldi_app/scorewiz/parts.py:701 +#: ../python/frescobaldi_app/scorewiz/parts.py:704 msgid "Alto Sax" msgstr "Altsaxophon" -#: ../python/frescobaldi_app/scorewiz/parts.py:702 +#: ../python/frescobaldi_app/scorewiz/parts.py:705 msgid "Alto Sax|ASx." msgstr "Altsaxophon|ASax." -#: ../python/frescobaldi_app/scorewiz/parts.py:708 +#: ../python/frescobaldi_app/scorewiz/parts.py:711 msgid "Tenor Sax" msgstr "Tenorsaxophon" -#: ../python/frescobaldi_app/scorewiz/parts.py:709 +#: ../python/frescobaldi_app/scorewiz/parts.py:712 msgid "Tenor Sax|TSx." msgstr "Tenorsaxophon|TSax." -#: ../python/frescobaldi_app/scorewiz/parts.py:715 +#: ../python/frescobaldi_app/scorewiz/parts.py:718 msgid "Baritone Sax" msgstr "Baritonsaxophon" -#: ../python/frescobaldi_app/scorewiz/parts.py:716 +#: ../python/frescobaldi_app/scorewiz/parts.py:719 msgid "Baritone Sax|BSx." msgstr "Baritonsaxophon|BSax." -#: ../python/frescobaldi_app/scorewiz/parts.py:722 +#: ../python/frescobaldi_app/scorewiz/parts.py:725 msgid "Bass Sax" msgstr "Basssaxophon" -#: ../python/frescobaldi_app/scorewiz/parts.py:723 +#: ../python/frescobaldi_app/scorewiz/parts.py:726 msgid "Bass Sax|BsSx." msgstr "Basssaxophon|BsSax." -#: ../python/frescobaldi_app/scorewiz/parts.py:729 +#: ../python/frescobaldi_app/scorewiz/parts.py:732 msgid "Soprano recorder" msgstr "Sopran-Blockflöte" -#: ../python/frescobaldi_app/scorewiz/parts.py:730 +#: ../python/frescobaldi_app/scorewiz/parts.py:733 msgid "Soprano recorder|S.rec." msgstr "Sopran-Blockflöte|S.Bl." -#: ../python/frescobaldi_app/scorewiz/parts.py:736 +#: ../python/frescobaldi_app/scorewiz/parts.py:739 msgid "Alto recorder" msgstr "Alt-Blocklöte" -#: ../python/frescobaldi_app/scorewiz/parts.py:737 +#: ../python/frescobaldi_app/scorewiz/parts.py:740 msgid "Alto recorder|A.rec." msgstr "Alt-Blockflöte|A.Bl." -#: ../python/frescobaldi_app/scorewiz/parts.py:742 +#: ../python/frescobaldi_app/scorewiz/parts.py:745 msgid "Tenor recorder" msgstr "Tenor-Blockflöte" -#: ../python/frescobaldi_app/scorewiz/parts.py:743 +#: ../python/frescobaldi_app/scorewiz/parts.py:746 msgid "Tenor recorder|T.rec." msgstr "Tenor-Blockflöte|T.Bl." -#: ../python/frescobaldi_app/scorewiz/parts.py:748 +#: ../python/frescobaldi_app/scorewiz/parts.py:751 msgid "Bass recorder" msgstr "Bass-Blockflöte" -#: ../python/frescobaldi_app/scorewiz/parts.py:749 +#: ../python/frescobaldi_app/scorewiz/parts.py:752 msgid "Bass recorder|B.rec." msgstr "Bass-Blockflöte|B.Bl." -#: ../python/frescobaldi_app/scorewiz/parts.py:756 +#: ../python/frescobaldi_app/scorewiz/parts.py:759 msgid "Horn in F" msgstr "Horn in F" -#: ../python/frescobaldi_app/scorewiz/parts.py:757 +#: ../python/frescobaldi_app/scorewiz/parts.py:760 msgid "Horn in F|Hn.F." msgstr "Horn in F|Hn.F." -#: ../python/frescobaldi_app/scorewiz/parts.py:763 +#: ../python/frescobaldi_app/scorewiz/parts.py:766 msgid "Trumpet in C" msgstr "Trompete in C" -#: ../python/frescobaldi_app/scorewiz/parts.py:764 +#: ../python/frescobaldi_app/scorewiz/parts.py:767 msgid "Trumpet in C|Tr.C" msgstr "Trompete in C|Tr.C" -#: ../python/frescobaldi_app/scorewiz/parts.py:769 +#: ../python/frescobaldi_app/scorewiz/parts.py:772 msgid "Trumpet in Bb" msgstr "Trompete in B" -#: ../python/frescobaldi_app/scorewiz/parts.py:770 +#: ../python/frescobaldi_app/scorewiz/parts.py:773 msgid "Trumpet in Bb|Tr.Bb" msgstr "Trompete in B|Tr.B" -#: ../python/frescobaldi_app/scorewiz/parts.py:775 +#: ../python/frescobaldi_app/scorewiz/parts.py:778 msgid "Trombone" msgstr "Posaune" -#: ../python/frescobaldi_app/scorewiz/parts.py:776 +#: ../python/frescobaldi_app/scorewiz/parts.py:779 msgid "Trombone|Trb." msgstr "Posaune|Pos." -#: ../python/frescobaldi_app/scorewiz/parts.py:783 +#: ../python/frescobaldi_app/scorewiz/parts.py:786 msgid "Tuba" msgstr "Tuba" -#: ../python/frescobaldi_app/scorewiz/parts.py:784 +#: ../python/frescobaldi_app/scorewiz/parts.py:787 msgid "Tuba|Tb." msgstr "Tuba|Tb." -#: ../python/frescobaldi_app/scorewiz/parts.py:790 +#: ../python/frescobaldi_app/scorewiz/parts.py:793 msgid "Bass Tuba" msgstr "Bass Tuba" -#: ../python/frescobaldi_app/scorewiz/parts.py:791 +#: ../python/frescobaldi_app/scorewiz/parts.py:794 msgid "Bass Tuba|B.Tb." msgstr "Bass Tuba|B.Tb." -#: ../python/frescobaldi_app/scorewiz/parts.py:799 +#: ../python/frescobaldi_app/scorewiz/parts.py:802 msgid "Soprano" msgstr "Sopran" -#: ../python/frescobaldi_app/scorewiz/parts.py:800 +#: ../python/frescobaldi_app/scorewiz/parts.py:803 msgid "Soprano|S." msgstr "Sopran|S." -#: ../python/frescobaldi_app/scorewiz/parts.py:804 +#: ../python/frescobaldi_app/scorewiz/parts.py:807 msgid "Mezzo soprano" msgstr "Mezzosopran" -#: ../python/frescobaldi_app/scorewiz/parts.py:805 +#: ../python/frescobaldi_app/scorewiz/parts.py:808 msgid "Mezzo-soprano|Ms." msgstr "Mezzosopran|Ms." -#: ../python/frescobaldi_app/scorewiz/parts.py:810 +#: ../python/frescobaldi_app/scorewiz/parts.py:813 msgid "Alto|A." msgstr "Alt|A." -#: ../python/frescobaldi_app/scorewiz/parts.py:816 +#: ../python/frescobaldi_app/scorewiz/parts.py:819 msgid "Tenor|T." msgstr "Tenor|T." -#: ../python/frescobaldi_app/scorewiz/parts.py:823 +#: ../python/frescobaldi_app/scorewiz/parts.py:826 msgid "Bass|B." msgstr "Bass|B." -#: ../python/frescobaldi_app/scorewiz/parts.py:829 +#: ../python/frescobaldi_app/scorewiz/parts.py:832 msgid "Lead sheet" msgstr "Leadsheet" -#: ../python/frescobaldi_app/scorewiz/parts.py:891 +#: ../python/frescobaldi_app/scorewiz/parts.py:894 msgid "" "The Lead Sheet provides a staff with chord names above and lyrics below it. " "A second staff is optional." @@ -2774,11 +2937,11 @@ "Das erste Blatt hat eine Zeile mit Akkord-Namen darüber und Text drunter. " "Eine zweite Zeile ist optional." -#: ../python/frescobaldi_app/scorewiz/parts.py:902 +#: ../python/frescobaldi_app/scorewiz/parts.py:905 msgid "Add accompaniment staff" msgstr "Zeile für Begleitung hinzufügen" -#: ../python/frescobaldi_app/scorewiz/parts.py:904 +#: ../python/frescobaldi_app/scorewiz/parts.py:907 msgid "" "Adds an accompaniment staff and also puts an accompaniment voice in the " "upper staff." @@ -2786,11 +2949,11 @@ "Fügt eine Zeile für die Begleitung hinzu und ebenso eine Begleitstimme in " "der oberen Zeile." -#: ../python/frescobaldi_app/scorewiz/parts.py:911 +#: ../python/frescobaldi_app/scorewiz/parts.py:914 msgid "Choir" msgstr "Chor" -#: ../python/frescobaldi_app/scorewiz/parts.py:915 +#: ../python/frescobaldi_app/scorewiz/parts.py:918 msgid "" "Please select the voices for the choir. Use the letters S, A, T, or B. A " "hyphen denotes a new staff." @@ -2798,38 +2961,40 @@ "Bitte wählen Sie die Stimmen für den Chor aus. Benutzen Sie die Buchstaben " "S, A, T, oder B. Ein Bindestrich markiert eine neue Zeile." -#: ../python/frescobaldi_app/scorewiz/parts.py:917 +#: ../python/frescobaldi_app/scorewiz/parts.py:920 msgid "Hint: For a double choir you can use two choir parts." msgstr "Tipp: Für einen Doppelchor können Sie zwei Chorteile einrichten." -#: ../python/frescobaldi_app/scorewiz/parts.py:922 +#: ../python/frescobaldi_app/scorewiz/parts.py:925 msgid "Voicing:" msgstr "Stimmen:" -#: ../python/frescobaldi_app/scorewiz/parts.py:936 -msgid "Lyrics" +#: ../python/frescobaldi_app/scorewiz/parts.py:942 +#, fuzzy +msgid "Lyrics:" msgstr "Text" -#: ../python/frescobaldi_app/scorewiz/parts.py:940 +#: ../python/frescobaldi_app/scorewiz/parts.py:946 msgid "All voices same lyrics" msgstr "Alle Stimmen mit gleichem Text" -#: ../python/frescobaldi_app/scorewiz/parts.py:943 -msgid "One set of the same lyrics is placed between all staves." +#: ../python/frescobaldi_app/scorewiz/parts.py:947 +#, fuzzy +msgid "A set of the same lyrics is placed between all staves." msgstr "Ein Set gleichen Textes wird zwischen allen Notenzeilen plaziert." -#: ../python/frescobaldi_app/scorewiz/parts.py:945 +#: ../python/frescobaldi_app/scorewiz/parts.py:948 msgid "Every voice same lyrics" msgstr "Jede Stimme mit gleichem Text" -#: ../python/frescobaldi_app/scorewiz/parts.py:947 +#: ../python/frescobaldi_app/scorewiz/parts.py:949 msgid "" "Every voice gets its own lyrics, using the same text as the other voices." msgstr "" "Jede Stimme hat ihren eigenen Text, benutzt aber den selben Text wie die " "anderen Stimmen." -#: ../python/frescobaldi_app/scorewiz/parts.py:950 +#: ../python/frescobaldi_app/scorewiz/parts.py:951 msgid "Every voice different lyrics" msgstr "Jede Stimme mit unterschiedlichem Text" @@ -2837,190 +3002,219 @@ msgid "Every voice gets a different set of lyrics." msgstr "Jede Stimme hat ein unterschiedliches Set Textes." -#: ../python/frescobaldi_app/scorewiz/parts.py:956 +#: ../python/frescobaldi_app/scorewiz/parts.py:953 +msgid "Distribute stanzas" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:954 +#, fuzzy +msgid "One set of stanzas is distributed across the staves." +msgstr "Ein Set gleichen Textes wird zwischen allen Notenzeilen plaziert." + +#: ../python/frescobaldi_app/scorewiz/parts.py:959 msgid "Piano reduction" msgstr "Klavierauszug" -#: ../python/frescobaldi_app/scorewiz/parts.py:958 +#: ../python/frescobaldi_app/scorewiz/parts.py:961 msgid "Adds an automatically generated piano reduction." msgstr "Fügt einen automatisch erzeugten Klavierauszug hinzu." -#: ../python/frescobaldi_app/scorewiz/parts.py:983 +#: ../python/frescobaldi_app/scorewiz/parts.py:963 +msgid "Rehearsal MIDI files" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:965 +msgid "" +"Creates a rehearsal MIDI file for every voice, even if no MIDI output is " +"generated for the main score." +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:1017 msgid "Choir|Ch." msgstr "Chor|Ch." -#: ../python/frescobaldi_app/scorewiz/parts.py:1199 +#: ../python/frescobaldi_app/scorewiz/parts.py:1262 +msgid "Rehearsal MIDI files:" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:1309 msgid "Piano" msgstr "Klavier" -#: ../python/frescobaldi_app/scorewiz/parts.py:1200 +#: ../python/frescobaldi_app/scorewiz/parts.py:1310 msgid "Piano|Pno." msgstr "Klavier|Klav." -#: ../python/frescobaldi_app/scorewiz/parts.py:1205 +#: ../python/frescobaldi_app/scorewiz/parts.py:1315 msgid "Harpsichord" msgstr "Harfe" -#: ../python/frescobaldi_app/scorewiz/parts.py:1206 +#: ../python/frescobaldi_app/scorewiz/parts.py:1316 msgid "Harpsichord|Hs." msgstr "Harfe|Hrf." -#: ../python/frescobaldi_app/scorewiz/parts.py:1211 +#: ../python/frescobaldi_app/scorewiz/parts.py:1321 msgid "Clavichord" msgstr "Spinnett" -#: ../python/frescobaldi_app/scorewiz/parts.py:1212 +#: ../python/frescobaldi_app/scorewiz/parts.py:1322 msgid "Clavichord|Clv." msgstr "Spinnett|Spin." -#: ../python/frescobaldi_app/scorewiz/parts.py:1217 +#: ../python/frescobaldi_app/scorewiz/parts.py:1327 msgid "Organ" msgstr "Orgel" -#: ../python/frescobaldi_app/scorewiz/parts.py:1218 +#: ../python/frescobaldi_app/scorewiz/parts.py:1328 msgid "Organ|Org." msgstr "Orgel|Org." -#: ../python/frescobaldi_app/scorewiz/parts.py:1223 +#: ../python/frescobaldi_app/scorewiz/parts.py:1333 msgid "Pedal:" msgstr "Pedal:" -#: ../python/frescobaldi_app/scorewiz/parts.py:1224 +#: ../python/frescobaldi_app/scorewiz/parts.py:1334 msgid "Set to 0 to disable the pedal altogether." msgstr "Auf 0 setzen, um das Pedal abzuschalten." -#: ../python/frescobaldi_app/scorewiz/parts.py:1234 +#: ../python/frescobaldi_app/scorewiz/parts.py:1344 msgid "Celesta" msgstr "Celesta" -#: ../python/frescobaldi_app/scorewiz/parts.py:1235 +#: ../python/frescobaldi_app/scorewiz/parts.py:1345 msgid "Celesta|Cel." msgstr "Celesta|Cel." -#: ../python/frescobaldi_app/scorewiz/parts.py:1240 +#: ../python/frescobaldi_app/scorewiz/parts.py:1350 msgid "Timpani" msgstr "Pauken" -#: ../python/frescobaldi_app/scorewiz/parts.py:1241 +#: ../python/frescobaldi_app/scorewiz/parts.py:1351 msgid "Timpani|Tmp." msgstr "Pauken|Pk." -#: ../python/frescobaldi_app/scorewiz/parts.py:1248 +#: ../python/frescobaldi_app/scorewiz/parts.py:1358 msgid "Xylophone" msgstr "Xylofon" -#: ../python/frescobaldi_app/scorewiz/parts.py:1249 +#: ../python/frescobaldi_app/scorewiz/parts.py:1359 msgid "Xylophone|Xyl." msgstr "Xylofon|Xyl." -#: ../python/frescobaldi_app/scorewiz/parts.py:1254 +#: ../python/frescobaldi_app/scorewiz/parts.py:1364 msgid "Marimba" msgstr "Marimba" -#: ../python/frescobaldi_app/scorewiz/parts.py:1255 +#: ../python/frescobaldi_app/scorewiz/parts.py:1365 msgid "Marimba|Mar." msgstr "Marimba|Mar." -#: ../python/frescobaldi_app/scorewiz/parts.py:1260 +#: ../python/frescobaldi_app/scorewiz/parts.py:1370 msgid "Vibraphone" msgstr "Vibrafon" -#: ../python/frescobaldi_app/scorewiz/parts.py:1261 +#: ../python/frescobaldi_app/scorewiz/parts.py:1371 msgid "Vibraphone|Vib." msgstr "Vibrafon|Vib." -#: ../python/frescobaldi_app/scorewiz/parts.py:1266 +#: ../python/frescobaldi_app/scorewiz/parts.py:1376 msgid "Tubular bells" msgstr "Röhrenglocken" -#: ../python/frescobaldi_app/scorewiz/parts.py:1267 +#: ../python/frescobaldi_app/scorewiz/parts.py:1377 msgid "Tubular bells|Tub." msgstr "Röhrenglocken|Röh." -#: ../python/frescobaldi_app/scorewiz/parts.py:1272 +#: ../python/frescobaldi_app/scorewiz/parts.py:1382 msgid "Glockenspiel" msgstr "Glockenspiel" -#: ../python/frescobaldi_app/scorewiz/parts.py:1273 +#: ../python/frescobaldi_app/scorewiz/parts.py:1383 msgid "Glockenspiel|Gls." msgstr "Glockenspiel|Gls." -#: ../python/frescobaldi_app/scorewiz/parts.py:1278 +#: ../python/frescobaldi_app/scorewiz/parts.py:1388 msgid "Drums" msgstr "Schlagzeug" -#: ../python/frescobaldi_app/scorewiz/parts.py:1279 +#: ../python/frescobaldi_app/scorewiz/parts.py:1389 msgid "Drums|Dr." msgstr "Schlagzeug|Schl." -#: ../python/frescobaldi_app/scorewiz/parts.py:1289 +#: ../python/frescobaldi_app/scorewiz/parts.py:1399 msgid "Drums follow here." msgstr "Schlagzeug folgt hier." -#: ../python/frescobaldi_app/scorewiz/parts.py:1315 +#: ../python/frescobaldi_app/scorewiz/parts.py:1424 msgid "keep some distance." msgstr "Halte etwas Abstand." -#: ../python/frescobaldi_app/scorewiz/parts.py:1322 +#: ../python/frescobaldi_app/scorewiz/parts.py:1432 msgid "Style:" msgstr "Stil:" -#: ../python/frescobaldi_app/scorewiz/parts.py:1326 +#: ../python/frescobaldi_app/scorewiz/parts.py:1436 msgid "Drums (5 lines, default)" msgstr "Schlagzeug (5 Linien, Voreinstellung)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1327 +#: ../python/frescobaldi_app/scorewiz/parts.py:1437 msgid "Timbales-style (2 lines)" msgstr "Kesselpauken-Stil (2 Linien)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1328 +#: ../python/frescobaldi_app/scorewiz/parts.py:1438 msgid "Congas-style (2 lines)" msgstr "Conga-Stil (2 Linien)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1329 +#: ../python/frescobaldi_app/scorewiz/parts.py:1439 msgid "Bongos-style (2 lines)" msgstr "Bongo-Stil (2 Linien)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1330 +#: ../python/frescobaldi_app/scorewiz/parts.py:1440 msgid "Percussion-style (1 line)" msgstr "Percussion-Stil (1 Linie)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1331 +#: ../python/frescobaldi_app/scorewiz/parts.py:1441 msgid "Remove stems" msgstr "Entferne Notenhälse" -#: ../python/frescobaldi_app/scorewiz/parts.py:1332 +#: ../python/frescobaldi_app/scorewiz/parts.py:1442 msgid "Remove the stems from the drum notes." msgstr "Entferne Notenhälse von den Schlagzeugnoten." -#: ../python/frescobaldi_app/scorewiz/parts.py:1341 +#: ../python/frescobaldi_app/scorewiz/parts.py:1451 msgid "Strings" msgstr "Streicher" -#: ../python/frescobaldi_app/scorewiz/parts.py:1348 +#: ../python/frescobaldi_app/scorewiz/parts.py:1458 msgid "Plucked strings" msgstr "Gezupfte Streicher" -#: ../python/frescobaldi_app/scorewiz/parts.py:1357 +#: ../python/frescobaldi_app/scorewiz/parts.py:1467 msgid "Woodwinds" msgstr "Holzbläser" -#: ../python/frescobaldi_app/scorewiz/parts.py:1378 +#: ../python/frescobaldi_app/scorewiz/parts.py:1488 msgid "Brass" msgstr "Bläser" -#: ../python/frescobaldi_app/scorewiz/parts.py:1386 +#: ../python/frescobaldi_app/scorewiz/parts.py:1496 msgid "Vocal" msgstr "Vokal" -#: ../python/frescobaldi_app/scorewiz/parts.py:1395 +#: ../python/frescobaldi_app/scorewiz/parts.py:1505 msgid "Keyboard instruments" msgstr "Tasteninstrumente" -#: ../python/frescobaldi_app/scorewiz/parts.py:1411 +#: ../python/frescobaldi_app/scorewiz/parts.py:1521 msgid "Special" msgstr "Spezial" +#~ msgid "Space above:" +#~ msgstr "Platz darüber:" + +#~ msgid "Name or full path of the convert-ly program." +#~ msgstr "Name oder vollständiger Pfad des convert-ly-Programms." + #~ msgid "Expand" #~ msgstr "Erweitere" @@ -3153,15 +3347,9 @@ #~ msgid "Dock/Undock PDF preview" #~ msgstr "PDF-Vorschau andocken/abdocken " -#~ msgid "unknown" -#~ msgstr "unbekannt" - #~ msgid "PDF" #~ msgstr "PDF" -#~ msgid "Commands" -#~ msgstr "Befehle" - #~ msgid "Name or full path of the pdftk program (see %s)." #~ msgstr "Name oder vollständiger Pfad des Programms pdftk (siehe %s)." @@ -3302,9 +3490,6 @@ #~ msgid "LilyPond [$filename] finished." #~ msgstr "LilyPond [$filename] ist fertig." -#~ msgid "Insert LilyPond version (%s)" -#~ msgstr "Füge LilyPond-Version (%s) ein" - #~ msgid "" #~ "The document has been processed with convert-ly, but remained unchanged. " #~ "This is the message given by convert-ly: %s" Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/po/es.mo and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/po/es.mo differ diff -Nru frescobaldi-1.0.2/po/es.po frescobaldi-1.1.1/po/es.po --- frescobaldi-1.0.2/po/es.po 2010-02-18 08:12:03.000000000 +0000 +++ frescobaldi-1.1.1/po/es.po 2010-05-03 19:31:54.000000000 +0100 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: es\n" "Report-Msgid-Bugs-To: info@frescobaldi.org\n" -"POT-Creation-Date: 2010-02-16 10:04+0100\n" +"POT-Creation-Date: 2010-05-03 20:28+0200\n" "PO-Revision-Date: 2009-12-04 16:31+0100\n" "Last-Translator: Francisco Vila \n" "Language-Team: Spanish\n" @@ -17,54 +17,53 @@ "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../frescobaldi.py:32 dummy.py:16 +#: ../frescobaldi.py:37 dummy.py:16 msgid "Frescobaldi" msgstr "Frescobaldi" -#: ../frescobaldi.py:34 dummy.py:17 +#: ../frescobaldi.py:39 dummy.py:17 msgid "LilyPond Music Editor" msgstr "Editor de música para LilyPond" -#: ../frescobaldi.py:36 -#, fuzzy +#: ../frescobaldi.py:41 msgid "Copyright (c) 2008-2010, Wilbert Berendsen" -msgstr "Copyright (c) 2008-2009, Wilbert Berendsen" +msgstr "Copyright (c) 2008-2010, Wilbert Berendsen" -#: ../frescobaldi.py:45 +#: ../frescobaldi.py:50 msgctxt "NAME OF TRANSLATORS" msgid "Your name" msgstr "Francisco Vila" -#: ../frescobaldi.py:46 +#: ../frescobaldi.py:51 msgctxt "EMAIL OF TRANSLATORS" msgid "i18n@frescobaldi.org" msgstr "francisco.vila@hispalinux.es" -#: ../frescobaldi.py:52 +#: ../frescobaldi.py:57 msgid "Session to start" msgstr "Sesión que iniciar" -#: ../frescobaldi.py:53 +#: ../frescobaldi.py:58 msgid "Start a new instance" msgstr "Iniciar una instancia nueva" -#: ../frescobaldi.py:54 +#: ../frescobaldi.py:59 msgid "Encoding to use" msgstr "Codificación que usar" -#: ../frescobaldi.py:55 +#: ../frescobaldi.py:60 msgid "Line number to go to, starting at 1" msgstr "Número de línea al que saltar, empezando por 1" -#: ../frescobaldi.py:56 +#: ../frescobaldi.py:61 msgid "Column to go to, starting at 0" msgstr "Columna a la que ir, empezando por 0" -#: ../frescobaldi.py:57 +#: ../frescobaldi.py:62 msgid "Try to use smart line and column numbers" msgstr "Tratar de usar números inteligentes de línea y columna" -#: ../frescobaldi.py:58 +#: ../frescobaldi.py:63 msgid "LilyPond files to open, may also be textedit URLs" msgstr "Archivos de LilyPond que abrir, también pueden ser URLs de textedit" @@ -104,344 +103,353 @@ msgid "&Extra Tools" msgstr "Herramientas adicional&es" -#: ../python/ly/__init__.py:94 +#: ../python/ly/__init__.py:81 msgid "Dedication" msgstr "Dedicatoria" -#: ../python/ly/__init__.py:95 +#: ../python/ly/__init__.py:82 msgid "Title" msgstr "Título" -#: ../python/ly/__init__.py:96 +#: ../python/ly/__init__.py:83 msgid "Subtitle" msgstr "Subtítulo" -#: ../python/ly/__init__.py:97 +#: ../python/ly/__init__.py:84 msgid "Subsubtitle" msgstr "Sub-subtítulo" -#: ../python/ly/__init__.py:98 +#: ../python/ly/__init__.py:85 msgid "Instrument" msgstr "Instrumento" -#: ../python/ly/__init__.py:99 +#: ../python/ly/__init__.py:86 msgid "Composer" msgstr "Compositor" -#: ../python/ly/__init__.py:100 +#: ../python/ly/__init__.py:87 msgid "Arranger" msgstr "Arreglista" -#: ../python/ly/__init__.py:101 +#: ../python/ly/__init__.py:88 msgid "Poet" msgstr "Poeta" -#: ../python/ly/__init__.py:102 +#: ../python/ly/__init__.py:89 msgid "Meter" msgstr "Compás" -#: ../python/ly/__init__.py:103 +#: ../python/ly/__init__.py:90 msgid "Piece" msgstr "Pieza" -#: ../python/ly/__init__.py:104 +#: ../python/ly/__init__.py:91 msgid "Opus" msgstr "Número de Opus" -#: ../python/ly/__init__.py:105 +#: ../python/ly/__init__.py:92 msgid "Copyright" msgstr "Copyright" -#: ../python/ly/__init__.py:106 +#: ../python/ly/__init__.py:93 msgid "Tagline" msgstr "Pie de página" -#: ../python/ly/__init__.py:114 +#: ../python/ly/__init__.py:101 msgid "Major" msgstr "Mayor" -#: ../python/ly/__init__.py:115 +#: ../python/ly/__init__.py:102 msgid "Minor" msgstr "Menor" -#: ../python/ly/__init__.py:116 +#: ../python/ly/__init__.py:103 msgid "Ionian" msgstr "Jónico" -#: ../python/ly/__init__.py:117 +#: ../python/ly/__init__.py:104 msgid "Dorian" msgstr "Dórico" -#: ../python/ly/__init__.py:118 +#: ../python/ly/__init__.py:105 msgid "Phrygian" msgstr "Frigio" -#: ../python/ly/__init__.py:119 +#: ../python/ly/__init__.py:106 msgid "Lydian" msgstr "Lidio" -#: ../python/ly/__init__.py:120 +#: ../python/ly/__init__.py:107 msgid "Mixolydian" msgstr "Mixolidio" -#: ../python/ly/__init__.py:121 +#: ../python/ly/__init__.py:108 msgid "Aeolian" msgstr "Eolio" -#: ../python/ly/__init__.py:122 +#: ../python/ly/__init__.py:109 msgid "Locrian" msgstr "Locrio" -#: ../python/ly/articulation.py:33 +#: ../python/ly/articulation.py:35 msgid "Articulation" msgstr "Articulación" -#: ../python/ly/articulation.py:34 +#: ../python/ly/articulation.py:36 msgid "Accent" msgstr "Acento" -#: ../python/ly/articulation.py:35 +#: ../python/ly/articulation.py:37 msgid "Marcato" msgstr "Marcato" -#: ../python/ly/articulation.py:36 +#: ../python/ly/articulation.py:38 msgid "Staccatissimo" msgstr "Staccatissimo" -#: ../python/ly/articulation.py:37 +#: ../python/ly/articulation.py:39 msgid "Staccato" msgstr "Picado" -#: ../python/ly/articulation.py:38 +#: ../python/ly/articulation.py:40 msgid "Portato" msgstr "Portato" -#: ../python/ly/articulation.py:39 +#: ../python/ly/articulation.py:41 msgid "Tenuto" msgstr "Tenuto" -#: ../python/ly/articulation.py:40 +#: ../python/ly/articulation.py:42 msgid "Espressivo" msgstr "Espressivo" -#: ../python/ly/articulation.py:42 +#: ../python/ly/articulation.py:44 msgid "Ornaments" msgstr "Adornos" -#: ../python/ly/articulation.py:43 +#: ../python/ly/articulation.py:45 msgid "Trill" msgstr "Trino" -#: ../python/ly/articulation.py:44 +#: ../python/ly/articulation.py:46 msgid "Prall" msgstr "Semitrino" -#: ../python/ly/articulation.py:45 +#: ../python/ly/articulation.py:47 msgid "Mordent" msgstr "Mordente" -#: ../python/ly/articulation.py:46 +#: ../python/ly/articulation.py:48 msgid "Turn" msgstr "Grupeto" -#: ../python/ly/articulation.py:47 +#: ../python/ly/articulation.py:49 msgid "Prall prall" msgstr "Semitrino largo" -#: ../python/ly/articulation.py:48 +#: ../python/ly/articulation.py:50 msgid "Prall mordent" msgstr "Semitrino con resolución" -#: ../python/ly/articulation.py:49 +#: ../python/ly/articulation.py:51 msgid "Up prall" msgstr "Semitrino ascendente" -#: ../python/ly/articulation.py:50 +#: ../python/ly/articulation.py:52 msgid "Down prall" msgstr "Semitrino descendente" -#: ../python/ly/articulation.py:51 +#: ../python/ly/articulation.py:53 msgid "Up mordent" msgstr "Mordente ascendente" -#: ../python/ly/articulation.py:52 +#: ../python/ly/articulation.py:54 msgid "Down mordent" msgstr "Mordente descendente" -#: ../python/ly/articulation.py:53 +#: ../python/ly/articulation.py:55 msgid "Prall up" msgstr "Semitrino con final ascendente" -#: ../python/ly/articulation.py:54 +#: ../python/ly/articulation.py:56 msgid "Prall down" msgstr "Semitrino con final descendente" -#: ../python/ly/articulation.py:55 +#: ../python/ly/articulation.py:57 msgid "Line prall" msgstr "Semitrino lineal" -#: ../python/ly/articulation.py:56 +#: ../python/ly/articulation.py:58 msgid "Reverse turn" msgstr "Grupeto invertido" -#: ../python/ly/articulation.py:58 +#: ../python/ly/articulation.py:60 msgid "Signs" msgstr "Símbolos" -#: ../python/ly/articulation.py:59 +#: ../python/ly/articulation.py:61 msgid "Fermata" msgstr "Calderón" -#: ../python/ly/articulation.py:60 +#: ../python/ly/articulation.py:62 msgid "Short fermata" msgstr "Calderón corto" -#: ../python/ly/articulation.py:61 +#: ../python/ly/articulation.py:63 msgid "Long fermata" msgstr "Calderón largo" -#: ../python/ly/articulation.py:62 +#: ../python/ly/articulation.py:64 msgid "Very long fermata" msgstr "Calderón muy largo" -#: ../python/ly/articulation.py:63 +#: ../python/ly/articulation.py:65 msgid "Segno" msgstr "Segno" -#: ../python/ly/articulation.py:64 +#: ../python/ly/articulation.py:66 msgid "Coda" msgstr "Coda" -#: ../python/ly/articulation.py:65 +#: ../python/ly/articulation.py:67 msgid "Varcoda" msgstr "Varcoda" -#: ../python/ly/articulation.py:66 +#: ../python/ly/articulation.py:68 msgid "Signumcongruentiae" msgstr "Signumcongruentiae" -#: ../python/ly/articulation.py:68 +#: ../python/ly/articulation.py:70 msgid "Other" msgstr "Otros" -#: ../python/ly/articulation.py:69 +#: ../python/ly/articulation.py:71 msgid "Upbow" msgstr "Arco arriba" -#: ../python/ly/articulation.py:70 +#: ../python/ly/articulation.py:72 msgid "Downbow" msgstr "Arco abajo" -#: ../python/ly/articulation.py:71 +#: ../python/ly/articulation.py:73 +msgid "Snappizzicato" +msgstr "" + +#: ../python/ly/articulation.py:74 msgid "Open (e.g. brass)" msgstr "Abierto (p.ej. metales)" -#: ../python/ly/articulation.py:72 +#: ../python/ly/articulation.py:75 msgid "Stopped (e.g. brass)" msgstr "Tapada (p.ej. metales)" -#: ../python/ly/articulation.py:73 +#: ../python/ly/articulation.py:76 msgid "Flageolet" msgstr "Flageolet (armónico)" -#: ../python/ly/articulation.py:74 +#: ../python/ly/articulation.py:77 msgid "Thumb" msgstr "Pulgar" -#: ../python/ly/articulation.py:75 +#: ../python/ly/articulation.py:78 msgid "Left heel" msgstr "Tacón izquierdo" -#: ../python/ly/articulation.py:76 +#: ../python/ly/articulation.py:79 msgid "Right heel" msgstr "Tacón derecho" -#: ../python/ly/articulation.py:77 +#: ../python/ly/articulation.py:80 msgid "Left toe" msgstr "Punta izquierda" -#: ../python/ly/articulation.py:78 +#: ../python/ly/articulation.py:81 msgid "Right toe" msgstr "Punta derecha" -#: ../python/kateshell/exception.py:42 +#: ../python/ly/articulation.py:82 +#, fuzzy +msgid "Half open (e.g. hi-hat)" +msgstr "Abierto (p.ej. metales)" + +#: ../python/kateshell/exception.py:43 msgid "An internal error has occurred:" msgstr "Se ha producido un error interno:" -#: ../python/kateshell/exception.py:45 +#: ../python/kateshell/exception.py:46 msgid "Internal Error" msgstr "Error interno" -#: ../python/kateshell/exception.py:51 +#: ../python/kateshell/exception.py:52 msgid "Email Bug Report..." msgstr "Enviar informe de fallo..." -#: ../python/kateshell/exception.py:64 +#: ../python/kateshell/exception.py:65 msgid "Optionally describe what you were doing below:" msgstr "Opcionalmente, describa aquí lo que estaba haciendo:" -#: ../python/kateshell/mainwindow.py:91 +#: ../python/kateshell/mainwindow.py:94 msgid "Left Sidebar" msgstr "Barra lateral izquierda" -#: ../python/kateshell/mainwindow.py:95 +#: ../python/kateshell/mainwindow.py:98 msgid "Right Sidebar" msgstr "Barra lateral derecha" -#: ../python/kateshell/mainwindow.py:107 +#: ../python/kateshell/mainwindow.py:110 msgid "Top Sidebar" msgstr "Barra superior" -#: ../python/kateshell/mainwindow.py:120 +#: ../python/kateshell/mainwindow.py:123 msgid "Bottom Sidebar" msgstr "Barra inferior" -#: ../python/kateshell/mainwindow.py:165 +#: ../python/kateshell/mainwindow.py:168 msgid "Show Path" msgstr "Mostrar ruta" -#: ../python/kateshell/mainwindow.py:168 +#: ../python/kateshell/mainwindow.py:171 msgid "Show Document Tabs" msgstr "Mostrar solapas del documento" -#: ../python/kateshell/mainwindow.py:186 +#: ../python/kateshell/mainwindow.py:188 msgid "&Tool Views" msgstr "Vistas de herramien&tas" -#: ../python/kateshell/mainwindow.py:277 +#: ../python/kateshell/mainwindow.py:278 msgid "Please select some text first." msgstr "Seleccione primero algo de texto." -#: ../python/kateshell/mainwindow.py:327 +#: ../python/kateshell/mainwindow.py:328 msgid "modified" msgstr "modificado" -#: ../python/kateshell/mainwindow.py:337 +#: ../python/kateshell/mainwindow.py:338 msgid "Line: %1 Col: %2" msgstr "Línea: %1 Columna: %2" -#: ../python/kateshell/mainwindow.py:346 +#: ../python/kateshell/mainwindow.py:347 msgid "BLOCK" msgstr "BLOQUE" -#: ../python/kateshell/mainwindow.py:346 +#: ../python/kateshell/mainwindow.py:347 msgid "Block selection mode" msgstr "Modo de selección de bloques" -#: ../python/kateshell/mainwindow.py:348 +#: ../python/kateshell/mainwindow.py:349 msgid "LINE" msgstr "LÍNEA" -#: ../python/kateshell/mainwindow.py:348 +#: ../python/kateshell/mainwindow.py:349 msgid "Line selection mode" msgstr "Modo de selección de líneas" -#: ../python/kateshell/mainwindow.py:386 -#: ../python/frescobaldi_app/blankpaper.py:335 +#: ../python/kateshell/mainwindow.py:393 +#: ../python/frescobaldi_app/blankpaper.py:331 msgid "All Files" msgstr "Todos los archivos" -#: ../python/kateshell/mainwindow.py:387 +#: ../python/kateshell/mainwindow.py:394 msgid "Open File" msgstr "Abrir archivo" @@ -449,7 +457,7 @@ msgid "Right-click for tab options" msgstr "Clic derecho para opciones de solapas" -#: ../python/kateshell/mainwindow.py:870 +#: ../python/kateshell/mainwindow.py:871 msgid "Move To" msgstr "Mover a" @@ -465,7 +473,7 @@ msgid "Please install %1" msgstr "Instale %1" -#: ../python/frescobaldi_app/actions.py:55 +#: ../python/frescobaldi_app/actions.py:56 msgid "Open %1 in external viewer" msgstr "Abrir %1 en un visor externo" @@ -473,44 +481,44 @@ msgid "Print %1" msgstr "Imprimir %1" -#: ../python/frescobaldi_app/actions.py:66 +#: ../python/frescobaldi_app/actions.py:65 msgid "Play %1" msgstr "Reproducir %1" -#: ../python/frescobaldi_app/actions.py:95 +#: ../python/frescobaldi_app/actions.py:91 msgid "Open PDF" msgstr "Abrir PDF" -#: ../python/frescobaldi_app/actions.py:96 +#: ../python/frescobaldi_app/actions.py:92 msgid "Print" msgstr "Imprimir" -#: ../python/frescobaldi_app/actions.py:98 +#: ../python/frescobaldi_app/actions.py:94 msgid "Play MIDI" msgstr "Reproducir MIDI" -#: ../python/frescobaldi_app/actions.py:101 -#: ../python/frescobaldi_app/mainapp.py:712 +#: ../python/frescobaldi_app/actions.py:97 +#: ../python/frescobaldi_app/mainapp.py:726 msgid "Email..." msgstr "Correo-e..." -#: ../python/frescobaldi_app/actions.py:154 +#: ../python/frescobaldi_app/actions.py:149 msgid "There are no files to send via email." msgstr "No hay ningún archivo para mandar por correo-e." -#: ../python/frescobaldi_app/actions.py:155 +#: ../python/frescobaldi_app/actions.py:150 msgid "No files to send" msgstr "No hay ningún archivo que enviar" -#: ../python/frescobaldi_app/actions.py:163 +#: ../python/frescobaldi_app/actions.py:158 msgid "Email documents" msgstr "Enviar documentos por correo-e" -#: ../python/frescobaldi_app/actions.py:167 +#: ../python/frescobaldi_app/actions.py:162 msgid "Please select the files you want to send:" msgstr "Seleccione los archivos que quiere enviar:" -#: ../python/frescobaldi_app/actions.py:172 +#: ../python/frescobaldi_app/actions.py:166 msgid "" "These are the files that are up-to-date (i.e. newer than the LilyPond source " "document). Also LilyPond files included by the source document are shown." @@ -519,7 +527,7 @@ "el documento fuente de LilyPond). También se muestran los archivos de " "LilyPond incluidos por el documento fuente." -#: ../python/frescobaldi_app/actions.py:182 +#: ../python/frescobaldi_app/actions.py:176 msgid "" "Note: this PDF file has been created with embedded point-and-click URLs " "(preview mode), which increases the file size dramatically. Please consider " @@ -541,15 +549,15 @@ "archivo. Considere la posibilidad de volver a construir los archivos en el " "modo de publicación, porque los archivos PDF son mucho más pequeños." -#: ../python/frescobaldi_app/actions.py:283 +#: ../python/frescobaldi_app/actions.py:273 msgid "Printing failed: %1" msgstr "La impresión ha fallado: %1" -#: ../python/frescobaldi_app/actions.py:286 +#: ../python/frescobaldi_app/actions.py:276 msgid "The document has been sent to the printer." msgstr "El documento se ha enviado a la impresora." -#: ../python/frescobaldi_app/actions.py:289 +#: ../python/frescobaldi_app/actions.py:279 msgid "" "Printing failed: %1\n" "\n" @@ -560,178 +568,162 @@ "La instrucción de impresión %2 probablemente no existe. Compruebe la " "configuración." -#: ../python/frescobaldi_app/actions.py:294 +#: ../python/frescobaldi_app/actions.py:284 msgid "The print command contains errors. Please check your settings." msgstr "La instrucción de imprimir tiene errores. Compruebe la configuración." -#: ../python/frescobaldi_app/blankpaper.py:55 -#: ../python/frescobaldi_app/mainapp.py:738 +#: ../python/frescobaldi_app/blankpaper.py:56 +#: ../python/frescobaldi_app/mainapp.py:753 msgid "Create blank staff paper" msgstr "Crear papel de música en blanco" -#: ../python/frescobaldi_app/blankpaper.py:69 +#: ../python/frescobaldi_app/blankpaper.py:70 msgid "Type:" msgstr "Tipo:" -#: ../python/frescobaldi_app/blankpaper.py:72 +#: ../python/frescobaldi_app/blankpaper.py:73 msgid "Action:" msgstr "Acción:" -#: ../python/frescobaldi_app/blankpaper.py:78 +#: ../python/frescobaldi_app/blankpaper.py:79 msgid "Choose what kind of empty staves you want to create." msgstr "Seleccione el número de pautas vacías que quiere crear." -#: ../python/frescobaldi_app/blankpaper.py:80 +#: ../python/frescobaldi_app/blankpaper.py:81 msgid "Choose which action happens when clicking \"Ok\"." msgstr "Seleccione qué acción ocurre al pulsar \"Aceptar\"." -#: ../python/frescobaldi_app/blankpaper.py:82 +#: ../python/frescobaldi_app/blankpaper.py:83 msgid "Preview the empty staff paper." msgstr "Vista previa del papel de música vacío." -#: ../python/frescobaldi_app/blankpaper.py:84 +#: ../python/frescobaldi_app/blankpaper.py:85 msgid "Click to see more settings." msgstr "Pulse para ver más opciones." -#: ../python/frescobaldi_app/blankpaper.py:87 +#: ../python/frescobaldi_app/blankpaper.py:88 msgid "Paper" msgstr "Papel" -#: ../python/frescobaldi_app/blankpaper.py:89 +#: ../python/frescobaldi_app/blankpaper.py:90 msgid "Settings" msgstr "Opciones" -#: ../python/frescobaldi_app/blankpaper.py:95 -#: ../python/frescobaldi_app/scorewiz/__init__.py:509 +#: ../python/frescobaldi_app/blankpaper.py:96 +#: ../python/frescobaldi_app/scorewiz/__init__.py:496 msgid "Paper size:" msgstr "Tamaño del papel:" -#: ../python/frescobaldi_app/blankpaper.py:99 -#: ../python/frescobaldi_app/scorewiz/__init__.py:448 -#: ../python/frescobaldi_app/scorewiz/__init__.py:513 -#: ../python/frescobaldi_app/scorewiz/__init__.py:547 -#: ../python/frescobaldi_app/scorewiz/parts.py:180 -#: ../python/frescobaldi_app/scorewiz/parts.py:436 +#: ../python/frescobaldi_app/blankpaper.py:100 +#: ../python/frescobaldi_app/scorewiz/__init__.py:441 +#: ../python/frescobaldi_app/scorewiz/__init__.py:500 +#: ../python/frescobaldi_app/scorewiz/__init__.py:532 +#: ../python/frescobaldi_app/scorewiz/parts.py:183 +#: ../python/frescobaldi_app/scorewiz/parts.py:439 msgid "Default" msgstr "Predeterminado" -#: ../python/frescobaldi_app/blankpaper.py:103 +#: ../python/frescobaldi_app/blankpaper.py:104 msgid "Staff Size:" msgstr "Tamaño del pentagrama:" -#: ../python/frescobaldi_app/blankpaper.py:110 +#: ../python/frescobaldi_app/blankpaper.py:111 msgid "Page count:" msgstr "Número de páginas:" -#: ../python/frescobaldi_app/blankpaper.py:116 -#: ../python/frescobaldi_app/scorewiz/__init__.py:486 +#: ../python/frescobaldi_app/blankpaper.py:117 +#: ../python/frescobaldi_app/scorewiz/__init__.py:468 msgid "Remove default tagline" msgstr "Quitar el pie de página predeterminado" -#: ../python/frescobaldi_app/blankpaper.py:121 +#: ../python/frescobaldi_app/blankpaper.py:122 msgid "Print Bar Lines" msgstr "Imprimir líneas divisorias" -#: ../python/frescobaldi_app/blankpaper.py:123 +#: ../python/frescobaldi_app/blankpaper.py:124 msgid "Bars per line:" msgstr "Compases por línea:" -#: ../python/frescobaldi_app/blankpaper.py:130 +#: ../python/frescobaldi_app/blankpaper.py:131 msgid "Print Page Numbers" msgstr "Imprimir números de página" -#: ../python/frescobaldi_app/blankpaper.py:132 +#: ../python/frescobaldi_app/blankpaper.py:133 msgid "Start with:" msgstr "Empezar en:" -#: ../python/frescobaldi_app/blankpaper.py:289 +#: ../python/frescobaldi_app/blankpaper.py:285 msgid "Blank staff paper preview" msgstr "Vista previa del papel pautado" -#: ../python/frescobaldi_app/blankpaper.py:308 +#: ../python/frescobaldi_app/blankpaper.py:304 msgid "No PDF was created." msgstr "No se ha creado ningún PDF." -#: ../python/frescobaldi_app/blankpaper.py:319 +#: ../python/frescobaldi_app/blankpaper.py:315 msgid "Open in PDF viewer" msgstr "Abrir en el visor de PDF" -#: ../python/frescobaldi_app/blankpaper.py:328 +#: ../python/frescobaldi_app/blankpaper.py:324 msgid "Save PDF As..." msgstr "Guardar PDF como..." -#: ../python/frescobaldi_app/blankpaper.py:335 +#: ../python/frescobaldi_app/blankpaper.py:331 msgid "PDF Files" msgstr "Archivos PDF" -#: ../python/frescobaldi_app/blankpaper.py:337 +#: ../python/frescobaldi_app/blankpaper.py:333 msgid "Save PDF" msgstr "Guardar PDF" -#: ../python/frescobaldi_app/blankpaper.py:355 -#: ../python/frescobaldi_app/runlily.py:375 -msgid "" -"A file named \"%1\" already exists. Are you sure you want to overwrite it?" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:358 -#: ../python/frescobaldi_app/runlily.py:378 -msgid "Overwrite File?" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:358 -#: ../python/frescobaldi_app/runlily.py:378 -msgid "&Overwrite" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:380 +#: ../python/frescobaldi_app/blankpaper.py:357 msgid "Directly print on default printer" msgstr "Imprimir directamente en la impresora predeterminada" -#: ../python/frescobaldi_app/blankpaper.py:389 +#: ../python/frescobaldi_app/blankpaper.py:366 msgid "Copy LilyPond code to editor" msgstr "Copiar código de LilyPond al editor" -#: ../python/frescobaldi_app/blankpaper.py:488 +#: ../python/frescobaldi_app/blankpaper.py:465 msgid "Staves per page:" msgstr "Pentagramas por página:" -#: ../python/frescobaldi_app/blankpaper.py:493 -#: ../python/frescobaldi_app/blankpaper.py:828 +#: ../python/frescobaldi_app/blankpaper.py:470 +#: ../python/frescobaldi_app/blankpaper.py:803 msgid "Clef:" msgstr "Clave:" -#: ../python/frescobaldi_app/blankpaper.py:499 +#: ../python/frescobaldi_app/blankpaper.py:476 msgid "Single Staff" msgstr "Pentagrama sencillo" -#: ../python/frescobaldi_app/blankpaper.py:519 -#: ../python/frescobaldi_app/blankpaper.py:575 -#: ../python/frescobaldi_app/blankpaper.py:671 +#: ../python/frescobaldi_app/blankpaper.py:496 +#: ../python/frescobaldi_app/blankpaper.py:552 +#: ../python/frescobaldi_app/blankpaper.py:647 msgid "Systems per page:" msgstr "Sistemas por página:" -#: ../python/frescobaldi_app/blankpaper.py:523 +#: ../python/frescobaldi_app/blankpaper.py:500 msgid "Clefs" msgstr "Claves" -#: ../python/frescobaldi_app/blankpaper.py:527 +#: ../python/frescobaldi_app/blankpaper.py:504 msgid "Piano Staff" msgstr "Sistema de piano" -#: ../python/frescobaldi_app/blankpaper.py:547 +#: ../python/frescobaldi_app/blankpaper.py:524 msgid "Organ Staff" msgstr "Sistema de órgano" -#: ../python/frescobaldi_app/blankpaper.py:571 +#: ../python/frescobaldi_app/blankpaper.py:548 msgid "Staves per system:" msgstr "Pentagramas por sistema:" -#: ../python/frescobaldi_app/blankpaper.py:582 +#: ../python/frescobaldi_app/blankpaper.py:559 msgid "Clefs:" msgstr "Claves:" -#: ../python/frescobaldi_app/blankpaper.py:589 +#: ../python/frescobaldi_app/blankpaper.py:566 msgid "" "Enter as many letters (S, A, T or B) as there are staves.\n" "See \"What's This\" for more information." @@ -739,7 +731,7 @@ "Introduzca tantas letras (S, A, T ó B) como pentagramas.\n" "Véase \"Qué es esto\" para mayor información." -#: ../python/frescobaldi_app/blankpaper.py:592 +#: ../python/frescobaldi_app/blankpaper.py:569 msgid "" "To configure clefs, first set the number of staves per system. Then enter as " "many letters (S, A, T or B) as there are staves.\n" @@ -764,49 +756,55 @@ "establezca primero el número de pentagramas por sistema a 4, y luego escriba " "aquí \"SATB\" (sin las comillas)." -#: ../python/frescobaldi_app/blankpaper.py:606 +#: ../python/frescobaldi_app/blankpaper.py:582 msgid "Choir Staff" msgstr "Sistema de coro" -#: ../python/frescobaldi_app/blankpaper.py:613 -#: ../python/frescobaldi_app/scorewiz/__init__.py:395 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/blankpaper.py:589 +#: ../python/frescobaldi_app/lqi.py:159 +#: ../python/frescobaldi_app/scorewiz/__init__.py:388 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "None" msgstr "Ninguno" -#: ../python/frescobaldi_app/blankpaper.py:759 +#: ../python/frescobaldi_app/blankpaper.py:734 msgid "Custom Staff" msgstr "Pentagrama personalizado" -#: ../python/frescobaldi_app/blankpaper.py:818 +#: ../python/frescobaldi_app/blankpaper.py:793 msgid "Staff" msgstr "Pentagrama" -#: ../python/frescobaldi_app/blankpaper.py:841 -msgid "Space above:" -msgstr "Especio por encima:" - -#: ../python/frescobaldi_app/blankpaper.py:844 +#: ../python/frescobaldi_app/blankpaper.py:812 msgid "Space below:" msgstr "Espacio por debajo:" -#: ../python/frescobaldi_app/blankpaper.py:879 +#: ../python/frescobaldi_app/blankpaper.py:852 msgid "Brace" msgstr "Llave curva" -#: ../python/frescobaldi_app/blankpaper.py:904 +#: ../python/frescobaldi_app/blankpaper.py:877 msgid "Bracket" msgstr "Corchete" -#: ../python/frescobaldi_app/blankpaper.py:913 +#: ../python/frescobaldi_app/blankpaper.py:886 msgid "Square Bracket" msgstr "Llave recta" -#: ../python/frescobaldi_app/blankpaper.py:915 +#: ../python/frescobaldi_app/blankpaper.py:888 msgid "Connect bar lines" msgstr "Conectar las divisorias" -#: ../python/frescobaldi_app/document.py:66 +#: ../python/frescobaldi_app/charselect.py:41 +#: ../python/frescobaldi_app/mainapp.py:871 +msgid "Special Characters" +msgstr "" + +#: ../python/frescobaldi_app/charselect.py:85 +msgid "unknown" +msgstr "" + +#: ../python/frescobaldi_app/document.py:68 msgid "" "Can't perform the requested translation.\n" "\n" @@ -818,7 +816,7 @@ "La música contiene alteraciones de cuartos de tono, pero no están " "disponibles en el idioma de notas \"%1\"." -#: ../python/frescobaldi_app/document.py:81 +#: ../python/frescobaldi_app/document.py:82 msgid "" "The pitch language of the selected text has been updated, but you need to " "manually add the following command to your document:" @@ -826,30 +824,30 @@ "El idioma de notas del texto seleccionado se ha actualizado, pero debe " "añadir manualmente la siguiente instrucción al documento:" -#: ../python/frescobaldi_app/document.py:84 -#: ../python/frescobaldi_app/mainapp.py:561 +#: ../python/frescobaldi_app/document.py:85 +#: ../python/frescobaldi_app/mainapp.py:572 msgid "Pitch Name Language" msgstr "Idioma de las notas" -#: ../python/frescobaldi_app/document.py:139 +#: ../python/frescobaldi_app/document.py:140 msgid "Please enter the name for the variable to assign the selected text to:" msgstr "" "Introduzca el nombre de la variable para asignarle el texto seleccionado:" -#: ../python/frescobaldi_app/document.py:140 -#: ../python/frescobaldi_app/mainapp.py:455 +#: ../python/frescobaldi_app/document.py:141 +#: ../python/frescobaldi_app/mainapp.py:461 msgid "Cut and Assign" msgstr "Cortar y asignar" -#: ../python/frescobaldi_app/document.py:452 +#: ../python/frescobaldi_app/document.py:451 msgid "Open %1" msgstr "Abrir %1" -#: ../python/frescobaldi_app/document.py:707 +#: ../python/frescobaldi_app/document.py:705 msgid "Please select a music expression, enclosed in << ... >> or { ... }." msgstr "Seleccione una expresión musical, encerrada en << ... >> ó { ... }." -#: ../python/frescobaldi_app/document.py:727 +#: ../python/frescobaldi_app/document.py:725 msgid "" "Could not understand the entered pitches.\n" "\n" @@ -859,7 +857,7 @@ "\n" "Asegúrese de que usa nombres de notas en el idioma \"%1\"." -#: ../python/frescobaldi_app/document.py:735 +#: ../python/frescobaldi_app/document.py:733 msgid "" "Can't perform the requested transposition.\n" "\n" @@ -871,47 +869,47 @@ "La música contiene alteraciones de cuartos de tono que no están disponibles " "en el idioma de notas \"%1\"." -#: ../python/frescobaldi_app/document.py:748 +#: ../python/frescobaldi_app/document.py:746 msgid "Transpose" msgstr "Transportar" -#: ../python/frescobaldi_app/document.py:755 +#: ../python/frescobaldi_app/document.py:753 msgid "Please enter a start pitch and a destination pitch:" msgstr "Introduzca una nota de origen y una nota de destino:" -#: ../python/frescobaldi_app/document.py:759 +#: ../python/frescobaldi_app/document.py:757 msgid "Transpose from:" msgstr "Transportar desde:" -#: ../python/frescobaldi_app/document.py:763 +#: ../python/frescobaldi_app/document.py:761 msgid "to:" msgstr "a:" -#: ../python/frescobaldi_app/expand.py:147 -#: ../python/frescobaldi_app/mainapp.py:786 +#: ../python/frescobaldi_app/expand.py:149 +#: ../python/frescobaldi_app/mainapp.py:870 msgid "Expansion Manager" msgstr "Gestor de expansiones" -#: ../python/frescobaldi_app/expand.py:161 -#: ../python/frescobaldi_app/lilydoc.py:125 +#: ../python/frescobaldi_app/expand.py:163 +#: ../python/frescobaldi_app/lilydoc.py:127 msgid "Search..." msgstr "Buscar..." -#: ../python/frescobaldi_app/expand.py:170 -#: ../python/frescobaldi_app/rumor.py:507 +#: ../python/frescobaldi_app/expand.py:172 +#: ../python/frescobaldi_app/rumor.py:505 msgid "Name" msgstr "Nombre" -#: ../python/frescobaldi_app/expand.py:170 -#: ../python/frescobaldi_app/rumor.py:507 +#: ../python/frescobaldi_app/expand.py:172 +#: ../python/frescobaldi_app/rumor.py:505 msgid "Description" msgstr "Descripción" -#: ../python/frescobaldi_app/expand.py:170 +#: ../python/frescobaldi_app/expand.py:172 msgid "Shortcut" msgstr "Abreviatura" -#: ../python/frescobaldi_app/expand.py:193 +#: ../python/frescobaldi_app/expand.py:195 msgid "" "This is the list of defined expansions.\n" "\n" @@ -939,7 +937,7 @@ "atajo de teclado predeterminado es Ctrl+.), seleccione la expansión de la " "lista y pulse Enter o elija el botón Aceptar." -#: ../python/frescobaldi_app/expand.py:213 +#: ../python/frescobaldi_app/expand.py:214 msgid "" "This is the text associated with the selected shortcut. Some characters have " "special meaning:" @@ -947,19 +945,19 @@ "Este es el texto asociado a la abreviatura seleccionada. Ciertos caracteres " "tienen un significado especial:" -#: ../python/frescobaldi_app/expand.py:215 +#: ../python/frescobaldi_app/expand.py:216 msgid "Place the cursor on this spot." msgstr "Situar el cursor sobre este punto." -#: ../python/frescobaldi_app/expand.py:216 +#: ../python/frescobaldi_app/expand.py:217 msgid "Translate the following pitch." msgstr "Traducir la siguiente nota." -#: ../python/frescobaldi_app/expand.py:268 +#: ../python/frescobaldi_app/expand.py:265 msgid "New Item" msgstr "Elemento nuevo" -#: ../python/frescobaldi_app/expand.py:348 +#: ../python/frescobaldi_app/expand.py:345 msgid "" "Another expansion already uses this name.\n" "\n" @@ -969,7 +967,7 @@ "\n" "Utilice un nombre distinto." -#: ../python/frescobaldi_app/expand.py:354 +#: ../python/frescobaldi_app/expand.py:351 msgid "" "Please only use letters, numbers and the underscore character in the " "expansion name." @@ -977,52 +975,60 @@ "Utilice exclusivamente letras, número y el guión bajo en el nombre de la " "expansión." -#: ../python/frescobaldi_app/expand.py:381 +#: ../python/frescobaldi_app/expand.py:376 msgid "Please don't leave the description empty." msgstr "No deje la descripción en blanco." -#: ../python/frescobaldi_app/hyphen.py:123 -#: ../python/frescobaldi_app/mainapp.py:676 +#: ../python/frescobaldi_app/hyphen.py:119 +msgid "" +"Could not find any hyphenation dictionaries.\n" +"\n" +"Please install a package containing some and/or or configure the search path " +"to find them in the Frescobaldi settings under \"Paths.\"" +msgstr "" + +#: ../python/frescobaldi_app/hyphen.py:132 +#: ../python/frescobaldi_app/mainapp.py:686 msgid "Hyphenate Lyrics Text" msgstr "Enguionar el texto de la letra" -#: ../python/frescobaldi_app/hyphen.py:127 +#: ../python/frescobaldi_app/hyphen.py:136 msgid "Please select a language:" msgstr "Seleccione un idioma:" -#: ../python/frescobaldi_app/lilydoc.py:99 +#: ../python/frescobaldi_app/lilydoc.py:101 msgid "Home" msgstr "Inicio" -#: ../python/frescobaldi_app/lilydoc.py:100 +#: ../python/frescobaldi_app/lilydoc.py:102 msgid "Larger text" msgstr "Texto más grande" -#: ../python/frescobaldi_app/lilydoc.py:101 +#: ../python/frescobaldi_app/lilydoc.py:103 msgid "Smaller text" msgstr "Texto más pequeño" -#: ../python/frescobaldi_app/lilydoc.py:110 +#: ../python/frescobaldi_app/lilydoc.py:112 msgid "First Page" msgstr "Primera página" -#: ../python/frescobaldi_app/lilydoc.py:111 +#: ../python/frescobaldi_app/lilydoc.py:113 msgid "Previous" msgstr "Anterior" -#: ../python/frescobaldi_app/lilydoc.py:112 +#: ../python/frescobaldi_app/lilydoc.py:114 msgid "Up one level" msgstr "Subir un nivel" -#: ../python/frescobaldi_app/lilydoc.py:113 +#: ../python/frescobaldi_app/lilydoc.py:115 msgid "Next" msgstr "Siguiente" -#: ../python/frescobaldi_app/lilydoc.py:114 +#: ../python/frescobaldi_app/lilydoc.py:116 msgid "Table of contents" msgstr "Tabla de contenidos" -#: ../python/frescobaldi_app/lilydoc.py:115 +#: ../python/frescobaldi_app/lilydoc.py:117 msgid "Index" msgstr "índice" @@ -1034,84 +1040,84 @@ msgid "Open Link in &New Window" msgstr "Abrir enlace en ventana &nueva" -#: ../python/frescobaldi_app/lilydoc.py:322 -#: ../python/frescobaldi_app/runlily.py:339 +#: ../python/frescobaldi_app/lilydoc.py:321 +#: ../python/frescobaldi_app/runlily.py:508 msgid "&Copy" msgstr "&Copiar" -#: ../python/frescobaldi_app/lilydoc.py:325 +#: ../python/frescobaldi_app/lilydoc.py:324 msgid "Open Document in &New Window" msgstr "Abrir documento en ventana &nueva" -#: ../python/frescobaldi_app/lilydoc.py:677 +#: ../python/frescobaldi_app/lilydoc.py:675 msgid "Loading..." msgstr "Cargando..." -#: ../python/frescobaldi_app/lilydoc.py:684 +#: ../python/frescobaldi_app/lilydoc.py:682 msgid "Not available" msgstr "No disponible" -#: ../python/frescobaldi_app/lilydoc.py:732 +#: ../python/frescobaldi_app/lilydoc.py:734 msgid "Notation Reference" msgstr "Referencia de la notación" -#: ../python/frescobaldi_app/lilydoc.py:752 +#: ../python/frescobaldi_app/lilydoc.py:754 msgid "LilyPond Command Index" msgstr "Índice de instrucciones de LilyPond" -#: ../python/frescobaldi_app/lilydoc.py:772 +#: ../python/frescobaldi_app/lilydoc.py:780 msgid "Learning Manual" msgstr "Manual de aprendizaje" -#: ../python/frescobaldi_app/lilydoc.py:792 +#: ../python/frescobaldi_app/lilydoc.py:800 msgid "Learning Manual Index" msgstr "Índice del manual de aprendizaje" -#: ../python/frescobaldi_app/lilydoc.py:808 +#: ../python/frescobaldi_app/lilydoc.py:816 msgid "LilyPond &Help" msgstr "A&yuda deLilyPond" -#: ../python/frescobaldi_app/lqi.py:62 +#: ../python/frescobaldi_app/lqi.py:82 msgid "Articulations" msgstr "Articulaciones" -#: ../python/frescobaldi_app/lqi.py:63 +#: ../python/frescobaldi_app/lqi.py:83 msgid "Different kinds of articulations and other signs." msgstr "Distintos tipos de articulaciones y otros símbolos." -#: ../python/frescobaldi_app/lqi.py:70 +#: ../python/frescobaldi_app/lqi.py:90 msgid "Allow shorthands" msgstr "Permitir abreviaturas" -#: ../python/frescobaldi_app/lqi.py:73 +#: ../python/frescobaldi_app/lqi.py:93 msgid "Use short notation for some articulations like staccato." msgstr "Utilizar notación corta para ciertas articulaciones como el picado." -#: ../python/frescobaldi_app/lqi.py:79 +#: ../python/frescobaldi_app/lqi.py:99 msgid "Direction:" msgstr "Dirección:" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Up" msgstr "Arriba" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Neutral" msgstr "Neutro" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Down" msgstr "Abajo" -#: ../python/frescobaldi_app/lqi.py:85 +#: ../python/frescobaldi_app/lqi.py:105 msgid "The direction to use for the articulations." msgstr "Dirección que usar para las articulaciones." -#: ../python/frescobaldi_app/lqi.py:112 +#: ../python/frescobaldi_app/lqi.py:134 msgid "Click an articulation sign to add it to your document." msgstr "Pulse sobre una articulación para insertarla en el documento." -#: ../python/frescobaldi_app/lqi.py:113 +#: ../python/frescobaldi_app/lqi.py:135 msgid "" "If you select some music first, the articulation will be added to all notes " "in the selection." @@ -1119,88 +1125,95 @@ "Si selecciona un bloque de música previamente, se añade la articulación a " "todas las notas de la selección." -#: ../python/frescobaldi_app/mainapp.py:53 +#: ../python/frescobaldi_app/lqi.py:159 +msgid "Configure Keyboard Shortcut (%1)" +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:54 msgid "LilyPond files" msgstr "Archivos de LilyPond" -#: ../python/frescobaldi_app/mainapp.py:392 -#: ../python/frescobaldi_app/scorewiz/__init__.py:355 +#: ../python/frescobaldi_app/mainapp.py:424 +#: ../python/frescobaldi_app/settings.py:620 +#: ../python/frescobaldi_app/scorewiz/__init__.py:348 msgid "LilyPond" msgstr "LilyPond" -#: ../python/frescobaldi_app/mainapp.py:403 +#: ../python/frescobaldi_app/mainapp.py:435 msgid "Setup New Score..." msgstr "Preparar partitura nueva..." -#: ../python/frescobaldi_app/mainapp.py:408 +#: ../python/frescobaldi_app/mainapp.py:440 msgid "Run LilyPond (preview)" msgstr "Ejecutar LilyPond (vista previa)" -#: ../python/frescobaldi_app/mainapp.py:412 +#: ../python/frescobaldi_app/mainapp.py:444 msgid "Run LilyPond (publish)" msgstr "Ejecutar LilyPond (publicar)" -#: ../python/frescobaldi_app/mainapp.py:418 -msgid "Can't process document" -msgstr "No se puede procesar el documento" - -#: ../python/frescobaldi_app/mainapp.py:421 -msgid "There is already a LilyPond job running for this document." -msgstr "Ya está funcionando una tarea de LilyPond para este archivo." - -#: ../python/frescobaldi_app/mainapp.py:427 -msgid "Your document has been modified, please save first." -msgstr "El documento ha sido modificado, grábelo primero." +#: ../python/frescobaldi_app/mainapp.py:448 +#, fuzzy +msgid "Run LilyPond (custom)..." +msgstr "Ejecutar LilyPond (publicar)" -#: ../python/frescobaldi_app/mainapp.py:446 +#: ../python/frescobaldi_app/mainapp.py:452 msgid "Interrupt LilyPond Job" msgstr "Interrumpir la tarea de LilyPond" -#: ../python/frescobaldi_app/mainapp.py:456 +#: ../python/frescobaldi_app/mainapp.py:462 msgid "Cut selection and assign it to a LilyPond variable." msgstr "Cortar la selección y asignarla a una variable de LilyPond" -#: ../python/frescobaldi_app/mainapp.py:460 +#: ../python/frescobaldi_app/mainapp.py:466 msgid "Repeat last note or chord" msgstr "Repetir la última nota o acorde" -#: ../python/frescobaldi_app/mainapp.py:461 +#: ../python/frescobaldi_app/mainapp.py:467 msgid "Repeat the last music expression (note or chord)." msgstr "Repetir la última expresión musical (nota o acorde)." -#: ../python/frescobaldi_app/mainapp.py:465 +#: ../python/frescobaldi_app/mainapp.py:471 msgid "Insert or Manage Expansions..." msgstr "Insertar o gestionar las expansiones..." -#: ../python/frescobaldi_app/mainapp.py:466 +#: ../python/frescobaldi_app/mainapp.py:472 msgid "Expand last word or open the expansions dialog." msgstr "Expandir la última palabra o abrir el diálogo de expansiones." -#: ../python/frescobaldi_app/mainapp.py:471 +#: ../python/frescobaldi_app/mainapp.py:476 +msgid "Special Characters..." +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:477 +#, fuzzy +msgid "Insert special characters." +msgstr "Insertar par de llaves" + +#: ../python/frescobaldi_app/mainapp.py:482 msgid "Add to Expansions" msgstr "Añadir a expansiones" -#: ../python/frescobaldi_app/mainapp.py:475 +#: ../python/frescobaldi_app/mainapp.py:486 msgid "Next blank line" msgstr "Línea en blanco siguiente" -#: ../python/frescobaldi_app/mainapp.py:476 +#: ../python/frescobaldi_app/mainapp.py:487 msgid "Go to the next blank line." msgstr "Ir a la siguiente línea en blanco." -#: ../python/frescobaldi_app/mainapp.py:486 +#: ../python/frescobaldi_app/mainapp.py:497 msgid "Previous blank line" msgstr "Línea en blanco anterior" -#: ../python/frescobaldi_app/mainapp.py:487 +#: ../python/frescobaldi_app/mainapp.py:498 msgid "Go to the previous blank line." msgstr "Ir a la anterior línea en blanco." -#: ../python/frescobaldi_app/mainapp.py:496 +#: ../python/frescobaldi_app/mainapp.py:507 msgid "Select to next blank line" msgstr "Seleccionar hasta la siguiente línea en blanco" -#: ../python/frescobaldi_app/mainapp.py:498 +#: ../python/frescobaldi_app/mainapp.py:509 msgid "" "Selects text from the current position down to and including the next blank " "line." @@ -1208,11 +1221,11 @@ "Selecciona texto desde la posición actual hasta la siguiente línea en " "blanco, incluida." -#: ../python/frescobaldi_app/mainapp.py:523 +#: ../python/frescobaldi_app/mainapp.py:534 msgid "Select to previous blank line" msgstr "Seleccionar hasta lalínea en blanco anterior" -#: ../python/frescobaldi_app/mainapp.py:525 +#: ../python/frescobaldi_app/mainapp.py:536 msgid "" "Selects text from the current position up to right after the previous blank " "line." @@ -1220,23 +1233,23 @@ "Selecciona texto desde la posición actual hasta justo antes de la línea en " "blanco anterior." -#: ../python/frescobaldi_app/mainapp.py:549 +#: ../python/frescobaldi_app/mainapp.py:560 msgid "Move selection to next blank line" msgstr "Mover la selección a la siguiente línea en blanco" -#: ../python/frescobaldi_app/mainapp.py:550 +#: ../python/frescobaldi_app/mainapp.py:561 msgid "Moves selected block to next blank line." msgstr "Mover el bloque seleccionado a la siguiente línea en blanco." -#: ../python/frescobaldi_app/mainapp.py:554 +#: ../python/frescobaldi_app/mainapp.py:565 msgid "Move selection to previous blank line" msgstr "Mover la selección a la línea en blanco anterior" -#: ../python/frescobaldi_app/mainapp.py:555 +#: ../python/frescobaldi_app/mainapp.py:566 msgid "Moves selected block to previous blank line." msgstr "Mover el bloque seleccionado a la línea en blanco anterior." -#: ../python/frescobaldi_app/mainapp.py:562 +#: ../python/frescobaldi_app/mainapp.py:573 msgid "" "Change the LilyPond language used for pitch names in this document or in the " "selection." @@ -1244,11 +1257,11 @@ "Cambiar el idioma de LilyPond que se usa para los nombres de las notas en " "este documento o en la selección." -#: ../python/frescobaldi_app/mainapp.py:569 +#: ../python/frescobaldi_app/mainapp.py:579 msgid "Convert Relative to &Absolute" msgstr "Convertir relativo en &absoluto" -#: ../python/frescobaldi_app/mainapp.py:570 +#: ../python/frescobaldi_app/mainapp.py:580 msgid "" "Converts the notes in the document or selection from relative to absolute " "pitch." @@ -1256,11 +1269,11 @@ "Convierte las notas del documento o la selección de alturas relativas a " "absolutas." -#: ../python/frescobaldi_app/mainapp.py:574 +#: ../python/frescobaldi_app/mainapp.py:584 msgid "Convert Absolute to &Relative" msgstr "Convertir absoluto a &relativo" -#: ../python/frescobaldi_app/mainapp.py:575 +#: ../python/frescobaldi_app/mainapp.py:585 msgid "" "Converts the notes in the document or selection from absolute to relative " "pitch." @@ -1268,78 +1281,78 @@ "Convierte las notas del documento o selección de alturas absolutas a " "relativas." -#: ../python/frescobaldi_app/mainapp.py:579 +#: ../python/frescobaldi_app/mainapp.py:589 msgid "Transpose..." msgstr "Transportar..." -#: ../python/frescobaldi_app/mainapp.py:580 +#: ../python/frescobaldi_app/mainapp.py:590 msgid "Transposes all notes in the document or selection." msgstr "Trnasporta todas las notas del documento o selección." -#: ../python/frescobaldi_app/mainapp.py:585 +#: ../python/frescobaldi_app/mainapp.py:595 msgid "Double durations" msgstr "Doblar duraciones" -#: ../python/frescobaldi_app/mainapp.py:586 +#: ../python/frescobaldi_app/mainapp.py:596 msgid "Double all the durations in the selection." msgstr "Duplicar todas las duraciones de la selección." -#: ../python/frescobaldi_app/mainapp.py:591 +#: ../python/frescobaldi_app/mainapp.py:601 msgid "Halve durations" msgstr "Reducir a la mitad" -#: ../python/frescobaldi_app/mainapp.py:592 +#: ../python/frescobaldi_app/mainapp.py:602 msgid "Halve all the durations in the selection." msgstr "Reducir a la mitad todas las duraciones de la selección." -#: ../python/frescobaldi_app/mainapp.py:597 +#: ../python/frescobaldi_app/mainapp.py:607 msgid "Dot durations" msgstr "Duraciones con puntillo" -#: ../python/frescobaldi_app/mainapp.py:598 +#: ../python/frescobaldi_app/mainapp.py:608 msgid "Add a dot to all the durations in the selection." msgstr "Añadir puntillo a todas las duraciones de la selección." -#: ../python/frescobaldi_app/mainapp.py:603 +#: ../python/frescobaldi_app/mainapp.py:613 msgid "Undot durations" msgstr "Quitar puntillos" -#: ../python/frescobaldi_app/mainapp.py:604 +#: ../python/frescobaldi_app/mainapp.py:614 msgid "Remove one dot from all the durations in the selection." msgstr "Quitar un puntillo de todas las duraciones de la selección." -#: ../python/frescobaldi_app/mainapp.py:609 +#: ../python/frescobaldi_app/mainapp.py:619 msgid "Remove scaling" msgstr "Quitar escalado" -#: ../python/frescobaldi_app/mainapp.py:610 +#: ../python/frescobaldi_app/mainapp.py:620 msgid "Remove all scaling (*n/m) from the durations in the selection." msgstr "" "Eliminar todos los factores de escala (*n/m) de las duraciones de la " "selección." -#: ../python/frescobaldi_app/mainapp.py:615 +#: ../python/frescobaldi_app/mainapp.py:625 msgid "Remove durations" msgstr "Quitar duraciones" -#: ../python/frescobaldi_app/mainapp.py:616 +#: ../python/frescobaldi_app/mainapp.py:626 msgid "Remove all durations from the selection." msgstr "Quitar todas las duraciones de la selección." -#: ../python/frescobaldi_app/mainapp.py:621 +#: ../python/frescobaldi_app/mainapp.py:631 msgid "Make implicit" msgstr "Hacer implícitas" -#: ../python/frescobaldi_app/mainapp.py:622 +#: ../python/frescobaldi_app/mainapp.py:632 msgid "Make durations implicit (remove repeated durations)." msgstr "" "Hacer que las duraciones sean implícitas (quitar las duraciones repetidas)." -#: ../python/frescobaldi_app/mainapp.py:627 +#: ../python/frescobaldi_app/mainapp.py:637 msgid "Make explicit" msgstr "Hacer explícitas" -#: ../python/frescobaldi_app/mainapp.py:628 +#: ../python/frescobaldi_app/mainapp.py:638 msgid "" "Make durations explicit (add duration to every note, even if it is the same " "as the preceding note)." @@ -1347,208 +1360,227 @@ "Hacer explícitas las duraciones (escribir la duración después de cada nota, " "incluso cuando es la misma que la de la nota anterior)." -#: ../python/frescobaldi_app/mainapp.py:634 +#: ../python/frescobaldi_app/mainapp.py:644 msgid "Apply rhythm..." msgstr "Aplicar ritmo..." -#: ../python/frescobaldi_app/mainapp.py:635 +#: ../python/frescobaldi_app/mainapp.py:645 msgid "Apply an entered rhythm to the selected music." msgstr "Aplicar unas duraciones dadas a la música seleccionada." -#: ../python/frescobaldi_app/mainapp.py:639 +#: ../python/frescobaldi_app/mainapp.py:649 msgid "Copy rhythm" msgstr "Copiar duraciones" -#: ../python/frescobaldi_app/mainapp.py:640 +#: ../python/frescobaldi_app/mainapp.py:650 msgid "Copy the rhythm of the selected music." msgstr "Copiar las duraciones de la música seleccionada." -#: ../python/frescobaldi_app/mainapp.py:646 +#: ../python/frescobaldi_app/mainapp.py:656 msgid "Paste rhythm" msgstr "Pegar duraciones" -#: ../python/frescobaldi_app/mainapp.py:647 +#: ../python/frescobaldi_app/mainapp.py:657 msgid "Paste a rhythm to the selected music." msgstr "Pegar duraciones a la música seleccionada." -#: ../python/frescobaldi_app/mainapp.py:655 +#: ../python/frescobaldi_app/mainapp.py:665 msgid "Double bar line" msgstr "Doble barra" -#: ../python/frescobaldi_app/mainapp.py:656 +#: ../python/frescobaldi_app/mainapp.py:666 msgid "Ending bar line" msgstr "Doble barra final" -#: ../python/frescobaldi_app/mainapp.py:657 +#: ../python/frescobaldi_app/mainapp.py:667 msgid "Dotted bar line" msgstr "Barra punteada" -#: ../python/frescobaldi_app/mainapp.py:658 +#: ../python/frescobaldi_app/mainapp.py:668 msgid "Dashed bar line" msgstr "Barra discontinua" -#: ../python/frescobaldi_app/mainapp.py:659 +#: ../python/frescobaldi_app/mainapp.py:669 msgid "Invisible bar line" msgstr "Barra invisible" -#: ../python/frescobaldi_app/mainapp.py:660 +#: ../python/frescobaldi_app/mainapp.py:670 msgid "Repeat start" msgstr "Inicio de repetición" -#: ../python/frescobaldi_app/mainapp.py:661 +#: ../python/frescobaldi_app/mainapp.py:671 msgid "Repeat both" msgstr "Repecición doble" -#: ../python/frescobaldi_app/mainapp.py:662 +#: ../python/frescobaldi_app/mainapp.py:672 msgid "Repeat end" msgstr "Fin de repetición" -#: ../python/frescobaldi_app/mainapp.py:663 +#: ../python/frescobaldi_app/mainapp.py:673 msgid "Tick bar line" msgstr "Línea divisoria corta" -#: ../python/frescobaldi_app/mainapp.py:664 +#: ../python/frescobaldi_app/mainapp.py:674 msgid "Single bar line" msgstr "Línea divisoria simple" -#: ../python/frescobaldi_app/mainapp.py:665 +#: ../python/frescobaldi_app/mainapp.py:675 msgid "Small-Wide-Small bar line" msgstr "Barra fina-gruesa-fina" -#: ../python/frescobaldi_app/mainapp.py:666 +#: ../python/frescobaldi_app/mainapp.py:676 msgid "Wide-Small bar line" msgstr "Barra gruesa-fina" -#: ../python/frescobaldi_app/mainapp.py:667 +#: ../python/frescobaldi_app/mainapp.py:677 msgid "Double wide bar line" msgstr "Barra gruesa doble" -#: ../python/frescobaldi_app/mainapp.py:668 +#: ../python/frescobaldi_app/mainapp.py:678 msgid "Repeat both (old)" msgstr "Repetición doble (antigua)" -#: ../python/frescobaldi_app/mainapp.py:669 +#: ../python/frescobaldi_app/mainapp.py:679 msgid "Repeat both (classic)" msgstr "Repetición doble (clásica)" -#: ../python/frescobaldi_app/mainapp.py:681 +#: ../python/frescobaldi_app/mainapp.py:691 msgid "Remove hyphenation" msgstr "Quitar el enguionado" -#: ../python/frescobaldi_app/mainapp.py:686 +#: ../python/frescobaldi_app/mainapp.py:695 +msgid "Copy Lyrics with hyphenation removed" +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:700 msgid "Single Quote" msgstr "Comilla simple" -#: ../python/frescobaldi_app/mainapp.py:690 +#: ../python/frescobaldi_app/mainapp.py:704 msgid "Double Quote" msgstr "Comilla doble" -#: ../python/frescobaldi_app/mainapp.py:694 +#: ../python/frescobaldi_app/mainapp.py:708 msgid "Align" msgstr "Alinear" -#: ../python/frescobaldi_app/mainapp.py:698 +#: ../python/frescobaldi_app/mainapp.py:712 msgid "Insert LilyPond version" msgstr "Introducir la versión de LilyPond" -#: ../python/frescobaldi_app/mainapp.py:703 +#: ../python/frescobaldi_app/mainapp.py:717 msgid "Update with convert-ly" msgstr "Actualizar mediante convert-ly" -#: ../python/frescobaldi_app/mainapp.py:708 +#: ../python/frescobaldi_app/mainapp.py:722 msgid "Open Current Folder" msgstr "Abrir carpeta actual" -#: ../python/frescobaldi_app/mainapp.py:722 +#: ../python/frescobaldi_app/mainapp.py:737 msgid "Repeat selected music" msgstr "Repetir la música seleccionada" -#: ../python/frescobaldi_app/mainapp.py:728 +#: ../python/frescobaldi_app/mainapp.py:743 msgid "Insert pair of braces" msgstr "Insertar par de llaves" -#: ../python/frescobaldi_app/mainapp.py:776 +#: ../python/frescobaldi_app/mainapp.py:794 +msgid "Can't process document" +msgstr "No se puede procesar el documento" + +#: ../python/frescobaldi_app/mainapp.py:799 +msgid "Your document has been modified, please save first." +msgstr "El documento ha sido modificado, grábelo primero." + +#: ../python/frescobaldi_app/mainapp.py:824 +msgid "There is already a LilyPond job running for this document." +msgstr "Ya está funcionando una tarea de LilyPond para este archivo." + +#: ../python/frescobaldi_app/mainapp.py:860 msgid "Abort the running LilyPond process" msgstr "Interrumpir el proceso de LilyPond en ejecución" -#: ../python/frescobaldi_app/mainapp.py:779 -msgid "Run LilyPond in preview mode" +#: ../python/frescobaldi_app/mainapp.py:863 +#, fuzzy +msgid "Run LilyPond in preview mode (Shift-click for custom dialog)" msgstr "Ejecutar LilyPond en el modo de vista previa" -#: ../python/frescobaldi_app/mainapp.py:796 +#: ../python/frescobaldi_app/mainapp.py:872 +#: ../python/frescobaldi_app/mainapp.py:1088 +msgid "Quick Insert" +msgstr "Inserción rápida" + +#: ../python/frescobaldi_app/mainapp.py:882 msgid "Apply Rhythm" msgstr "Aplicar ritmo" -#: ../python/frescobaldi_app/mainapp.py:804 +#: ../python/frescobaldi_app/mainapp.py:890 msgid "Enter a rhythm:" msgstr "Introduzca unas duraciones:" -#: ../python/frescobaldi_app/mainapp.py:807 +#: ../python/frescobaldi_app/mainapp.py:893 msgid "Enter a rhythm using space separated duration values (e.g. 8. 16 8 4 8)" msgstr "" "Introducir un ritmo utilizando valores de duración separados por espacios (p." "ej. 8. 16 8 4 8)" -#: ../python/frescobaldi_app/mainapp.py:862 +#: ../python/frescobaldi_app/mainapp.py:917 msgid "Terminal" msgstr "Terminal" -#: ../python/frescobaldi_app/mainapp.py:900 +#: ../python/frescobaldi_app/mainapp.py:948 msgid "S&ynchronize Terminal with Current Document" msgstr "&Sincronizar el terminal con el documento actual" -#: ../python/frescobaldi_app/mainapp.py:921 -#: ../python/frescobaldi_app/runlily.py:629 +#: ../python/frescobaldi_app/mainapp.py:969 +#: ../python/frescobaldi_app/runlily.py:783 msgid "PDF Preview" msgstr "Vista previa del PDF" -#: ../python/frescobaldi_app/mainapp.py:950 +#: ../python/frescobaldi_app/mainapp.py:1026 msgid "Show PDF Navigation Panel" msgstr "Mostrar el panel de navegación de PDF" -#: ../python/frescobaldi_app/mainapp.py:951 +#: ../python/frescobaldi_app/mainapp.py:1027 msgid "Show PDF minipager" msgstr "Mostrar el mini-paginador de PDF" -#: ../python/frescobaldi_app/mainapp.py:952 +#: ../python/frescobaldi_app/mainapp.py:1028 msgid "Configure Okular..." msgstr "Configurar Okular..." -#: ../python/frescobaldi_app/mainapp.py:955 +#: ../python/frescobaldi_app/mainapp.py:1031 msgid "S&ynchronize Preview with Current Document" msgstr "&Sincronizar la vista previa con el documento actual" -#: ../python/frescobaldi_app/mainapp.py:956 +#: ../python/frescobaldi_app/mainapp.py:1032 #, fuzzy msgid "Reload" msgstr "Grabar" -#: ../python/frescobaldi_app/mainapp.py:1024 -msgid "Quick Insert" -msgstr "Inserción rápida" - -#: ../python/frescobaldi_app/mainapp.py:1036 -#: ../python/frescobaldi_app/runlily.py:334 +#: ../python/frescobaldi_app/mainapp.py:1100 +#: ../python/frescobaldi_app/runlily.py:503 msgid "LilyPond Log" msgstr "Registro de LilyPond" -#: ../python/frescobaldi_app/mainapp.py:1040 +#: ../python/frescobaldi_app/mainapp.py:1104 msgid "no log" msgstr "no guardar registro" -#: ../python/frescobaldi_app/mainapp.py:1079 +#: ../python/frescobaldi_app/mainapp.py:1141 msgid "Only show on errors" msgstr "Mostrar sólo si hay errores" -#: ../python/frescobaldi_app/mainapp.py:1103 +#: ../python/frescobaldi_app/mainapp.py:1165 msgid "Rumor" msgstr "Rumor" -#: ../python/frescobaldi_app/mainapp.py:1115 +#: ../python/frescobaldi_app/mainapp.py:1177 +#: ../python/frescobaldi_app/settings.py:297 msgid "LilyPond Documentation" msgstr "Documentación de LilyPond" -#: ../python/frescobaldi_app/rumor.py:72 +#: ../python/frescobaldi_app/rumor.py:73 msgid "" "The meter to use. Leave 'Auto' to let Frescobaldi determine the meter from " "the LilyPond document." @@ -1556,31 +1588,31 @@ "Compás que usar. Déjelo en 'Automático' para que Frescobaldi determine el " "compás a partir del documento de LilyPond." -#: ../python/frescobaldi_app/rumor.py:79 +#: ../python/frescobaldi_app/rumor.py:80 msgid "Quantize:" msgstr "Cuantizar:" -#: ../python/frescobaldi_app/rumor.py:85 +#: ../python/frescobaldi_app/rumor.py:86 msgid "The shortest note duration to use." msgstr "Duración de la nota más corta que se va a usar." -#: ../python/frescobaldi_app/rumor.py:90 +#: ../python/frescobaldi_app/rumor.py:91 msgid "Step" msgstr "Paso a paso" -#: ../python/frescobaldi_app/rumor.py:92 +#: ../python/frescobaldi_app/rumor.py:93 msgid "Record LilyPond input note by note, without durations." msgstr "Grabar la entrada de LilyPond nota a nota, sin las duraciones." -#: ../python/frescobaldi_app/rumor.py:96 +#: ../python/frescobaldi_app/rumor.py:97 msgid "Mono" msgstr "Mono" -#: ../python/frescobaldi_app/rumor.py:98 +#: ../python/frescobaldi_app/rumor.py:99 msgid "Record monophonic input, without chords." msgstr "Grabar una entrada monofónica, sin acordes." -#: ../python/frescobaldi_app/rumor.py:107 +#: ../python/frescobaldi_app/rumor.py:108 msgid "" "The number of accidentals. A negative number designates flats. Leave 'Auto' " "to let Frescobaldi determine the key signature from the LilyPond document." @@ -1589,23 +1621,23 @@ "'Automático' para que Frescobaldi determine la tonalidad a partir del " "documento de LilyPond." -#: ../python/frescobaldi_app/rumor.py:113 +#: ../python/frescobaldi_app/rumor.py:114 msgid "Tempo:" msgstr "Tempo:" -#: ../python/frescobaldi_app/rumor.py:116 +#: ../python/frescobaldi_app/rumor.py:117 msgid "Meter:" msgstr "Compás:" -#: ../python/frescobaldi_app/rumor.py:119 +#: ../python/frescobaldi_app/rumor.py:120 msgid "Key:" msgstr "Tonalidad:" -#: ../python/frescobaldi_app/rumor.py:131 +#: ../python/frescobaldi_app/rumor.py:132 msgid "Configure..." msgstr "Configurar..." -#: ../python/frescobaldi_app/rumor.py:132 +#: ../python/frescobaldi_app/rumor.py:133 msgid "Adjust more settings, like MIDI input and output." msgstr "Configurar más ajustes, como la entrada y salida de MIDI." @@ -1617,59 +1649,59 @@ msgid "Set these settings as default." msgstr "Establecer estos ajustes como predeterminados." -#: ../python/frescobaldi_app/rumor.py:148 +#: ../python/frescobaldi_app/rumor.py:147 msgid "Found rumor version %1." msgstr "Se ha encontrado la versión %1 de Rumor." -#: ../python/frescobaldi_app/rumor.py:151 +#: ../python/frescobaldi_app/rumor.py:150 msgid "Could not find Rumor: %1" msgstr "No se ha encontrado Rumor: %1" -#: ../python/frescobaldi_app/rumor.py:165 +#: ../python/frescobaldi_app/rumor.py:164 msgid "Settings have been saved." msgstr "Los ajustes se han grabado." -#: ../python/frescobaldi_app/rumor.py:316 +#: ../python/frescobaldi_app/rumor.py:315 msgid "Record" msgstr "Grabar" -#: ../python/frescobaldi_app/rumor.py:318 +#: ../python/frescobaldi_app/rumor.py:317 msgid "Start or stop Rumor MIDI-recording." msgstr "Iniciar o detener la grabación MIDI de Rumor." -#: ../python/frescobaldi_app/rumor.py:334 +#: ../python/frescobaldi_app/rumor.py:333 msgid "Rumor is recording, press ESC to stop." msgstr "Rumor está grabando, pulse ESCAPE para parar." -#: ../python/frescobaldi_app/rumor.py:360 +#: ../python/frescobaldi_app/rumor.py:359 msgid "Rumor stopped." msgstr "Rumor detenido." -#: ../python/frescobaldi_app/rumor.py:394 +#: ../python/frescobaldi_app/rumor.py:393 msgid "TiMidity" msgstr "TiMidity" -#: ../python/frescobaldi_app/rumor.py:395 +#: ../python/frescobaldi_app/rumor.py:394 msgid "Start or stop the TiMidity ALSA MIDI client." msgstr "Iniciar o detener el cliente MIDI de ALSA TiMidity." -#: ../python/frescobaldi_app/rumor.py:415 +#: ../python/frescobaldi_app/rumor.py:413 msgid "Rumor Settings" msgstr "Configuración de Rumor" -#: ../python/frescobaldi_app/rumor.py:423 +#: ../python/frescobaldi_app/rumor.py:421 msgid "OSS device %1" msgstr "Dispositivo OSS %1" -#: ../python/frescobaldi_app/rumor.py:425 +#: ../python/frescobaldi_app/rumor.py:423 msgid "Keyboard" msgstr "Teclado" -#: ../python/frescobaldi_app/rumor.py:431 +#: ../python/frescobaldi_app/rumor.py:429 msgid "MIDI input:" msgstr "Entrada de MIDI:" -#: ../python/frescobaldi_app/rumor.py:435 +#: ../python/frescobaldi_app/rumor.py:433 msgid "" "MIDI input to use. Choose 'Keyboard' if you want to play on the keyboard of " "your computer." @@ -1677,28 +1709,28 @@ "La entrada de MIDI que se va a usar. Seleccione Teclado si quiere tocar en " "el teclado del ordenador." -#: ../python/frescobaldi_app/rumor.py:441 +#: ../python/frescobaldi_app/rumor.py:439 msgid "MIDI output:" msgstr "Salida de MIDI:" -#: ../python/frescobaldi_app/rumor.py:445 +#: ../python/frescobaldi_app/rumor.py:443 msgid "MIDI output to use." msgstr "La salida de MIDI que se va a usar." -#: ../python/frescobaldi_app/rumor.py:450 -#: ../python/frescobaldi_app/scorewiz/__init__.py:544 +#: ../python/frescobaldi_app/rumor.py:448 +#: ../python/frescobaldi_app/scorewiz/__init__.py:529 msgid "Language:" msgstr "Idioma:" -#: ../python/frescobaldi_app/rumor.py:455 +#: ../python/frescobaldi_app/rumor.py:453 msgid "The LilyPond language you want Rumor to output the pitches in." msgstr "El idioma de LilyPond en el que quiere que Rumor grabe las notas." -#: ../python/frescobaldi_app/rumor.py:463 +#: ../python/frescobaldi_app/rumor.py:461 msgid "Explicit durations" msgstr "Duraciones explícitas" -#: ../python/frescobaldi_app/rumor.py:465 +#: ../python/frescobaldi_app/rumor.py:463 msgid "" "Add a duration after every note, even if it is the same as the preceding " "note." @@ -1706,51 +1738,51 @@ "Escribir la duración después de cada nota, incluso cuando es la misma que la " "de la nota anterior." -#: ../python/frescobaldi_app/rumor.py:470 +#: ../python/frescobaldi_app/rumor.py:468 msgid "Absolute pitch" msgstr "Altura absoluta" -#: ../python/frescobaldi_app/rumor.py:472 +#: ../python/frescobaldi_app/rumor.py:470 msgid "Use absolute pitches instead of relative." msgstr "Utilizar alturas absolutas en vez de relativas." -#: ../python/frescobaldi_app/rumor.py:478 +#: ../python/frescobaldi_app/rumor.py:476 msgid "No barlines" msgstr "Sin divisorias" -#: ../python/frescobaldi_app/rumor.py:480 +#: ../python/frescobaldi_app/rumor.py:478 msgid "Filter the barlines out of Rumor's output." msgstr "Filtrar las barras de compás de la salida de Rumor." -#: ../python/frescobaldi_app/rumor.py:484 +#: ../python/frescobaldi_app/rumor.py:482 msgid "No dots" msgstr "Sin puntillos" -#: ../python/frescobaldi_app/rumor.py:486 +#: ../python/frescobaldi_app/rumor.py:484 msgid "Do not use dotted notes, but ties instead." msgstr "No utilizar notas con puntillo, sino ligaduras de unión." -#: ../python/frescobaldi_app/rumor.py:490 +#: ../python/frescobaldi_app/rumor.py:488 msgid "Legato" msgstr "Legato" -#: ../python/frescobaldi_app/rumor.py:491 +#: ../python/frescobaldi_app/rumor.py:489 msgid "Do not use rests, but give all notes the maximum length." msgstr "No usar silencios, sino que todas las notas tengan la máxima longitud." -#: ../python/frescobaldi_app/rumor.py:496 +#: ../python/frescobaldi_app/rumor.py:494 msgid "Strip rests" msgstr "Recortar silencios" -#: ../python/frescobaldi_app/rumor.py:498 +#: ../python/frescobaldi_app/rumor.py:496 msgid "Strip leading and trialing rests from output." msgstr "Recortar los silencios inicial y final de la salida." -#: ../python/frescobaldi_app/rumor.py:502 +#: ../python/frescobaldi_app/rumor.py:500 msgid "Guile scripts to load:" msgstr "Cargar guiones de Guile:" -#: ../python/frescobaldi_app/rumor.py:509 +#: ../python/frescobaldi_app/rumor.py:507 msgid "" "Here you can select which Guile scripts you want Rumor to load. Check " "\"What's this\" for more information." @@ -1758,7 +1790,7 @@ "Aquí puede elegir los guiones de Guile que quere que Rumor cargue. Compruebe " "la salida de \"Qué es esto\" para más información." -#: ../python/frescobaldi_app/rumor.py:513 +#: ../python/frescobaldi_app/rumor.py:511 msgid "" "Here you can select which Guile scripts you want Rumor to load. You can add " "your own scripts by putting them in %1. If the first line of your script " @@ -1769,55 +1801,132 @@ "guión comienza en un símbolo de punto y coma (;) esa línea se mostrará como " "descripción." -#: ../python/frescobaldi_app/rumor.py:635 +#: ../python/frescobaldi_app/rumor.py:633 msgid "Auto" msgstr "Automático" -#: ../python/frescobaldi_app/runlily.py:88 +#: ../python/frescobaldi_app/runlily.py:101 msgid "preview mode" msgstr "modo de vista previa" -#: ../python/frescobaldi_app/runlily.py:88 +#: ../python/frescobaldi_app/runlily.py:101 msgid "publish mode" msgstr "modo de publicación" -#: ../python/frescobaldi_app/runlily.py:89 +#: ../python/frescobaldi_app/runlily.py:104 +msgid "LilyPond %1 [%2] starting (%3)..." +msgstr "LilyPond %1 [%2] iniciando (%3)..." + +#: ../python/frescobaldi_app/runlily.py:107 msgid "LilyPond [%1] starting (%2)..." msgstr "LilyPond [%1] iniciando (%2)..." -#: ../python/frescobaldi_app/runlily.py:95 +#: ../python/frescobaldi_app/runlily.py:131 msgid "LilyPond [%1] exited with return code %2." msgstr "LilyPond [%1] devolvió al salir el código %2." -#: ../python/frescobaldi_app/runlily.py:98 +#: ../python/frescobaldi_app/runlily.py:134 msgid "LilyPond [%1] exited with exit status %2." msgstr "LilyPond [%1] devolvió al salir el código %2." -#: ../python/frescobaldi_app/runlily.py:107 +#: ../python/frescobaldi_app/runlily.py:140 msgid "LilyPond [%1] finished (%2)." msgstr "LilyPond [%1] ha terminado (%2)." -#: ../python/frescobaldi_app/runlily.py:115 +#: ../python/frescobaldi_app/runlily.py:150 msgid "Could not start LilyPond. Please check path and permissions." msgstr "No se ha podido iniciar LilyPond. Compruebe la ruta y los permisos." -#: ../python/frescobaldi_app/runlily.py:118 +#: ../python/frescobaldi_app/runlily.py:153 msgid "Could not read from the LilyPond process." msgstr "No se ha podido leer a partir del proceso LilyPond." -#: ../python/frescobaldi_app/runlily.py:121 +#: ../python/frescobaldi_app/runlily.py:156 msgid "An unknown error occured." msgstr "Se ha producido un error desconocido." -#: ../python/frescobaldi_app/runlily.py:323 +#: ../python/frescobaldi_app/runlily.py:229 +#: ../python/frescobaldi_app/runlily.py:232 +#, fuzzy +msgid "Run LilyPond" +msgstr "LilyPond" + +#: ../python/frescobaldi_app/runlily.py:239 +#, fuzzy +msgid "Select which LilyPond version you want to run:" +msgstr "Seleccione los archivos que quiere enviar:" + +#: ../python/frescobaldi_app/runlily.py:247 +#, fuzzy +msgid "Run LilyPond in preview mode (with Point and Click)" +msgstr "Ejecutar LilyPond en el modo de vista previa" + +#: ../python/frescobaldi_app/runlily.py:250 +#: ../python/frescobaldi_app/settings.py:150 +msgid "Run LilyPond with verbose output" +msgstr "Ejecutar LilyPond con salida prolija" + +#: ../python/frescobaldi_app/runlily.py:292 +#, fuzzy +msgid "Command" +msgstr "Instrucción de impresión:" + +#: ../python/frescobaldi_app/runlily.py:299 +#, fuzzy +msgid "LilyPond %1" +msgstr "LilyPond" + +#: ../python/frescobaldi_app/runlily.py:300 +#, fuzzy +msgid "Use LilyPond version %1" +msgstr "Introducir la versión de LilyPond" + +#: ../python/frescobaldi_app/runlily.py:303 +#: ../python/frescobaldi_app/settings.py:601 +#, fuzzy +msgid "default" +msgstr "Predeterminado" + +#: ../python/frescobaldi_app/runlily.py:304 +#, fuzzy +msgid "Default LilyPond Version." +msgstr "Introducir la versión de LilyPond" + +#: ../python/frescobaldi_app/runlily.py:306 +msgid "automatic" +msgstr "" + +#: ../python/frescobaldi_app/runlily.py:307 +#, fuzzy +msgid "Automatic LilyPond Version (determined from document)." +msgstr "La versión de LilyPond que se va a usar para los documentos nuevos" + +#: ../python/frescobaldi_app/runlily.py:312 +#, fuzzy +msgid "Path: %1" +msgstr "Reproducir %1" + +#: ../python/frescobaldi_app/runlily.py:316 +#, fuzzy +msgid "LilyPond (version unknown)" +msgstr "Introducir la versión de LilyPond" + +#: ../python/frescobaldi_app/runlily.py:317 +#, fuzzy +msgid "" +"Use LilyPond (version unknown)\n" +"Path: %1" +msgstr "Introducir la versión de LilyPond" + +#: ../python/frescobaldi_app/runlily.py:491 msgid "Click to edit this file" msgstr "Pulse para editar este archivo" -#: ../python/frescobaldi_app/runlily.py:355 +#: ../python/frescobaldi_app/runlily.py:524 msgid "Save LilyPond Log as" msgstr "Guardar registro de LilyPond como" -#: ../python/frescobaldi_app/runlily.py:392 +#: ../python/frescobaldi_app/runlily.py:540 msgid "" "Could not save LilyPond log:\n" "\n" @@ -1827,108 +1936,96 @@ "\n" "%1" -#: ../python/frescobaldi_app/settings.py:49 +#: ../python/frescobaldi_app/settings.py:54 msgid "Configure" msgstr "Configurar" -#: ../python/frescobaldi_app/settings.py:104 +#: ../python/frescobaldi_app/settings.py:110 msgid "Editor Component" msgstr "Componente del editor" -#: ../python/frescobaldi_app/settings.py:105 +#: ../python/frescobaldi_app/settings.py:111 msgid "Editor Component Options" msgstr "Opciones del componente del editor" -#: ../python/frescobaldi_app/settings.py:134 +#: ../python/frescobaldi_app/settings.py:140 msgid "General Preferences" msgstr "Preferencias generales" -#: ../python/frescobaldi_app/settings.py:135 +#: ../python/frescobaldi_app/settings.py:141 msgid "General Frescobaldi Preferences" msgstr "Preferencias generales de Frescobaldi" -#: ../python/frescobaldi_app/settings.py:140 +#: ../python/frescobaldi_app/settings.py:146 msgid "Save document when LilyPond is run" msgstr "Guardar el documento al ejecutar LilyPond" -#: ../python/frescobaldi_app/settings.py:142 +#: ../python/frescobaldi_app/settings.py:148 msgid "Let LilyPond delete intermediate output files" msgstr "Permitir a LilyPond borrar los archivos de salida intermedios" -#: ../python/frescobaldi_app/settings.py:144 -msgid "Run LilyPond with verbose output" -msgstr "Ejecutar LilyPond con salida prolija" - -#: ../python/frescobaldi_app/settings.py:146 +#: ../python/frescobaldi_app/settings.py:152 msgid "Remember cursor position, bookmarks, etc." msgstr "Recordar la posición del cursor, marcadores, etc." -#: ../python/frescobaldi_app/settings.py:148 +#: ../python/frescobaldi_app/settings.py:154 msgid "Disable the built-in PDF preview" msgstr "Desactivar la vista previa de PDF incorporada" -#: ../python/frescobaldi_app/settings.py:165 +#: ../python/frescobaldi_app/settings.py:170 msgid "LilyPond version number to use for new documents" msgstr "La versión de LilyPond que se va a usar para los documentos nuevos" -#: ../python/frescobaldi_app/settings.py:167 +#: ../python/frescobaldi_app/settings.py:172 msgid "Use version number of installed LilyPond" msgstr "Usar el número de la versión de LilyPond instalada" -#: ../python/frescobaldi_app/settings.py:168 +#: ../python/frescobaldi_app/settings.py:173 msgid "Use version number of last convert-ly rule" msgstr "Usar el número de la versión de la última regla de convert-ly" -#: ../python/frescobaldi_app/settings.py:169 +#: ../python/frescobaldi_app/settings.py:174 msgid "Use custom version number:" msgstr "Usar número de versión personalizado:" -#: ../python/frescobaldi_app/settings.py:175 +#: ../python/frescobaldi_app/settings.py:179 msgid "Enter a valid LilyPond version number, e.g. 2.12.0" msgstr "Escriba un número de versión de LilyPond válido, p.ej.: 2.12.0" -#: ../python/frescobaldi_app/settings.py:233 +#: ../python/frescobaldi_app/settings.py:234 msgid "Paths" msgstr "Rutas" -#: ../python/frescobaldi_app/settings.py:234 +#: ../python/frescobaldi_app/settings.py:235 msgid "Paths to programs or data used by Frescobaldi" msgstr "Rutas a programas o datos usados por Frescobaldi" -#: ../python/frescobaldi_app/settings.py:244 -msgid "Name or full path of the LilyPond program." -msgstr "El nombre o la ruta completa del programa LilyPond." - -#: ../python/frescobaldi_app/settings.py:246 -msgid "Name or full path of the convert-ly program." -msgstr "El nombre o la ruta completa del programa convert-ly." - -#: ../python/frescobaldi_app/settings.py:247 +#: ../python/frescobaldi_app/settings.py:249 msgid "PDF Viewer:" msgstr "Visor de PDF:" -#: ../python/frescobaldi_app/settings.py:248 +#: ../python/frescobaldi_app/settings.py:250 msgid "PDF Viewer" msgstr "Visor de PDF" -#: ../python/frescobaldi_app/settings.py:249 -#: ../python/frescobaldi_app/settings.py:252 +#: ../python/frescobaldi_app/settings.py:251 +#: ../python/frescobaldi_app/settings.py:254 msgid "(leave empty for operating system default)" msgstr "(dejar en blanco para la opción predeterminada del sistema operativo)" -#: ../python/frescobaldi_app/settings.py:250 +#: ../python/frescobaldi_app/settings.py:252 msgid "MIDI Player:" msgstr "Reproductor MIDI:" -#: ../python/frescobaldi_app/settings.py:251 +#: ../python/frescobaldi_app/settings.py:253 msgid "MIDI Player" msgstr "Reproductor MIDI" -#: ../python/frescobaldi_app/settings.py:253 +#: ../python/frescobaldi_app/settings.py:255 msgid "Printcommand:" msgstr "Instrucción de impresión:" -#: ../python/frescobaldi_app/settings.py:254 +#: ../python/frescobaldi_app/settings.py:256 msgid "" "Command to print a PDF file, for example lpr or kprinter. You may add some " "arguments, e.g. lpr -P myprinter." @@ -1936,23 +2033,23 @@ "Instrucción para imprimir un archivo PDF, por ejemplo lpr o kprinter. Puede " "añadir argumentos, como p.ej. lpr -P mi_impresora." -#: ../python/frescobaldi_app/settings.py:270 +#: ../python/frescobaldi_app/settings.py:272 msgid "Default directory:" msgstr "Directorio predeterminado:" -#: ../python/frescobaldi_app/settings.py:275 +#: ../python/frescobaldi_app/settings.py:277 msgid "The default folder for your LilyPond documents (optional)." msgstr "La carpeta predeterminada para los documentos de LilyPond (opcional)." -#: ../python/frescobaldi_app/settings.py:287 +#: ../python/frescobaldi_app/settings.py:288 msgid "LilyPond documentation:" msgstr "Documentación de LilyPond:" -#: ../python/frescobaldi_app/settings.py:292 +#: ../python/frescobaldi_app/settings.py:294 msgid "Url or path to the LilyPond documentation." msgstr "Dirección o ruta d la documentación de LilyPond." -#: ../python/frescobaldi_app/settings.py:304 +#: ../python/frescobaldi_app/settings.py:305 msgid "" "Paths to search for hyphenation dictionaries of OpenOffice.org, Scribus, " "KOffice, etc, one per line. If you leave out the starting slash, the " @@ -1962,23 +2059,23 @@ "Scribus, KOffice, etc, uno por cada línea. Si deja la barra inicial, se " "antepondrán los prefijos tomados de la variable de entorno KDEDIRS." -#: ../python/frescobaldi_app/settings.py:363 +#: ../python/frescobaldi_app/settings.py:366 msgid "Rumor MIDI input" msgstr "Entrada MIDI de Rumor" -#: ../python/frescobaldi_app/settings.py:364 +#: ../python/frescobaldi_app/settings.py:367 msgid "Rumor MIDI input plugin settings" msgstr "Ajustes del complemento de entrada MIDI Rumor" -#: ../python/frescobaldi_app/settings.py:369 +#: ../python/frescobaldi_app/settings.py:372 msgid "Commands used by the Rumor MIDI input module" msgstr "Instrucciones empleadas por el módulo de entrada MIDI Rumor" -#: ../python/frescobaldi_app/settings.py:376 +#: ../python/frescobaldi_app/settings.py:379 msgid "Name or full path of the Rumor program." msgstr "Nombre o ruta completa del programaRumor." -#: ../python/frescobaldi_app/settings.py:378 +#: ../python/frescobaldi_app/settings.py:381 msgid "" "Name or full path of the aconnect program (part of ALSA, for MIDI input and " "playback using Rumor)." @@ -1986,23 +2083,80 @@ "Nombre o ruta completa del programa aconnect (parte de ALSA, para la entrada " "y reproducción de MIDI utilizando Rumor)." -#: ../python/frescobaldi_app/settings.py:382 +#: ../python/frescobaldi_app/settings.py:385 msgid "" "Full command to start Timidity (or any other program) as an ALSA MIDI client." msgstr "" "Instrucción completa para iniciar Timidity (o cualquier otro programa) como " "cliente de MIDI ALSA." -#: ../python/frescobaldi_app/version.py:55 +#: ../python/frescobaldi_app/settings.py:421 +#, fuzzy +msgid "LilyPond versions to use:" +msgstr "Introducir la versión de LilyPond" + +#: ../python/frescobaldi_app/settings.py:432 +msgid "" +"Enable automatic version selection (choose LilyPond version from document)" +msgstr "" + +#: ../python/frescobaldi_app/settings.py:558 +msgid "Convert-ly:" +msgstr "" + +#: ../python/frescobaldi_app/settings.py:559 +#, fuzzy +msgid "Lilypond-book:" +msgstr "LilyPond" + +#: ../python/frescobaldi_app/settings.py:595 +#, fuzzy +msgid "Path" +msgstr "Rutas" + +#: ../python/frescobaldi_app/settings.py:596 +#, fuzzy +msgid "Version" +msgstr "Versión:" + +#: ../python/frescobaldi_app/settings.py:599 +#, fuzzy +msgid "Can't determine LilyPond version." +msgstr "Introducir la versión de LilyPond" + +#: ../python/frescobaldi_app/settings.py:624 +#, fuzzy +msgid "LilyPond Command:" +msgstr "Índice de instrucciones de LilyPond" + +#: ../python/frescobaldi_app/settings.py:628 +msgid "Name or full path of the LilyPond program." +msgstr "El nombre o la ruta completa del programa LilyPond." + +#: ../python/frescobaldi_app/settings.py:629 +#, fuzzy +msgid "LilyPond Command" +msgstr "Índice de instrucciones de LilyPond" + +#: ../python/frescobaldi_app/settings.py:642 +#, fuzzy +msgid "Set as default" +msgstr "Establecer estos ajustes como predeterminados." + +#: ../python/frescobaldi_app/settings.py:644 +msgid "Include in automatic version selection" +msgstr "" + +#: ../python/frescobaldi_app/version.py:61 msgid "Your document has already a LilyPond version statement." msgstr "El documento ya tiene una declaración de la versión de LilyPond." -#: ../python/frescobaldi_app/version.py:56 +#: ../python/frescobaldi_app/version.py:62 msgid "Version already set" msgstr "Versión ya establecida" -#: ../python/frescobaldi_app/version.py:64 -#: ../python/frescobaldi_app/version.py:82 +#: ../python/frescobaldi_app/version.py:70 +#: ../python/frescobaldi_app/version.py:88 msgid "" "Can't determine the version of LilyPond. Please check your LilyPond " "installation." @@ -2010,7 +2164,7 @@ "No es posible determinar la versión de LilyPond. Revise la instalación de " "LilyPond." -#: ../python/frescobaldi_app/version.py:78 +#: ../python/frescobaldi_app/version.py:84 msgid "" "Can't determine the LilyPond version of the current document. Please add a " "\\version statement with the correct version." @@ -2018,11 +2172,11 @@ "No es posible determinar la versión de LilyPond del documento actual. " "Escriba una declaración \\version con la versión correcta." -#: ../python/frescobaldi_app/version.py:86 +#: ../python/frescobaldi_app/version.py:92 msgid "This LilyPond document is already up-to-date." msgstr "Este documento de LilyPond ya está actualizado." -#: ../python/frescobaldi_app/version.py:100 +#: ../python/frescobaldi_app/version.py:105 msgid "" "The document has been processed with convert-ly. You'll find the messages of " "convert-ly in a comment block at the end. You still may have to edit some " @@ -2032,7 +2186,7 @@ "convert-ly en un bloque de comentario al final. Posiblemente tenga que " "editar algunas partes de forma manual." -#: ../python/frescobaldi_app/version.py:106 +#: ../python/frescobaldi_app/version.py:111 msgid "" "The document has been processed with convert-ly, but remained unchanged. " "This is the message given by convert-ly: %1" @@ -2040,185 +2194,185 @@ "El documento ha sido procesado con convert-ly, pero ha permanecido sin " "cambios. Éste es el mensaje que ha dado convert-ly: %1" -#: ../python/frescobaldi_app/version.py:111 +#: ../python/frescobaldi_app/version.py:116 msgid "Could not start convert-ly: %1" msgstr "No ha sido posible iniciar convert-ly: %1" -#: ../python/frescobaldi_app/widgets.py:46 +#: ../python/frescobaldi_app/widgets.py:47 msgid "Tap" msgstr "Marcar" -#: ../python/frescobaldi_app/widgets.py:52 +#: ../python/frescobaldi_app/widgets.py:53 msgid "Click this button a few times to set the tempo." msgstr "Pulse este botón varias veces para establecer el tempo." -#: ../python/frescobaldi_app/widgets.py:178 +#: ../python/frescobaldi_app/widgets.py:179 msgid "The tempo in beats per minute." msgstr "El tempo en pulsos por minuto." -#: ../python/frescobaldi_app/widgets.py:290 +#: ../python/frescobaldi_app/widgets.py:288 msgid "Treble" msgstr "Tiple" -#: ../python/frescobaldi_app/widgets.py:291 -#: ../python/frescobaldi_app/scorewiz/parts.py:809 +#: ../python/frescobaldi_app/widgets.py:289 +#: ../python/frescobaldi_app/scorewiz/parts.py:812 msgid "Alto" msgstr "Alto" -#: ../python/frescobaldi_app/widgets.py:292 -#: ../python/frescobaldi_app/scorewiz/parts.py:815 +#: ../python/frescobaldi_app/widgets.py:290 +#: ../python/frescobaldi_app/scorewiz/parts.py:818 msgid "Tenor" msgstr "Tenor" -#: ../python/frescobaldi_app/widgets.py:293 +#: ../python/frescobaldi_app/widgets.py:291 msgid "Treble 8" msgstr "Tiple 8" -#: ../python/frescobaldi_app/widgets.py:294 -#: ../python/frescobaldi_app/scorewiz/parts.py:585 -#: ../python/frescobaldi_app/scorewiz/parts.py:822 +#: ../python/frescobaldi_app/widgets.py:292 +#: ../python/frescobaldi_app/scorewiz/parts.py:588 +#: ../python/frescobaldi_app/scorewiz/parts.py:825 msgid "Bass" msgstr "Bajo" -#: ../python/frescobaldi_app/widgets.py:295 -#: ../python/frescobaldi_app/scorewiz/parts.py:1402 +#: ../python/frescobaldi_app/widgets.py:293 +#: ../python/frescobaldi_app/scorewiz/parts.py:1512 msgid "Percussion" msgstr "Percusión" -#: ../python/frescobaldi_app/widgets.py:298 +#: ../python/frescobaldi_app/widgets.py:296 msgid "Tab clef" msgstr "Clave de tablatura" -#: ../python/frescobaldi_app/widgets.py:300 +#: ../python/frescobaldi_app/widgets.py:298 msgid "No Clef" msgstr "Sin clave" -#: ../python/frescobaldi_app/scorewiz/__init__.py:68 +#: ../python/frescobaldi_app/scorewiz/__init__.py:62 msgid "Score Setup Wizard" msgstr "Asistente de partitura" -#: ../python/frescobaldi_app/scorewiz/__init__.py:137 +#: ../python/frescobaldi_app/scorewiz/__init__.py:133 msgid "Titles and Headers" msgstr "Títulos y encabezamientos" -#: ../python/frescobaldi_app/scorewiz/__init__.py:155 +#: ../python/frescobaldi_app/scorewiz/__init__.py:151 msgid "Click to enter a value." msgstr "Pulse para introducir un valor." -#: ../python/frescobaldi_app/scorewiz/__init__.py:157 +#: ../python/frescobaldi_app/scorewiz/__init__.py:153 msgid "bottom of first page" msgstr "final de la primera página" -#: ../python/frescobaldi_app/scorewiz/__init__.py:158 +#: ../python/frescobaldi_app/scorewiz/__init__.py:154 msgid "bottom of last page" msgstr "final de la última página" -#: ../python/frescobaldi_app/scorewiz/__init__.py:201 +#: ../python/frescobaldi_app/scorewiz/__init__.py:194 msgid "Parts" msgstr "Partes" -#: ../python/frescobaldi_app/scorewiz/__init__.py:206 +#: ../python/frescobaldi_app/scorewiz/__init__.py:199 msgid "Available parts:" msgstr "Partes disponibles:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:209 +#: ../python/frescobaldi_app/scorewiz/__init__.py:202 msgid "Add selected part to your score." msgstr "Añadir la parte seleccionada a la partitura." -#: ../python/frescobaldi_app/scorewiz/__init__.py:214 +#: ../python/frescobaldi_app/scorewiz/__init__.py:207 msgid "Score:" msgstr "Partitura:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:348 -#: ../python/frescobaldi_app/scorewiz/__init__.py:353 +#: ../python/frescobaldi_app/scorewiz/__init__.py:341 +#: ../python/frescobaldi_app/scorewiz/__init__.py:346 msgid "Score settings" msgstr "Configuración de la partitura" -#: ../python/frescobaldi_app/scorewiz/__init__.py:360 +#: ../python/frescobaldi_app/scorewiz/__init__.py:353 msgid "General preferences" msgstr "Preferencias generales" -#: ../python/frescobaldi_app/scorewiz/__init__.py:362 +#: ../python/frescobaldi_app/scorewiz/__init__.py:355 msgid "Instrument names" msgstr "Nombres de instrumentos" -#: ../python/frescobaldi_app/scorewiz/__init__.py:369 +#: ../python/frescobaldi_app/scorewiz/__init__.py:362 msgid "Key signature:" msgstr "Armadura de la tonalidad:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:377 +#: ../python/frescobaldi_app/scorewiz/__init__.py:370 msgid "Time signature:" msgstr "Compás:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:393 +#: ../python/frescobaldi_app/scorewiz/__init__.py:386 msgid "Pickup measure:" msgstr "Compás de anacrusa:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:405 +#: ../python/frescobaldi_app/scorewiz/__init__.py:398 msgid "Metronome mark:" msgstr "Indicación metronómica:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:434 +#: ../python/frescobaldi_app/scorewiz/__init__.py:427 msgid "Tempo indication:" msgstr "Indicación de tempo:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:438 +#: ../python/frescobaldi_app/scorewiz/__init__.py:431 msgid "A tempo indication, e.g. \"Allegro.\"" msgstr "Una indicación de tempo, como \"Allegro\"." -#: ../python/frescobaldi_app/scorewiz/__init__.py:444 +#: ../python/frescobaldi_app/scorewiz/__init__.py:437 msgid "Pitch name language:" msgstr "Idioma de los nombres de nota:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:452 +#: ../python/frescobaldi_app/scorewiz/__init__.py:445 msgid "The LilyPond language you want to use for the pitch names." msgstr "El idioma de LilyPond en que quiere escribir los nombres de las notas." -#: ../python/frescobaldi_app/scorewiz/__init__.py:469 +#: ../python/frescobaldi_app/scorewiz/__init__.py:451 msgid "Version:" msgstr "Versión:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:478 +#: ../python/frescobaldi_app/scorewiz/__init__.py:460 msgid "The LilyPond version you will be using for this document." msgstr "La versión de LilyPond que se va a usar para este documento." -#: ../python/frescobaldi_app/scorewiz/__init__.py:482 +#: ../python/frescobaldi_app/scorewiz/__init__.py:464 msgid "Use typographical quotes" msgstr "Utilizar comillas tipográficas" -#: ../python/frescobaldi_app/scorewiz/__init__.py:484 +#: ../python/frescobaldi_app/scorewiz/__init__.py:466 msgid "Replace normal quotes in titles with nice typographical quotes." msgstr "" "Sustituir las comillas normales con las vistosas comillas tipográficas." -#: ../python/frescobaldi_app/scorewiz/__init__.py:488 +#: ../python/frescobaldi_app/scorewiz/__init__.py:470 msgid "Suppress the default tagline output by LilyPond." msgstr "Eliminar el pie de página predeterminado que LilyPond produce." -#: ../python/frescobaldi_app/scorewiz/__init__.py:490 +#: ../python/frescobaldi_app/scorewiz/__init__.py:472 msgid "Remove bar numbers" msgstr "Quitar números de compás" -#: ../python/frescobaldi_app/scorewiz/__init__.py:492 +#: ../python/frescobaldi_app/scorewiz/__init__.py:474 msgid "" "Suppress the display of measure numbers at the beginning of every system." msgstr "" "Eliminar la numeración de compases que aparece a la izquierda de los " "sistemas." -#: ../python/frescobaldi_app/scorewiz/__init__.py:495 +#: ../python/frescobaldi_app/scorewiz/__init__.py:477 msgid "Create MIDI output" msgstr "Producir salida de MIDI" -#: ../python/frescobaldi_app/scorewiz/__init__.py:497 +#: ../python/frescobaldi_app/scorewiz/__init__.py:479 msgid "Create a MIDI file in addition to the PDF file." msgstr "Crear un archivo MIDI además del archivo PDF." -#: ../python/frescobaldi_app/scorewiz/__init__.py:499 +#: ../python/frescobaldi_app/scorewiz/__init__.py:481 msgid "Show metronome mark" msgstr "Imprimir metrónomo" -#: ../python/frescobaldi_app/scorewiz/__init__.py:501 +#: ../python/frescobaldi_app/scorewiz/__init__.py:483 msgid "" "If checked, show the metronome mark at the beginning of the score. The MIDI " "output also uses the metronome setting." @@ -2227,155 +2381,163 @@ "principio de la partitura. La salida MIDI también usa este ajuste de " "metrónomo." -#: ../python/frescobaldi_app/scorewiz/__init__.py:512 +#: ../python/frescobaldi_app/scorewiz/__init__.py:487 +msgid "Wrap score in \\book block" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/__init__.py:489 +msgid "If checked, wraps the \\score block inside a \\book block." +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/__init__.py:499 msgid "Landscape" msgstr "Apaisado" -#: ../python/frescobaldi_app/scorewiz/__init__.py:526 +#: ../python/frescobaldi_app/scorewiz/__init__.py:511 msgid "First system:" msgstr "Primer sistema:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:529 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/scorewiz/__init__.py:514 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "Long" msgstr "Completo" -#: ../python/frescobaldi_app/scorewiz/__init__.py:529 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/scorewiz/__init__.py:514 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "Short" msgstr "Abreviado" -#: ../python/frescobaldi_app/scorewiz/__init__.py:531 +#: ../python/frescobaldi_app/scorewiz/__init__.py:516 msgid "Use long or short instrument names before the first system." msgstr "" "Utilizar un nombre corto o largo para el instrumento antes del primer " "sistema." -#: ../python/frescobaldi_app/scorewiz/__init__.py:535 +#: ../python/frescobaldi_app/scorewiz/__init__.py:520 msgid "Other systems:" msgstr "Otros sistemas:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:540 +#: ../python/frescobaldi_app/scorewiz/__init__.py:525 msgid "Use short, long or no instrument names before the next systems." msgstr "" "Usar los nombres de instrumento corto, largo o ninguno a la izquierda de los " "siguientes sistemas." -#: ../python/frescobaldi_app/scorewiz/__init__.py:548 +#: ../python/frescobaldi_app/scorewiz/__init__.py:533 msgid "Which language to use for the instrument names." msgstr "El idioma que quiere usar para los nombres de instrumento." -#: ../python/frescobaldi_app/scorewiz/__init__.py:726 +#: ../python/frescobaldi_app/scorewiz/__init__.py:736 msgid "Remove default LilyPond tagline" msgstr "Eliminar el pie de página predeterminado de LilyPond" -#: ../python/frescobaldi_app/scorewiz/__init__.py:1040 +#: ../python/frescobaldi_app/scorewiz/__init__.py:1077 msgid "No settings available." msgstr "No hay ajustes disponibles." -#: ../python/frescobaldi_app/scorewiz/parts.py:50 +#: ../python/frescobaldi_app/scorewiz/parts.py:54 msgid "Voices:" msgstr "Voces:" -#: ../python/frescobaldi_app/scorewiz/parts.py:55 +#: ../python/frescobaldi_app/scorewiz/parts.py:59 msgid "How many voices to put in this staff." msgstr "Cuántas voces poner en este pentagrama." -#: ../python/frescobaldi_app/scorewiz/parts.py:93 +#: ../python/frescobaldi_app/scorewiz/parts.py:97 msgid "Music follows here." msgstr "La música continúa aquí." -#: ../python/frescobaldi_app/scorewiz/parts.py:160 +#: ../python/frescobaldi_app/scorewiz/parts.py:164 msgid "Staff type:" msgstr "Tipo de pentagrama:" -#: ../python/frescobaldi_app/scorewiz/parts.py:164 +#: ../python/frescobaldi_app/scorewiz/parts.py:168 msgid "Normal staff" msgstr "Normal" -#: ../python/frescobaldi_app/scorewiz/parts.py:165 +#: ../python/frescobaldi_app/scorewiz/parts.py:169 msgid "Tablature" msgstr "Tablatura" -#: ../python/frescobaldi_app/scorewiz/parts.py:166 +#: ../python/frescobaldi_app/scorewiz/parts.py:170 msgid "Both" msgstr "Ambos" -#: ../python/frescobaldi_app/scorewiz/parts.py:177 +#: ../python/frescobaldi_app/scorewiz/parts.py:180 msgid "Tuning:" msgstr "Afinación:" -#: ../python/frescobaldi_app/scorewiz/parts.py:298 +#: ../python/frescobaldi_app/scorewiz/parts.py:301 msgid "Lyrics follow here." msgstr "La letra sigue aquí." -#: ../python/frescobaldi_app/scorewiz/parts.py:309 +#: ../python/frescobaldi_app/scorewiz/parts.py:312 msgid "Stanzas:" msgstr "Estrofas:" -#: ../python/frescobaldi_app/scorewiz/parts.py:313 +#: ../python/frescobaldi_app/scorewiz/parts.py:316 msgid "The number of stanzas." msgstr "Número de estrofas." -#: ../python/frescobaldi_app/scorewiz/parts.py:316 +#: ../python/frescobaldi_app/scorewiz/parts.py:319 msgid "Ambitus" msgstr "Ámbito" -#: ../python/frescobaldi_app/scorewiz/parts.py:319 +#: ../python/frescobaldi_app/scorewiz/parts.py:322 msgid "Show the pitch range of the voice at the beginning of the staff." msgstr "Mostrar la tesitura de la voz al principio del pentagrama" -#: ../python/frescobaldi_app/scorewiz/parts.py:383 +#: ../python/frescobaldi_app/scorewiz/parts.py:386 msgid "Adjust how many separate voices you want on each staff." msgstr "Configurar el número de voces distintas deseado en cada pentagrama." -#: ../python/frescobaldi_app/scorewiz/parts.py:384 +#: ../python/frescobaldi_app/scorewiz/parts.py:387 msgid "This is primarily useful when you write polyphonic music like a fuge." msgstr "" "Esto es de utilidad sobre todo al escribir música polifónica como una fuga." -#: ../python/frescobaldi_app/scorewiz/parts.py:388 +#: ../python/frescobaldi_app/scorewiz/parts.py:391 msgid "Right hand:" msgstr "Mano derecha:" -#: ../python/frescobaldi_app/scorewiz/parts.py:389 +#: ../python/frescobaldi_app/scorewiz/parts.py:392 msgid "Left hand:" msgstr "Mano izquierda:" -#: ../python/frescobaldi_app/scorewiz/parts.py:408 -#: ../python/frescobaldi_app/scorewiz/parts.py:895 +#: ../python/frescobaldi_app/scorewiz/parts.py:411 +#: ../python/frescobaldi_app/scorewiz/parts.py:898 msgid "Chord names" msgstr "Nombres de acorde" -#: ../python/frescobaldi_app/scorewiz/parts.py:420 +#: ../python/frescobaldi_app/scorewiz/parts.py:423 msgid "Chords follow here." msgstr "Los acordes continúan aquí." -#: ../python/frescobaldi_app/scorewiz/parts.py:432 +#: ../python/frescobaldi_app/scorewiz/parts.py:435 msgid "Chord style:" msgstr "Estilo de acordes:" -#: ../python/frescobaldi_app/scorewiz/parts.py:437 +#: ../python/frescobaldi_app/scorewiz/parts.py:440 msgid "German" msgstr "Alemán" -#: ../python/frescobaldi_app/scorewiz/parts.py:438 +#: ../python/frescobaldi_app/scorewiz/parts.py:441 msgid "Semi-German" msgstr "Semi alemán" -#: ../python/frescobaldi_app/scorewiz/parts.py:439 +#: ../python/frescobaldi_app/scorewiz/parts.py:442 msgid "Italian" msgstr "Italiano" -#: ../python/frescobaldi_app/scorewiz/parts.py:440 +#: ../python/frescobaldi_app/scorewiz/parts.py:443 msgid "French" msgstr "Francés" -#: ../python/frescobaldi_app/scorewiz/parts.py:441 +#: ../python/frescobaldi_app/scorewiz/parts.py:444 msgid "Guitar fret diagrams" msgstr "Diagramas de posiciones de acorde" -#: ../python/frescobaldi_app/scorewiz/parts.py:443 +#: ../python/frescobaldi_app/scorewiz/parts.py:446 msgid "" "Show predefined guitar fret diagrams below the chord names (LilyPond 2.12 " "and above)." @@ -2383,392 +2545,392 @@ "Mostrar diagramas de posiciones de guitarra predefinidos debajo de los " "nombres de acorde (LilyPond 2.12 o superior)." -#: ../python/frescobaldi_app/scorewiz/parts.py:449 +#: ../python/frescobaldi_app/scorewiz/parts.py:452 msgid "Figured Bass" msgstr "Bajo cifrado" -#: ../python/frescobaldi_app/scorewiz/parts.py:457 -#: ../python/frescobaldi_app/scorewiz/parts.py:516 +#: ../python/frescobaldi_app/scorewiz/parts.py:460 +#: ../python/frescobaldi_app/scorewiz/parts.py:519 msgid "Figures follow here." msgstr "Las cifras van aquí." -#: ../python/frescobaldi_app/scorewiz/parts.py:464 +#: ../python/frescobaldi_app/scorewiz/parts.py:467 msgid "Use extender lines" msgstr "Usar líneas de extensión" -#: ../python/frescobaldi_app/scorewiz/parts.py:469 +#: ../python/frescobaldi_app/scorewiz/parts.py:472 msgid "Violin" msgstr "Violín" -#: ../python/frescobaldi_app/scorewiz/parts.py:470 +#: ../python/frescobaldi_app/scorewiz/parts.py:473 msgid "Violin|Vl." msgstr "Violín|Vln." -#: ../python/frescobaldi_app/scorewiz/parts.py:475 +#: ../python/frescobaldi_app/scorewiz/parts.py:478 msgid "Viola" msgstr "Viola" -#: ../python/frescobaldi_app/scorewiz/parts.py:476 +#: ../python/frescobaldi_app/scorewiz/parts.py:479 msgid "Viola|Vla." msgstr "Viola|Vla." -#: ../python/frescobaldi_app/scorewiz/parts.py:483 +#: ../python/frescobaldi_app/scorewiz/parts.py:486 msgid "Cello" msgstr "Violoncello" -#: ../python/frescobaldi_app/scorewiz/parts.py:484 +#: ../python/frescobaldi_app/scorewiz/parts.py:487 msgid "Cello|Cl." msgstr "Violoncello|Vclo." -#: ../python/frescobaldi_app/scorewiz/parts.py:491 +#: ../python/frescobaldi_app/scorewiz/parts.py:494 msgid "Contrabass" msgstr "Contrabajo" -#: ../python/frescobaldi_app/scorewiz/parts.py:492 +#: ../python/frescobaldi_app/scorewiz/parts.py:495 msgid "Contrabass|Cb." msgstr "Contrabajo|Cbjo." -#: ../python/frescobaldi_app/scorewiz/parts.py:499 +#: ../python/frescobaldi_app/scorewiz/parts.py:502 msgid "Basso continuo" msgstr "Bajo continuo" -#: ../python/frescobaldi_app/scorewiz/parts.py:500 +#: ../python/frescobaldi_app/scorewiz/parts.py:503 msgid "Basso Continuo|B.c." msgstr "Bajo continuo|B.c." -#: ../python/frescobaldi_app/scorewiz/parts.py:522 +#: ../python/frescobaldi_app/scorewiz/parts.py:525 msgid "Mandolin" msgstr "Mandolina" -#: ../python/frescobaldi_app/scorewiz/parts.py:523 +#: ../python/frescobaldi_app/scorewiz/parts.py:526 msgid "Mandolin|Mdl." msgstr "Mandolina|Mna." -#: ../python/frescobaldi_app/scorewiz/parts.py:526 +#: ../python/frescobaldi_app/scorewiz/parts.py:529 msgid "Mandolin tuning" msgstr "Afinación de la mandolina" -#: ../python/frescobaldi_app/scorewiz/parts.py:531 +#: ../python/frescobaldi_app/scorewiz/parts.py:534 msgid "Banjo" msgstr "Banjo" -#: ../python/frescobaldi_app/scorewiz/parts.py:532 +#: ../python/frescobaldi_app/scorewiz/parts.py:535 msgid "Banjo|Bj." msgstr "Banjo|Bjo." -#: ../python/frescobaldi_app/scorewiz/parts.py:536 +#: ../python/frescobaldi_app/scorewiz/parts.py:539 msgid "Open G-tuning (aDGBD)" msgstr "Afinación de Sol al aire (la-Re-Sol-Si-Re)" -#: ../python/frescobaldi_app/scorewiz/parts.py:537 +#: ../python/frescobaldi_app/scorewiz/parts.py:540 msgid "C-tuning (gCGBD)" msgstr "Afinación de Do (sol-Do-Sol-Si-Re)" -#: ../python/frescobaldi_app/scorewiz/parts.py:538 +#: ../python/frescobaldi_app/scorewiz/parts.py:541 msgid "Modal tuning (gDGCD)" msgstr "Afinación modal (sol-Re-Sol-Do-Re)" -#: ../python/frescobaldi_app/scorewiz/parts.py:539 +#: ../python/frescobaldi_app/scorewiz/parts.py:542 msgid "Open D-tuning (aDF#AD)" msgstr "Ainfación de Re al ailre (la-Re-Fa#-La-Re)" -#: ../python/frescobaldi_app/scorewiz/parts.py:540 +#: ../python/frescobaldi_app/scorewiz/parts.py:543 msgid "Open Dm-tuning (aDFAD)" msgstr "Afinación de Re menor al aire (la-Re-Fa-La-Re)" -#: ../python/frescobaldi_app/scorewiz/parts.py:544 +#: ../python/frescobaldi_app/scorewiz/parts.py:547 msgid "Four strings (instead of five)" msgstr "Cuatro cuerdas (en vez de cinco)" -#: ../python/frescobaldi_app/scorewiz/parts.py:561 +#: ../python/frescobaldi_app/scorewiz/parts.py:564 msgid "Classical guitar" msgstr "Guitarra clásica" -#: ../python/frescobaldi_app/scorewiz/parts.py:562 +#: ../python/frescobaldi_app/scorewiz/parts.py:565 msgid "Guitar|Gt." msgstr "Guitarra|G." -#: ../python/frescobaldi_app/scorewiz/parts.py:566 +#: ../python/frescobaldi_app/scorewiz/parts.py:569 msgid "Guitar tuning" msgstr "Afinación de la guitarra" -#: ../python/frescobaldi_app/scorewiz/parts.py:567 +#: ../python/frescobaldi_app/scorewiz/parts.py:570 msgid "Open G-tuning" msgstr "Afinación de Sol al aire" -#: ../python/frescobaldi_app/scorewiz/parts.py:579 +#: ../python/frescobaldi_app/scorewiz/parts.py:582 msgid "Jazz guitar" msgstr "Guitarra de jazz" -#: ../python/frescobaldi_app/scorewiz/parts.py:580 +#: ../python/frescobaldi_app/scorewiz/parts.py:583 msgid "Jazz guitar|J.Gt." msgstr "Guitarra de jazz|G.jz." -#: ../python/frescobaldi_app/scorewiz/parts.py:586 +#: ../python/frescobaldi_app/scorewiz/parts.py:589 msgid "Bass|Bs." msgstr "Bajo|Bj." -#: ../python/frescobaldi_app/scorewiz/parts.py:591 +#: ../python/frescobaldi_app/scorewiz/parts.py:594 msgid "Bass tuning" msgstr "Afinación del bajo" -#: ../python/frescobaldi_app/scorewiz/parts.py:596 +#: ../python/frescobaldi_app/scorewiz/parts.py:599 msgid "Electric bass" msgstr "Bajo eléctrico" -#: ../python/frescobaldi_app/scorewiz/parts.py:597 +#: ../python/frescobaldi_app/scorewiz/parts.py:600 msgid "Electric bass|E.Bs." msgstr "Bajo eléctrico|Bj.E." -#: ../python/frescobaldi_app/scorewiz/parts.py:602 +#: ../python/frescobaldi_app/scorewiz/parts.py:605 msgid "Harp" msgstr "Arpa" -#: ../python/frescobaldi_app/scorewiz/parts.py:603 +#: ../python/frescobaldi_app/scorewiz/parts.py:606 msgid "Harp|Hp." msgstr "Arpa|Ar." -#: ../python/frescobaldi_app/scorewiz/parts.py:618 +#: ../python/frescobaldi_app/scorewiz/parts.py:621 msgid "Upper staff:" msgstr "Pentagrama superior:" -#: ../python/frescobaldi_app/scorewiz/parts.py:619 +#: ../python/frescobaldi_app/scorewiz/parts.py:622 msgid "Lower staff:" msgstr "Pentagrama inferior:" -#: ../python/frescobaldi_app/scorewiz/parts.py:623 +#: ../python/frescobaldi_app/scorewiz/parts.py:626 msgid "Flute" msgstr "Flauta" -#: ../python/frescobaldi_app/scorewiz/parts.py:624 +#: ../python/frescobaldi_app/scorewiz/parts.py:627 msgid "Flute|Fl." msgstr "Flauta|Fl." -#: ../python/frescobaldi_app/scorewiz/parts.py:629 +#: ../python/frescobaldi_app/scorewiz/parts.py:632 msgid "Piccolo" msgstr "Flautín" -#: ../python/frescobaldi_app/scorewiz/parts.py:630 +#: ../python/frescobaldi_app/scorewiz/parts.py:633 msgid "Piccolo|Pic." msgstr "Flautín|Fltn." -#: ../python/frescobaldi_app/scorewiz/parts.py:636 +#: ../python/frescobaldi_app/scorewiz/parts.py:639 msgid "Bass flute" msgstr "Flauta baja" -#: ../python/frescobaldi_app/scorewiz/parts.py:637 +#: ../python/frescobaldi_app/scorewiz/parts.py:640 msgid "Bass flute|Bfl." msgstr "Flauta baja|Fl.B." -#: ../python/frescobaldi_app/scorewiz/parts.py:643 +#: ../python/frescobaldi_app/scorewiz/parts.py:646 msgid "Oboe" msgstr "Oboe" -#: ../python/frescobaldi_app/scorewiz/parts.py:644 +#: ../python/frescobaldi_app/scorewiz/parts.py:647 msgid "Oboe|Ob." msgstr "Oboe|Ob." -#: ../python/frescobaldi_app/scorewiz/parts.py:649 +#: ../python/frescobaldi_app/scorewiz/parts.py:652 msgid "Oboe d'Amore" msgstr "Oboe d'Amore" -#: ../python/frescobaldi_app/scorewiz/parts.py:650 +#: ../python/frescobaldi_app/scorewiz/parts.py:653 msgid "Oboe d'amore|Ob.d'am." msgstr "Oboe d'amore|Ob.d'am." -#: ../python/frescobaldi_app/scorewiz/parts.py:656 +#: ../python/frescobaldi_app/scorewiz/parts.py:659 msgid "English Horn" msgstr "Corno inglés" -#: ../python/frescobaldi_app/scorewiz/parts.py:657 +#: ../python/frescobaldi_app/scorewiz/parts.py:660 msgid "English horn|Eng.h." msgstr "Corno inglés|Co.ing." -#: ../python/frescobaldi_app/scorewiz/parts.py:663 +#: ../python/frescobaldi_app/scorewiz/parts.py:666 msgid "Bassoon" msgstr "Fagot" -#: ../python/frescobaldi_app/scorewiz/parts.py:664 +#: ../python/frescobaldi_app/scorewiz/parts.py:667 msgid "Bassoon|Bn." msgstr "Fagot|Fg." -#: ../python/frescobaldi_app/scorewiz/parts.py:671 +#: ../python/frescobaldi_app/scorewiz/parts.py:674 msgid "Contrabassoon" msgstr "Contrafagot" -#: ../python/frescobaldi_app/scorewiz/parts.py:672 +#: ../python/frescobaldi_app/scorewiz/parts.py:675 msgid "Contrabassoon|C.Bn." msgstr "Contrafagot|Cfg." -#: ../python/frescobaldi_app/scorewiz/parts.py:680 +#: ../python/frescobaldi_app/scorewiz/parts.py:683 msgid "Clarinet" msgstr "Clarinete" -#: ../python/frescobaldi_app/scorewiz/parts.py:681 +#: ../python/frescobaldi_app/scorewiz/parts.py:684 msgid "Clarinet|Cl." msgstr "Clarinete|Cl." -#: ../python/frescobaldi_app/scorewiz/parts.py:687 +#: ../python/frescobaldi_app/scorewiz/parts.py:690 msgid "Sopranino Sax" msgstr "Saxofón sopranino" -#: ../python/frescobaldi_app/scorewiz/parts.py:688 +#: ../python/frescobaldi_app/scorewiz/parts.py:691 msgid "Sopranino Sax|SiSx." msgstr "Saxofón sopranino|SxSn." -#: ../python/frescobaldi_app/scorewiz/parts.py:694 +#: ../python/frescobaldi_app/scorewiz/parts.py:697 msgid "Soprano Sax" msgstr "Saxofón soprano" -#: ../python/frescobaldi_app/scorewiz/parts.py:695 +#: ../python/frescobaldi_app/scorewiz/parts.py:698 msgid "Soprano Sax|SoSx." msgstr "Saxofón soprano|SxSo." -#: ../python/frescobaldi_app/scorewiz/parts.py:701 +#: ../python/frescobaldi_app/scorewiz/parts.py:704 msgid "Alto Sax" msgstr "Saxofón alto" -#: ../python/frescobaldi_app/scorewiz/parts.py:702 +#: ../python/frescobaldi_app/scorewiz/parts.py:705 msgid "Alto Sax|ASx." msgstr "Saxofón alto|SxA." -#: ../python/frescobaldi_app/scorewiz/parts.py:708 +#: ../python/frescobaldi_app/scorewiz/parts.py:711 msgid "Tenor Sax" msgstr "Saxofón tenor" -#: ../python/frescobaldi_app/scorewiz/parts.py:709 +#: ../python/frescobaldi_app/scorewiz/parts.py:712 msgid "Tenor Sax|TSx." msgstr "Saxofón tenor|SxT." -#: ../python/frescobaldi_app/scorewiz/parts.py:715 +#: ../python/frescobaldi_app/scorewiz/parts.py:718 msgid "Baritone Sax" msgstr "Saxofón barítono" -#: ../python/frescobaldi_app/scorewiz/parts.py:716 +#: ../python/frescobaldi_app/scorewiz/parts.py:719 msgid "Baritone Sax|BSx." msgstr "Saxofón barítono|SxB." -#: ../python/frescobaldi_app/scorewiz/parts.py:722 +#: ../python/frescobaldi_app/scorewiz/parts.py:725 msgid "Bass Sax" msgstr "Saxofón bajo" -#: ../python/frescobaldi_app/scorewiz/parts.py:723 +#: ../python/frescobaldi_app/scorewiz/parts.py:726 msgid "Bass Sax|BsSx." msgstr "Saxofón bajo|SxBj." -#: ../python/frescobaldi_app/scorewiz/parts.py:729 +#: ../python/frescobaldi_app/scorewiz/parts.py:732 msgid "Soprano recorder" msgstr "Flauta dulce soprano" -#: ../python/frescobaldi_app/scorewiz/parts.py:730 +#: ../python/frescobaldi_app/scorewiz/parts.py:733 msgid "Soprano recorder|S.rec." msgstr "Flauta dulce soprano|Fl.d.s." -#: ../python/frescobaldi_app/scorewiz/parts.py:736 +#: ../python/frescobaldi_app/scorewiz/parts.py:739 msgid "Alto recorder" msgstr "Flauta dulce alto" -#: ../python/frescobaldi_app/scorewiz/parts.py:737 +#: ../python/frescobaldi_app/scorewiz/parts.py:740 msgid "Alto recorder|A.rec." msgstr "Flauta dulce alto|Fl.d.A." -#: ../python/frescobaldi_app/scorewiz/parts.py:742 +#: ../python/frescobaldi_app/scorewiz/parts.py:745 msgid "Tenor recorder" msgstr "Flauta dulce tenor" -#: ../python/frescobaldi_app/scorewiz/parts.py:743 +#: ../python/frescobaldi_app/scorewiz/parts.py:746 msgid "Tenor recorder|T.rec." msgstr "Flauta dulce tenor|Fl.d.T." -#: ../python/frescobaldi_app/scorewiz/parts.py:748 +#: ../python/frescobaldi_app/scorewiz/parts.py:751 msgid "Bass recorder" msgstr "Flauta dulce baja" -#: ../python/frescobaldi_app/scorewiz/parts.py:749 +#: ../python/frescobaldi_app/scorewiz/parts.py:752 msgid "Bass recorder|B.rec." msgstr "Flauta dulce baja|Fl.d.B." -#: ../python/frescobaldi_app/scorewiz/parts.py:756 +#: ../python/frescobaldi_app/scorewiz/parts.py:759 msgid "Horn in F" msgstr "Trompa en Fa" -#: ../python/frescobaldi_app/scorewiz/parts.py:757 +#: ../python/frescobaldi_app/scorewiz/parts.py:760 msgid "Horn in F|Hn.F." msgstr "Trompa en Fa|Tpa." -#: ../python/frescobaldi_app/scorewiz/parts.py:763 +#: ../python/frescobaldi_app/scorewiz/parts.py:766 msgid "Trumpet in C" msgstr "Trompeta en Do" -#: ../python/frescobaldi_app/scorewiz/parts.py:764 +#: ../python/frescobaldi_app/scorewiz/parts.py:767 msgid "Trumpet in C|Tr.C" msgstr "Trompeta en Do|Tpta.Do" -#: ../python/frescobaldi_app/scorewiz/parts.py:769 +#: ../python/frescobaldi_app/scorewiz/parts.py:772 msgid "Trumpet in Bb" msgstr "Trompeta en Sib" -#: ../python/frescobaldi_app/scorewiz/parts.py:770 +#: ../python/frescobaldi_app/scorewiz/parts.py:773 msgid "Trumpet in Bb|Tr.Bb" msgstr "Trompeta en Sib|Tpta.Sib" -#: ../python/frescobaldi_app/scorewiz/parts.py:775 +#: ../python/frescobaldi_app/scorewiz/parts.py:778 msgid "Trombone" msgstr "Trombón" -#: ../python/frescobaldi_app/scorewiz/parts.py:776 +#: ../python/frescobaldi_app/scorewiz/parts.py:779 msgid "Trombone|Trb." msgstr "Trombón|Tbn." -#: ../python/frescobaldi_app/scorewiz/parts.py:783 +#: ../python/frescobaldi_app/scorewiz/parts.py:786 msgid "Tuba" msgstr "Tuba" -#: ../python/frescobaldi_app/scorewiz/parts.py:784 +#: ../python/frescobaldi_app/scorewiz/parts.py:787 msgid "Tuba|Tb." msgstr "Tuba|Tba." -#: ../python/frescobaldi_app/scorewiz/parts.py:790 +#: ../python/frescobaldi_app/scorewiz/parts.py:793 msgid "Bass Tuba" msgstr "Tuba baja" -#: ../python/frescobaldi_app/scorewiz/parts.py:791 +#: ../python/frescobaldi_app/scorewiz/parts.py:794 msgid "Bass Tuba|B.Tb." msgstr "Tuba baja|Tba.B." -#: ../python/frescobaldi_app/scorewiz/parts.py:799 +#: ../python/frescobaldi_app/scorewiz/parts.py:802 msgid "Soprano" msgstr "Soprano" -#: ../python/frescobaldi_app/scorewiz/parts.py:800 +#: ../python/frescobaldi_app/scorewiz/parts.py:803 msgid "Soprano|S." msgstr "Soprano|S." -#: ../python/frescobaldi_app/scorewiz/parts.py:804 +#: ../python/frescobaldi_app/scorewiz/parts.py:807 msgid "Mezzo soprano" msgstr "Mezzosoprano" -#: ../python/frescobaldi_app/scorewiz/parts.py:805 +#: ../python/frescobaldi_app/scorewiz/parts.py:808 msgid "Mezzo-soprano|Ms." msgstr "Mezzosoprano|Mezz." -#: ../python/frescobaldi_app/scorewiz/parts.py:810 +#: ../python/frescobaldi_app/scorewiz/parts.py:813 msgid "Alto|A." msgstr "Alto|A." -#: ../python/frescobaldi_app/scorewiz/parts.py:816 +#: ../python/frescobaldi_app/scorewiz/parts.py:819 msgid "Tenor|T." msgstr "Tenor|T." -#: ../python/frescobaldi_app/scorewiz/parts.py:823 +#: ../python/frescobaldi_app/scorewiz/parts.py:826 msgid "Bass|B." msgstr "Bajo|B." -#: ../python/frescobaldi_app/scorewiz/parts.py:829 +#: ../python/frescobaldi_app/scorewiz/parts.py:832 msgid "Lead sheet" msgstr "Hoja guía de acordes" -#: ../python/frescobaldi_app/scorewiz/parts.py:891 +#: ../python/frescobaldi_app/scorewiz/parts.py:894 msgid "" "The Lead Sheet provides a staff with chord names above and lyrics below it. " "A second staff is optional." @@ -2776,11 +2938,11 @@ "La hoja guía proporciona un pentagrama con nombres de acorde encima y letra " "debajo. Es opcional un segundo pentagrama." -#: ../python/frescobaldi_app/scorewiz/parts.py:902 +#: ../python/frescobaldi_app/scorewiz/parts.py:905 msgid "Add accompaniment staff" msgstr "Añadir pentagrama de acompañamiento" -#: ../python/frescobaldi_app/scorewiz/parts.py:904 +#: ../python/frescobaldi_app/scorewiz/parts.py:907 msgid "" "Adds an accompaniment staff and also puts an accompaniment voice in the " "upper staff." @@ -2788,11 +2950,11 @@ "Añade un pentagrama de acompañamiento y pone una voz de acompañamiento en el " "pentagrama superior." -#: ../python/frescobaldi_app/scorewiz/parts.py:911 +#: ../python/frescobaldi_app/scorewiz/parts.py:914 msgid "Choir" msgstr "Coro" -#: ../python/frescobaldi_app/scorewiz/parts.py:915 +#: ../python/frescobaldi_app/scorewiz/parts.py:918 msgid "" "Please select the voices for the choir. Use the letters S, A, T, or B. A " "hyphen denotes a new staff." @@ -2800,36 +2962,38 @@ "Seleccione las voces para el coro. Use las letras S, A, T o B. Un guión " "denota un pentagrama nuevo." -#: ../python/frescobaldi_app/scorewiz/parts.py:917 +#: ../python/frescobaldi_app/scorewiz/parts.py:920 msgid "Hint: For a double choir you can use two choir parts." msgstr "Consejo: para doble coro puede usar dos partes de coro." -#: ../python/frescobaldi_app/scorewiz/parts.py:922 +#: ../python/frescobaldi_app/scorewiz/parts.py:925 msgid "Voicing:" msgstr "Canto:" -#: ../python/frescobaldi_app/scorewiz/parts.py:936 -msgid "Lyrics" +#: ../python/frescobaldi_app/scorewiz/parts.py:942 +#, fuzzy +msgid "Lyrics:" msgstr "Letra" -#: ../python/frescobaldi_app/scorewiz/parts.py:940 +#: ../python/frescobaldi_app/scorewiz/parts.py:946 msgid "All voices same lyrics" msgstr "Misma letra en todas las voces" -#: ../python/frescobaldi_app/scorewiz/parts.py:943 -msgid "One set of the same lyrics is placed between all staves." +#: ../python/frescobaldi_app/scorewiz/parts.py:947 +#, fuzzy +msgid "A set of the same lyrics is placed between all staves." msgstr "Se coloca un bloque de letra único entre todos los pentagramas." -#: ../python/frescobaldi_app/scorewiz/parts.py:945 +#: ../python/frescobaldi_app/scorewiz/parts.py:948 msgid "Every voice same lyrics" msgstr "Misma letra todas las voces" -#: ../python/frescobaldi_app/scorewiz/parts.py:947 +#: ../python/frescobaldi_app/scorewiz/parts.py:949 msgid "" "Every voice gets its own lyrics, using the same text as the other voices." msgstr "Cada letra tiene su voz, usando el mismo texto que las otras voces." -#: ../python/frescobaldi_app/scorewiz/parts.py:950 +#: ../python/frescobaldi_app/scorewiz/parts.py:951 msgid "Every voice different lyrics" msgstr "Cada voz tiene diferente letra" @@ -2837,186 +3001,215 @@ msgid "Every voice gets a different set of lyrics." msgstr "Cada una de las voces recibe un bloque de letras distinto." -#: ../python/frescobaldi_app/scorewiz/parts.py:956 +#: ../python/frescobaldi_app/scorewiz/parts.py:953 +msgid "Distribute stanzas" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:954 +#, fuzzy +msgid "One set of stanzas is distributed across the staves." +msgstr "Se coloca un bloque de letra único entre todos los pentagramas." + +#: ../python/frescobaldi_app/scorewiz/parts.py:959 msgid "Piano reduction" msgstr "Reducción de piano" -#: ../python/frescobaldi_app/scorewiz/parts.py:958 +#: ../python/frescobaldi_app/scorewiz/parts.py:961 msgid "Adds an automatically generated piano reduction." msgstr "Añade una reducción de piano generada automáticamente." -#: ../python/frescobaldi_app/scorewiz/parts.py:983 +#: ../python/frescobaldi_app/scorewiz/parts.py:963 +msgid "Rehearsal MIDI files" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:965 +msgid "" +"Creates a rehearsal MIDI file for every voice, even if no MIDI output is " +"generated for the main score." +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:1017 msgid "Choir|Ch." msgstr "Coro|Co." -#: ../python/frescobaldi_app/scorewiz/parts.py:1199 +#: ../python/frescobaldi_app/scorewiz/parts.py:1262 +msgid "Rehearsal MIDI files:" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:1309 msgid "Piano" msgstr "Piano" -#: ../python/frescobaldi_app/scorewiz/parts.py:1200 +#: ../python/frescobaldi_app/scorewiz/parts.py:1310 msgid "Piano|Pno." msgstr "Piano|P." -#: ../python/frescobaldi_app/scorewiz/parts.py:1205 +#: ../python/frescobaldi_app/scorewiz/parts.py:1315 msgid "Harpsichord" msgstr "Clave" -#: ../python/frescobaldi_app/scorewiz/parts.py:1206 +#: ../python/frescobaldi_app/scorewiz/parts.py:1316 msgid "Harpsichord|Hs." msgstr "Clave|Clav." -#: ../python/frescobaldi_app/scorewiz/parts.py:1211 +#: ../python/frescobaldi_app/scorewiz/parts.py:1321 msgid "Clavichord" msgstr "Clavicordio" -#: ../python/frescobaldi_app/scorewiz/parts.py:1212 +#: ../python/frescobaldi_app/scorewiz/parts.py:1322 msgid "Clavichord|Clv." msgstr "Clavicordio|Clvc." -#: ../python/frescobaldi_app/scorewiz/parts.py:1217 +#: ../python/frescobaldi_app/scorewiz/parts.py:1327 msgid "Organ" msgstr "Órgano" -#: ../python/frescobaldi_app/scorewiz/parts.py:1218 +#: ../python/frescobaldi_app/scorewiz/parts.py:1328 msgid "Organ|Org." msgstr "Órgano|Org." -#: ../python/frescobaldi_app/scorewiz/parts.py:1223 +#: ../python/frescobaldi_app/scorewiz/parts.py:1333 msgid "Pedal:" msgstr "Pedal:" -#: ../python/frescobaldi_app/scorewiz/parts.py:1224 +#: ../python/frescobaldi_app/scorewiz/parts.py:1334 msgid "Set to 0 to disable the pedal altogether." msgstr "Establezca a 0 para desactivar el pedal." -#: ../python/frescobaldi_app/scorewiz/parts.py:1234 +#: ../python/frescobaldi_app/scorewiz/parts.py:1344 msgid "Celesta" msgstr "Celesta" -#: ../python/frescobaldi_app/scorewiz/parts.py:1235 +#: ../python/frescobaldi_app/scorewiz/parts.py:1345 msgid "Celesta|Cel." msgstr "Celesta|Cel." -#: ../python/frescobaldi_app/scorewiz/parts.py:1240 +#: ../python/frescobaldi_app/scorewiz/parts.py:1350 msgid "Timpani" msgstr "Timbales" -#: ../python/frescobaldi_app/scorewiz/parts.py:1241 +#: ../python/frescobaldi_app/scorewiz/parts.py:1351 msgid "Timpani|Tmp." msgstr "Timbales|Tmb." -#: ../python/frescobaldi_app/scorewiz/parts.py:1248 +#: ../python/frescobaldi_app/scorewiz/parts.py:1358 msgid "Xylophone" msgstr "Xilófono" -#: ../python/frescobaldi_app/scorewiz/parts.py:1249 +#: ../python/frescobaldi_app/scorewiz/parts.py:1359 msgid "Xylophone|Xyl." msgstr "Xilófono|Xil." -#: ../python/frescobaldi_app/scorewiz/parts.py:1254 +#: ../python/frescobaldi_app/scorewiz/parts.py:1364 msgid "Marimba" msgstr "Marimba" -#: ../python/frescobaldi_app/scorewiz/parts.py:1255 +#: ../python/frescobaldi_app/scorewiz/parts.py:1365 msgid "Marimba|Mar." msgstr "Marimba|Mar." -#: ../python/frescobaldi_app/scorewiz/parts.py:1260 +#: ../python/frescobaldi_app/scorewiz/parts.py:1370 msgid "Vibraphone" msgstr "Vibráfono" -#: ../python/frescobaldi_app/scorewiz/parts.py:1261 +#: ../python/frescobaldi_app/scorewiz/parts.py:1371 msgid "Vibraphone|Vib." msgstr "Vibráfono|Vib." -#: ../python/frescobaldi_app/scorewiz/parts.py:1266 +#: ../python/frescobaldi_app/scorewiz/parts.py:1376 msgid "Tubular bells" msgstr "Campanas tubulares" -#: ../python/frescobaldi_app/scorewiz/parts.py:1267 +#: ../python/frescobaldi_app/scorewiz/parts.py:1377 msgid "Tubular bells|Tub." msgstr "Campanas tubulares|Ca.T." -#: ../python/frescobaldi_app/scorewiz/parts.py:1272 +#: ../python/frescobaldi_app/scorewiz/parts.py:1382 msgid "Glockenspiel" msgstr "Carrillón" -#: ../python/frescobaldi_app/scorewiz/parts.py:1273 +#: ../python/frescobaldi_app/scorewiz/parts.py:1383 msgid "Glockenspiel|Gls." msgstr "Carrillón|Carr." -#: ../python/frescobaldi_app/scorewiz/parts.py:1278 +#: ../python/frescobaldi_app/scorewiz/parts.py:1388 msgid "Drums" msgstr "Percusión" -#: ../python/frescobaldi_app/scorewiz/parts.py:1279 +#: ../python/frescobaldi_app/scorewiz/parts.py:1389 msgid "Drums|Dr." msgstr "Percusión|Perc." -#: ../python/frescobaldi_app/scorewiz/parts.py:1289 +#: ../python/frescobaldi_app/scorewiz/parts.py:1399 msgid "Drums follow here." msgstr "La percusión continúa aquí." -#: ../python/frescobaldi_app/scorewiz/parts.py:1315 +#: ../python/frescobaldi_app/scorewiz/parts.py:1424 msgid "keep some distance." msgstr "guardar una distancia." -#: ../python/frescobaldi_app/scorewiz/parts.py:1322 +#: ../python/frescobaldi_app/scorewiz/parts.py:1432 msgid "Style:" msgstr "Estilo:" -#: ../python/frescobaldi_app/scorewiz/parts.py:1326 +#: ../python/frescobaldi_app/scorewiz/parts.py:1436 msgid "Drums (5 lines, default)" msgstr "Tambores (5 líneas, predeterminado)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1327 +#: ../python/frescobaldi_app/scorewiz/parts.py:1437 msgid "Timbales-style (2 lines)" msgstr "Estilo de timbales (2 líneas)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1328 +#: ../python/frescobaldi_app/scorewiz/parts.py:1438 msgid "Congas-style (2 lines)" msgstr "Estilo de congas (2 líneas)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1329 +#: ../python/frescobaldi_app/scorewiz/parts.py:1439 msgid "Bongos-style (2 lines)" msgstr "Estilo de bongos (2 líneas)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1330 +#: ../python/frescobaldi_app/scorewiz/parts.py:1440 msgid "Percussion-style (1 line)" msgstr "Estilo de percusión (1 línea)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1331 +#: ../python/frescobaldi_app/scorewiz/parts.py:1441 msgid "Remove stems" msgstr "Eliminar plicas" -#: ../python/frescobaldi_app/scorewiz/parts.py:1332 +#: ../python/frescobaldi_app/scorewiz/parts.py:1442 msgid "Remove the stems from the drum notes." msgstr "Quitar las plicas de las notas de percusión." -#: ../python/frescobaldi_app/scorewiz/parts.py:1341 +#: ../python/frescobaldi_app/scorewiz/parts.py:1451 msgid "Strings" msgstr "Instrumentos de cuerda" -#: ../python/frescobaldi_app/scorewiz/parts.py:1348 +#: ../python/frescobaldi_app/scorewiz/parts.py:1458 msgid "Plucked strings" msgstr "Cuerda pulsada" -#: ../python/frescobaldi_app/scorewiz/parts.py:1357 +#: ../python/frescobaldi_app/scorewiz/parts.py:1467 msgid "Woodwinds" msgstr "Instrumentos de viento" -#: ../python/frescobaldi_app/scorewiz/parts.py:1378 +#: ../python/frescobaldi_app/scorewiz/parts.py:1488 msgid "Brass" msgstr "Viento metal" -#: ../python/frescobaldi_app/scorewiz/parts.py:1386 +#: ../python/frescobaldi_app/scorewiz/parts.py:1496 msgid "Vocal" msgstr "Vocal" -#: ../python/frescobaldi_app/scorewiz/parts.py:1395 +#: ../python/frescobaldi_app/scorewiz/parts.py:1505 msgid "Keyboard instruments" msgstr "Teclados" -#: ../python/frescobaldi_app/scorewiz/parts.py:1411 +#: ../python/frescobaldi_app/scorewiz/parts.py:1521 msgid "Special" msgstr "Especial" + +#~ msgid "Space above:" +#~ msgstr "Especio por encima:" + +#~ msgid "Name or full path of the convert-ly program." +#~ msgstr "El nombre o la ruta completa del programa convert-ly." diff -Nru frescobaldi-1.0.2/po/frescobaldi.pot frescobaldi-1.1.1/po/frescobaldi.pot --- frescobaldi-1.0.2/po/frescobaldi.pot 2010-02-18 08:12:03.000000000 +0000 +++ frescobaldi-1.1.1/po/frescobaldi.pot 2010-05-03 19:31:54.000000000 +0100 @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: frescobaldi 1.0.2\n" +"Project-Id-Version: frescobaldi 1.1.1\n" "Report-Msgid-Bugs-To: info@frescobaldi.org\n" -"POT-Creation-Date: 2010-02-18 09:12+0100\n" +"POT-Creation-Date: 2010-05-03 20:31+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,53 +17,53 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: ../frescobaldi.py:32 dummy.py:16 +#: ../frescobaldi.py:37 dummy.py:16 msgid "Frescobaldi" msgstr "" -#: ../frescobaldi.py:34 dummy.py:17 +#: ../frescobaldi.py:39 dummy.py:17 msgid "LilyPond Music Editor" msgstr "" -#: ../frescobaldi.py:36 +#: ../frescobaldi.py:41 msgid "Copyright (c) 2008-2010, Wilbert Berendsen" msgstr "" -#: ../frescobaldi.py:45 +#: ../frescobaldi.py:50 msgctxt "NAME OF TRANSLATORS" msgid "Your name" msgstr "" -#: ../frescobaldi.py:46 +#: ../frescobaldi.py:51 msgctxt "EMAIL OF TRANSLATORS" msgid "i18n@frescobaldi.org" msgstr "" -#: ../frescobaldi.py:52 +#: ../frescobaldi.py:57 msgid "Session to start" msgstr "" -#: ../frescobaldi.py:53 +#: ../frescobaldi.py:58 msgid "Start a new instance" msgstr "" -#: ../frescobaldi.py:54 +#: ../frescobaldi.py:59 msgid "Encoding to use" msgstr "" -#: ../frescobaldi.py:55 +#: ../frescobaldi.py:60 msgid "Line number to go to, starting at 1" msgstr "" -#: ../frescobaldi.py:56 +#: ../frescobaldi.py:61 msgid "Column to go to, starting at 0" msgstr "" -#: ../frescobaldi.py:57 +#: ../frescobaldi.py:62 msgid "Try to use smart line and column numbers" msgstr "" -#: ../frescobaldi.py:58 +#: ../frescobaldi.py:63 msgid "LilyPond files to open, may also be textedit URLs" msgstr "" @@ -103,344 +103,352 @@ msgid "&Extra Tools" msgstr "" -#: ../python/ly/__init__.py:94 +#: ../python/ly/__init__.py:81 msgid "Dedication" msgstr "" -#: ../python/ly/__init__.py:95 +#: ../python/ly/__init__.py:82 msgid "Title" msgstr "" -#: ../python/ly/__init__.py:96 +#: ../python/ly/__init__.py:83 msgid "Subtitle" msgstr "" -#: ../python/ly/__init__.py:97 +#: ../python/ly/__init__.py:84 msgid "Subsubtitle" msgstr "" -#: ../python/ly/__init__.py:98 +#: ../python/ly/__init__.py:85 msgid "Instrument" msgstr "" -#: ../python/ly/__init__.py:99 +#: ../python/ly/__init__.py:86 msgid "Composer" msgstr "" -#: ../python/ly/__init__.py:100 +#: ../python/ly/__init__.py:87 msgid "Arranger" msgstr "" -#: ../python/ly/__init__.py:101 +#: ../python/ly/__init__.py:88 msgid "Poet" msgstr "" -#: ../python/ly/__init__.py:102 +#: ../python/ly/__init__.py:89 msgid "Meter" msgstr "" -#: ../python/ly/__init__.py:103 +#: ../python/ly/__init__.py:90 msgid "Piece" msgstr "" -#: ../python/ly/__init__.py:104 +#: ../python/ly/__init__.py:91 msgid "Opus" msgstr "" -#: ../python/ly/__init__.py:105 +#: ../python/ly/__init__.py:92 msgid "Copyright" msgstr "" -#: ../python/ly/__init__.py:106 +#: ../python/ly/__init__.py:93 msgid "Tagline" msgstr "" -#: ../python/ly/__init__.py:114 +#: ../python/ly/__init__.py:101 msgid "Major" msgstr "" -#: ../python/ly/__init__.py:115 +#: ../python/ly/__init__.py:102 msgid "Minor" msgstr "" -#: ../python/ly/__init__.py:116 +#: ../python/ly/__init__.py:103 msgid "Ionian" msgstr "" -#: ../python/ly/__init__.py:117 +#: ../python/ly/__init__.py:104 msgid "Dorian" msgstr "" -#: ../python/ly/__init__.py:118 +#: ../python/ly/__init__.py:105 msgid "Phrygian" msgstr "" -#: ../python/ly/__init__.py:119 +#: ../python/ly/__init__.py:106 msgid "Lydian" msgstr "" -#: ../python/ly/__init__.py:120 +#: ../python/ly/__init__.py:107 msgid "Mixolydian" msgstr "" -#: ../python/ly/__init__.py:121 +#: ../python/ly/__init__.py:108 msgid "Aeolian" msgstr "" -#: ../python/ly/__init__.py:122 +#: ../python/ly/__init__.py:109 msgid "Locrian" msgstr "" -#: ../python/ly/articulation.py:33 +#: ../python/ly/articulation.py:35 msgid "Articulation" msgstr "" -#: ../python/ly/articulation.py:34 +#: ../python/ly/articulation.py:36 msgid "Accent" msgstr "" -#: ../python/ly/articulation.py:35 +#: ../python/ly/articulation.py:37 msgid "Marcato" msgstr "" -#: ../python/ly/articulation.py:36 +#: ../python/ly/articulation.py:38 msgid "Staccatissimo" msgstr "" -#: ../python/ly/articulation.py:37 +#: ../python/ly/articulation.py:39 msgid "Staccato" msgstr "" -#: ../python/ly/articulation.py:38 +#: ../python/ly/articulation.py:40 msgid "Portato" msgstr "" -#: ../python/ly/articulation.py:39 +#: ../python/ly/articulation.py:41 msgid "Tenuto" msgstr "" -#: ../python/ly/articulation.py:40 +#: ../python/ly/articulation.py:42 msgid "Espressivo" msgstr "" -#: ../python/ly/articulation.py:42 +#: ../python/ly/articulation.py:44 msgid "Ornaments" msgstr "" -#: ../python/ly/articulation.py:43 +#: ../python/ly/articulation.py:45 msgid "Trill" msgstr "" -#: ../python/ly/articulation.py:44 +#: ../python/ly/articulation.py:46 msgid "Prall" msgstr "" -#: ../python/ly/articulation.py:45 +#: ../python/ly/articulation.py:47 msgid "Mordent" msgstr "" -#: ../python/ly/articulation.py:46 +#: ../python/ly/articulation.py:48 msgid "Turn" msgstr "" -#: ../python/ly/articulation.py:47 +#: ../python/ly/articulation.py:49 msgid "Prall prall" msgstr "" -#: ../python/ly/articulation.py:48 +#: ../python/ly/articulation.py:50 msgid "Prall mordent" msgstr "" -#: ../python/ly/articulation.py:49 +#: ../python/ly/articulation.py:51 msgid "Up prall" msgstr "" -#: ../python/ly/articulation.py:50 +#: ../python/ly/articulation.py:52 msgid "Down prall" msgstr "" -#: ../python/ly/articulation.py:51 +#: ../python/ly/articulation.py:53 msgid "Up mordent" msgstr "" -#: ../python/ly/articulation.py:52 +#: ../python/ly/articulation.py:54 msgid "Down mordent" msgstr "" -#: ../python/ly/articulation.py:53 +#: ../python/ly/articulation.py:55 msgid "Prall up" msgstr "" -#: ../python/ly/articulation.py:54 +#: ../python/ly/articulation.py:56 msgid "Prall down" msgstr "" -#: ../python/ly/articulation.py:55 +#: ../python/ly/articulation.py:57 msgid "Line prall" msgstr "" -#: ../python/ly/articulation.py:56 +#: ../python/ly/articulation.py:58 msgid "Reverse turn" msgstr "" -#: ../python/ly/articulation.py:58 +#: ../python/ly/articulation.py:60 msgid "Signs" msgstr "" -#: ../python/ly/articulation.py:59 +#: ../python/ly/articulation.py:61 msgid "Fermata" msgstr "" -#: ../python/ly/articulation.py:60 +#: ../python/ly/articulation.py:62 msgid "Short fermata" msgstr "" -#: ../python/ly/articulation.py:61 +#: ../python/ly/articulation.py:63 msgid "Long fermata" msgstr "" -#: ../python/ly/articulation.py:62 +#: ../python/ly/articulation.py:64 msgid "Very long fermata" msgstr "" -#: ../python/ly/articulation.py:63 +#: ../python/ly/articulation.py:65 msgid "Segno" msgstr "" -#: ../python/ly/articulation.py:64 +#: ../python/ly/articulation.py:66 msgid "Coda" msgstr "" -#: ../python/ly/articulation.py:65 +#: ../python/ly/articulation.py:67 msgid "Varcoda" msgstr "" -#: ../python/ly/articulation.py:66 +#: ../python/ly/articulation.py:68 msgid "Signumcongruentiae" msgstr "" -#: ../python/ly/articulation.py:68 +#: ../python/ly/articulation.py:70 msgid "Other" msgstr "" -#: ../python/ly/articulation.py:69 +#: ../python/ly/articulation.py:71 msgid "Upbow" msgstr "" -#: ../python/ly/articulation.py:70 +#: ../python/ly/articulation.py:72 msgid "Downbow" msgstr "" -#: ../python/ly/articulation.py:71 +#: ../python/ly/articulation.py:73 +msgid "Snappizzicato" +msgstr "" + +#: ../python/ly/articulation.py:74 msgid "Open (e.g. brass)" msgstr "" -#: ../python/ly/articulation.py:72 +#: ../python/ly/articulation.py:75 msgid "Stopped (e.g. brass)" msgstr "" -#: ../python/ly/articulation.py:73 +#: ../python/ly/articulation.py:76 msgid "Flageolet" msgstr "" -#: ../python/ly/articulation.py:74 +#: ../python/ly/articulation.py:77 msgid "Thumb" msgstr "" -#: ../python/ly/articulation.py:75 +#: ../python/ly/articulation.py:78 msgid "Left heel" msgstr "" -#: ../python/ly/articulation.py:76 +#: ../python/ly/articulation.py:79 msgid "Right heel" msgstr "" -#: ../python/ly/articulation.py:77 +#: ../python/ly/articulation.py:80 msgid "Left toe" msgstr "" -#: ../python/ly/articulation.py:78 +#: ../python/ly/articulation.py:81 msgid "Right toe" msgstr "" -#: ../python/kateshell/exception.py:42 +#: ../python/ly/articulation.py:82 +msgid "Half open (e.g. hi-hat)" +msgstr "" + +#: ../python/kateshell/exception.py:43 msgid "An internal error has occurred:" msgstr "" -#: ../python/kateshell/exception.py:45 +#: ../python/kateshell/exception.py:46 msgid "Internal Error" msgstr "" -#: ../python/kateshell/exception.py:51 +#: ../python/kateshell/exception.py:52 msgid "Email Bug Report..." msgstr "" -#: ../python/kateshell/exception.py:64 +#: ../python/kateshell/exception.py:65 msgid "Optionally describe what you were doing below:" msgstr "" -#: ../python/kateshell/mainwindow.py:91 +#: ../python/kateshell/mainwindow.py:94 msgid "Left Sidebar" msgstr "" -#: ../python/kateshell/mainwindow.py:95 +#: ../python/kateshell/mainwindow.py:98 msgid "Right Sidebar" msgstr "" -#: ../python/kateshell/mainwindow.py:107 +#: ../python/kateshell/mainwindow.py:110 msgid "Top Sidebar" msgstr "" -#: ../python/kateshell/mainwindow.py:120 +#: ../python/kateshell/mainwindow.py:123 msgid "Bottom Sidebar" msgstr "" -#: ../python/kateshell/mainwindow.py:165 +#: ../python/kateshell/mainwindow.py:168 msgid "Show Path" msgstr "" -#: ../python/kateshell/mainwindow.py:168 +#: ../python/kateshell/mainwindow.py:171 msgid "Show Document Tabs" msgstr "" -#: ../python/kateshell/mainwindow.py:186 +#: ../python/kateshell/mainwindow.py:188 msgid "&Tool Views" msgstr "" -#: ../python/kateshell/mainwindow.py:277 +#: ../python/kateshell/mainwindow.py:278 msgid "Please select some text first." msgstr "" -#: ../python/kateshell/mainwindow.py:327 +#: ../python/kateshell/mainwindow.py:328 msgid "modified" msgstr "" -#: ../python/kateshell/mainwindow.py:337 +#: ../python/kateshell/mainwindow.py:338 msgid "Line: %1 Col: %2" msgstr "" -#: ../python/kateshell/mainwindow.py:346 +#: ../python/kateshell/mainwindow.py:347 msgid "BLOCK" msgstr "" -#: ../python/kateshell/mainwindow.py:346 +#: ../python/kateshell/mainwindow.py:347 msgid "Block selection mode" msgstr "" -#: ../python/kateshell/mainwindow.py:348 +#: ../python/kateshell/mainwindow.py:349 msgid "LINE" msgstr "" -#: ../python/kateshell/mainwindow.py:348 +#: ../python/kateshell/mainwindow.py:349 msgid "Line selection mode" msgstr "" -#: ../python/kateshell/mainwindow.py:386 -#: ../python/frescobaldi_app/blankpaper.py:335 +#: ../python/kateshell/mainwindow.py:393 +#: ../python/frescobaldi_app/blankpaper.py:331 msgid "All Files" msgstr "" -#: ../python/kateshell/mainwindow.py:387 +#: ../python/kateshell/mainwindow.py:394 msgid "Open File" msgstr "" @@ -448,7 +456,7 @@ msgid "Right-click for tab options" msgstr "" -#: ../python/kateshell/mainwindow.py:870 +#: ../python/kateshell/mainwindow.py:871 msgid "Move To" msgstr "" @@ -464,7 +472,7 @@ msgid "Please install %1" msgstr "" -#: ../python/frescobaldi_app/actions.py:55 +#: ../python/frescobaldi_app/actions.py:56 msgid "Open %1 in external viewer" msgstr "" @@ -472,50 +480,50 @@ msgid "Print %1" msgstr "" -#: ../python/frescobaldi_app/actions.py:66 +#: ../python/frescobaldi_app/actions.py:65 msgid "Play %1" msgstr "" -#: ../python/frescobaldi_app/actions.py:95 +#: ../python/frescobaldi_app/actions.py:91 msgid "Open PDF" msgstr "" -#: ../python/frescobaldi_app/actions.py:96 +#: ../python/frescobaldi_app/actions.py:92 msgid "Print" msgstr "" -#: ../python/frescobaldi_app/actions.py:98 +#: ../python/frescobaldi_app/actions.py:94 msgid "Play MIDI" msgstr "" -#: ../python/frescobaldi_app/actions.py:101 -#: ../python/frescobaldi_app/mainapp.py:712 +#: ../python/frescobaldi_app/actions.py:97 +#: ../python/frescobaldi_app/mainapp.py:726 msgid "Email..." msgstr "" -#: ../python/frescobaldi_app/actions.py:154 +#: ../python/frescobaldi_app/actions.py:149 msgid "There are no files to send via email." msgstr "" -#: ../python/frescobaldi_app/actions.py:155 +#: ../python/frescobaldi_app/actions.py:150 msgid "No files to send" msgstr "" -#: ../python/frescobaldi_app/actions.py:163 +#: ../python/frescobaldi_app/actions.py:158 msgid "Email documents" msgstr "" -#: ../python/frescobaldi_app/actions.py:167 +#: ../python/frescobaldi_app/actions.py:162 msgid "Please select the files you want to send:" msgstr "" -#: ../python/frescobaldi_app/actions.py:172 +#: ../python/frescobaldi_app/actions.py:166 msgid "" "These are the files that are up-to-date (i.e. newer than the LilyPond source " "document). Also LilyPond files included by the source document are shown." msgstr "" -#: ../python/frescobaldi_app/actions.py:182 +#: ../python/frescobaldi_app/actions.py:176 msgid "" "Note: this PDF file has been created with embedded point-and-click URLs " "(preview mode), which increases the file size dramatically. Please consider " @@ -529,199 +537,183 @@ msgstr[0] "" msgstr[1] "" -#: ../python/frescobaldi_app/actions.py:283 +#: ../python/frescobaldi_app/actions.py:273 msgid "Printing failed: %1" msgstr "" -#: ../python/frescobaldi_app/actions.py:286 +#: ../python/frescobaldi_app/actions.py:276 msgid "The document has been sent to the printer." msgstr "" -#: ../python/frescobaldi_app/actions.py:289 +#: ../python/frescobaldi_app/actions.py:279 msgid "" "Printing failed: %1\n" "\n" "The print command %2 does probably not exist. Please check your settings." msgstr "" -#: ../python/frescobaldi_app/actions.py:294 +#: ../python/frescobaldi_app/actions.py:284 msgid "The print command contains errors. Please check your settings." msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:55 -#: ../python/frescobaldi_app/mainapp.py:738 +#: ../python/frescobaldi_app/blankpaper.py:56 +#: ../python/frescobaldi_app/mainapp.py:753 msgid "Create blank staff paper" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:69 +#: ../python/frescobaldi_app/blankpaper.py:70 msgid "Type:" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:72 +#: ../python/frescobaldi_app/blankpaper.py:73 msgid "Action:" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:78 +#: ../python/frescobaldi_app/blankpaper.py:79 msgid "Choose what kind of empty staves you want to create." msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:80 +#: ../python/frescobaldi_app/blankpaper.py:81 msgid "Choose which action happens when clicking \"Ok\"." msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:82 +#: ../python/frescobaldi_app/blankpaper.py:83 msgid "Preview the empty staff paper." msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:84 +#: ../python/frescobaldi_app/blankpaper.py:85 msgid "Click to see more settings." msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:87 +#: ../python/frescobaldi_app/blankpaper.py:88 msgid "Paper" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:89 +#: ../python/frescobaldi_app/blankpaper.py:90 msgid "Settings" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:95 -#: ../python/frescobaldi_app/scorewiz/__init__.py:509 +#: ../python/frescobaldi_app/blankpaper.py:96 +#: ../python/frescobaldi_app/scorewiz/__init__.py:496 msgid "Paper size:" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:99 -#: ../python/frescobaldi_app/scorewiz/__init__.py:448 -#: ../python/frescobaldi_app/scorewiz/__init__.py:513 -#: ../python/frescobaldi_app/scorewiz/__init__.py:547 -#: ../python/frescobaldi_app/scorewiz/parts.py:180 -#: ../python/frescobaldi_app/scorewiz/parts.py:436 +#: ../python/frescobaldi_app/blankpaper.py:100 +#: ../python/frescobaldi_app/scorewiz/__init__.py:441 +#: ../python/frescobaldi_app/scorewiz/__init__.py:500 +#: ../python/frescobaldi_app/scorewiz/__init__.py:532 +#: ../python/frescobaldi_app/scorewiz/parts.py:183 +#: ../python/frescobaldi_app/scorewiz/parts.py:439 msgid "Default" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:103 +#: ../python/frescobaldi_app/blankpaper.py:104 msgid "Staff Size:" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:110 +#: ../python/frescobaldi_app/blankpaper.py:111 msgid "Page count:" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:116 -#: ../python/frescobaldi_app/scorewiz/__init__.py:486 +#: ../python/frescobaldi_app/blankpaper.py:117 +#: ../python/frescobaldi_app/scorewiz/__init__.py:468 msgid "Remove default tagline" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:121 +#: ../python/frescobaldi_app/blankpaper.py:122 msgid "Print Bar Lines" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:123 +#: ../python/frescobaldi_app/blankpaper.py:124 msgid "Bars per line:" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:130 +#: ../python/frescobaldi_app/blankpaper.py:131 msgid "Print Page Numbers" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:132 +#: ../python/frescobaldi_app/blankpaper.py:133 msgid "Start with:" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:289 +#: ../python/frescobaldi_app/blankpaper.py:285 msgid "Blank staff paper preview" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:308 +#: ../python/frescobaldi_app/blankpaper.py:304 msgid "No PDF was created." msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:319 +#: ../python/frescobaldi_app/blankpaper.py:315 msgid "Open in PDF viewer" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:328 +#: ../python/frescobaldi_app/blankpaper.py:324 msgid "Save PDF As..." msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:335 +#: ../python/frescobaldi_app/blankpaper.py:331 msgid "PDF Files" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:337 +#: ../python/frescobaldi_app/blankpaper.py:333 msgid "Save PDF" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:355 -#: ../python/frescobaldi_app/runlily.py:375 -msgid "" -"A file named \"%1\" already exists. Are you sure you want to overwrite it?" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:358 -#: ../python/frescobaldi_app/runlily.py:378 -msgid "Overwrite File?" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:358 -#: ../python/frescobaldi_app/runlily.py:378 -msgid "&Overwrite" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:380 +#: ../python/frescobaldi_app/blankpaper.py:357 msgid "Directly print on default printer" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:389 +#: ../python/frescobaldi_app/blankpaper.py:366 msgid "Copy LilyPond code to editor" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:488 +#: ../python/frescobaldi_app/blankpaper.py:465 msgid "Staves per page:" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:493 -#: ../python/frescobaldi_app/blankpaper.py:828 +#: ../python/frescobaldi_app/blankpaper.py:470 +#: ../python/frescobaldi_app/blankpaper.py:803 msgid "Clef:" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:499 +#: ../python/frescobaldi_app/blankpaper.py:476 msgid "Single Staff" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:519 -#: ../python/frescobaldi_app/blankpaper.py:575 -#: ../python/frescobaldi_app/blankpaper.py:671 +#: ../python/frescobaldi_app/blankpaper.py:496 +#: ../python/frescobaldi_app/blankpaper.py:552 +#: ../python/frescobaldi_app/blankpaper.py:647 msgid "Systems per page:" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:523 +#: ../python/frescobaldi_app/blankpaper.py:500 msgid "Clefs" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:527 +#: ../python/frescobaldi_app/blankpaper.py:504 msgid "Piano Staff" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:547 +#: ../python/frescobaldi_app/blankpaper.py:524 msgid "Organ Staff" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:571 +#: ../python/frescobaldi_app/blankpaper.py:548 msgid "Staves per system:" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:582 +#: ../python/frescobaldi_app/blankpaper.py:559 msgid "Clefs:" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:589 +#: ../python/frescobaldi_app/blankpaper.py:566 msgid "" "Enter as many letters (S, A, T or B) as there are staves.\n" "See \"What's This\" for more information." msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:592 +#: ../python/frescobaldi_app/blankpaper.py:569 msgid "" "To configure clefs, first set the number of staves per system. Then enter as " "many letters (S, A, T or B) as there are staves.\n" @@ -735,49 +727,55 @@ "the quotes) here." msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:606 +#: ../python/frescobaldi_app/blankpaper.py:582 msgid "Choir Staff" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:613 -#: ../python/frescobaldi_app/scorewiz/__init__.py:395 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/blankpaper.py:589 +#: ../python/frescobaldi_app/lqi.py:159 +#: ../python/frescobaldi_app/scorewiz/__init__.py:388 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "None" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:759 +#: ../python/frescobaldi_app/blankpaper.py:734 msgid "Custom Staff" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:818 +#: ../python/frescobaldi_app/blankpaper.py:793 msgid "Staff" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:841 -msgid "Space above:" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:844 +#: ../python/frescobaldi_app/blankpaper.py:812 msgid "Space below:" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:879 +#: ../python/frescobaldi_app/blankpaper.py:852 msgid "Brace" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:904 +#: ../python/frescobaldi_app/blankpaper.py:877 msgid "Bracket" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:913 +#: ../python/frescobaldi_app/blankpaper.py:886 msgid "Square Bracket" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:915 +#: ../python/frescobaldi_app/blankpaper.py:888 msgid "Connect bar lines" msgstr "" -#: ../python/frescobaldi_app/document.py:66 +#: ../python/frescobaldi_app/charselect.py:41 +#: ../python/frescobaldi_app/mainapp.py:871 +msgid "Special Characters" +msgstr "" + +#: ../python/frescobaldi_app/charselect.py:85 +msgid "unknown" +msgstr "" + +#: ../python/frescobaldi_app/document.py:68 msgid "" "Can't perform the requested translation.\n" "\n" @@ -785,42 +783,42 @@ "the pitch language \"%1\"." msgstr "" -#: ../python/frescobaldi_app/document.py:81 +#: ../python/frescobaldi_app/document.py:82 msgid "" "The pitch language of the selected text has been updated, but you need to " "manually add the following command to your document:" msgstr "" -#: ../python/frescobaldi_app/document.py:84 -#: ../python/frescobaldi_app/mainapp.py:561 +#: ../python/frescobaldi_app/document.py:85 +#: ../python/frescobaldi_app/mainapp.py:572 msgid "Pitch Name Language" msgstr "" -#: ../python/frescobaldi_app/document.py:139 +#: ../python/frescobaldi_app/document.py:140 msgid "Please enter the name for the variable to assign the selected text to:" msgstr "" -#: ../python/frescobaldi_app/document.py:140 -#: ../python/frescobaldi_app/mainapp.py:455 +#: ../python/frescobaldi_app/document.py:141 +#: ../python/frescobaldi_app/mainapp.py:461 msgid "Cut and Assign" msgstr "" -#: ../python/frescobaldi_app/document.py:452 +#: ../python/frescobaldi_app/document.py:451 msgid "Open %1" msgstr "" -#: ../python/frescobaldi_app/document.py:707 +#: ../python/frescobaldi_app/document.py:705 msgid "Please select a music expression, enclosed in << ... >> or { ... }." msgstr "" -#: ../python/frescobaldi_app/document.py:727 +#: ../python/frescobaldi_app/document.py:725 msgid "" "Could not understand the entered pitches.\n" "\n" "Please make sure you use pitch names in the language \"%1\"." msgstr "" -#: ../python/frescobaldi_app/document.py:735 +#: ../python/frescobaldi_app/document.py:733 msgid "" "Can't perform the requested transposition.\n" "\n" @@ -828,47 +826,47 @@ "available in the pitch language \"%1\"." msgstr "" -#: ../python/frescobaldi_app/document.py:748 +#: ../python/frescobaldi_app/document.py:746 msgid "Transpose" msgstr "" -#: ../python/frescobaldi_app/document.py:755 +#: ../python/frescobaldi_app/document.py:753 msgid "Please enter a start pitch and a destination pitch:" msgstr "" -#: ../python/frescobaldi_app/document.py:759 +#: ../python/frescobaldi_app/document.py:757 msgid "Transpose from:" msgstr "" -#: ../python/frescobaldi_app/document.py:763 +#: ../python/frescobaldi_app/document.py:761 msgid "to:" msgstr "" -#: ../python/frescobaldi_app/expand.py:147 -#: ../python/frescobaldi_app/mainapp.py:786 +#: ../python/frescobaldi_app/expand.py:149 +#: ../python/frescobaldi_app/mainapp.py:870 msgid "Expansion Manager" msgstr "" -#: ../python/frescobaldi_app/expand.py:161 -#: ../python/frescobaldi_app/lilydoc.py:125 +#: ../python/frescobaldi_app/expand.py:163 +#: ../python/frescobaldi_app/lilydoc.py:127 msgid "Search..." msgstr "" -#: ../python/frescobaldi_app/expand.py:170 -#: ../python/frescobaldi_app/rumor.py:507 +#: ../python/frescobaldi_app/expand.py:172 +#: ../python/frescobaldi_app/rumor.py:505 msgid "Name" msgstr "" -#: ../python/frescobaldi_app/expand.py:170 -#: ../python/frescobaldi_app/rumor.py:507 +#: ../python/frescobaldi_app/expand.py:172 +#: ../python/frescobaldi_app/rumor.py:505 msgid "Description" msgstr "" -#: ../python/frescobaldi_app/expand.py:170 +#: ../python/frescobaldi_app/expand.py:172 msgid "Shortcut" msgstr "" -#: ../python/frescobaldi_app/expand.py:193 +#: ../python/frescobaldi_app/expand.py:195 msgid "" "This is the list of defined expansions.\n" "\n" @@ -884,83 +882,91 @@ "Enter or click Ok." msgstr "" -#: ../python/frescobaldi_app/expand.py:213 +#: ../python/frescobaldi_app/expand.py:214 msgid "" "This is the text associated with the selected shortcut. Some characters have " "special meaning:" msgstr "" -#: ../python/frescobaldi_app/expand.py:215 +#: ../python/frescobaldi_app/expand.py:216 msgid "Place the cursor on this spot." msgstr "" -#: ../python/frescobaldi_app/expand.py:216 +#: ../python/frescobaldi_app/expand.py:217 msgid "Translate the following pitch." msgstr "" -#: ../python/frescobaldi_app/expand.py:268 +#: ../python/frescobaldi_app/expand.py:265 msgid "New Item" msgstr "" -#: ../python/frescobaldi_app/expand.py:348 +#: ../python/frescobaldi_app/expand.py:345 msgid "" "Another expansion already uses this name.\n" "\n" "Please use a different name." msgstr "" -#: ../python/frescobaldi_app/expand.py:354 +#: ../python/frescobaldi_app/expand.py:351 msgid "" "Please only use letters, numbers and the underscore character in the " "expansion name." msgstr "" -#: ../python/frescobaldi_app/expand.py:381 +#: ../python/frescobaldi_app/expand.py:376 msgid "Please don't leave the description empty." msgstr "" -#: ../python/frescobaldi_app/hyphen.py:123 -#: ../python/frescobaldi_app/mainapp.py:676 +#: ../python/frescobaldi_app/hyphen.py:119 +msgid "" +"Could not find any hyphenation dictionaries.\n" +"\n" +"Please install a package containing some and/or or configure the search path " +"to find them in the Frescobaldi settings under \"Paths.\"" +msgstr "" + +#: ../python/frescobaldi_app/hyphen.py:132 +#: ../python/frescobaldi_app/mainapp.py:686 msgid "Hyphenate Lyrics Text" msgstr "" -#: ../python/frescobaldi_app/hyphen.py:127 +#: ../python/frescobaldi_app/hyphen.py:136 msgid "Please select a language:" msgstr "" -#: ../python/frescobaldi_app/lilydoc.py:99 +#: ../python/frescobaldi_app/lilydoc.py:101 msgid "Home" msgstr "" -#: ../python/frescobaldi_app/lilydoc.py:100 +#: ../python/frescobaldi_app/lilydoc.py:102 msgid "Larger text" msgstr "" -#: ../python/frescobaldi_app/lilydoc.py:101 +#: ../python/frescobaldi_app/lilydoc.py:103 msgid "Smaller text" msgstr "" -#: ../python/frescobaldi_app/lilydoc.py:110 +#: ../python/frescobaldi_app/lilydoc.py:112 msgid "First Page" msgstr "" -#: ../python/frescobaldi_app/lilydoc.py:111 +#: ../python/frescobaldi_app/lilydoc.py:113 msgid "Previous" msgstr "" -#: ../python/frescobaldi_app/lilydoc.py:112 +#: ../python/frescobaldi_app/lilydoc.py:114 msgid "Up one level" msgstr "" -#: ../python/frescobaldi_app/lilydoc.py:113 +#: ../python/frescobaldi_app/lilydoc.py:115 msgid "Next" msgstr "" -#: ../python/frescobaldi_app/lilydoc.py:114 +#: ../python/frescobaldi_app/lilydoc.py:116 msgid "Table of contents" msgstr "" -#: ../python/frescobaldi_app/lilydoc.py:115 +#: ../python/frescobaldi_app/lilydoc.py:117 msgid "Index" msgstr "" @@ -972,553 +978,576 @@ msgid "Open Link in &New Window" msgstr "" -#: ../python/frescobaldi_app/lilydoc.py:322 -#: ../python/frescobaldi_app/runlily.py:339 +#: ../python/frescobaldi_app/lilydoc.py:321 +#: ../python/frescobaldi_app/runlily.py:508 msgid "&Copy" msgstr "" -#: ../python/frescobaldi_app/lilydoc.py:325 +#: ../python/frescobaldi_app/lilydoc.py:324 msgid "Open Document in &New Window" msgstr "" -#: ../python/frescobaldi_app/lilydoc.py:677 +#: ../python/frescobaldi_app/lilydoc.py:675 msgid "Loading..." msgstr "" -#: ../python/frescobaldi_app/lilydoc.py:684 +#: ../python/frescobaldi_app/lilydoc.py:682 msgid "Not available" msgstr "" -#: ../python/frescobaldi_app/lilydoc.py:732 +#: ../python/frescobaldi_app/lilydoc.py:734 msgid "Notation Reference" msgstr "" -#: ../python/frescobaldi_app/lilydoc.py:752 +#: ../python/frescobaldi_app/lilydoc.py:754 msgid "LilyPond Command Index" msgstr "" -#: ../python/frescobaldi_app/lilydoc.py:772 +#: ../python/frescobaldi_app/lilydoc.py:780 msgid "Learning Manual" msgstr "" -#: ../python/frescobaldi_app/lilydoc.py:792 +#: ../python/frescobaldi_app/lilydoc.py:800 msgid "Learning Manual Index" msgstr "" -#: ../python/frescobaldi_app/lilydoc.py:808 +#: ../python/frescobaldi_app/lilydoc.py:816 msgid "LilyPond &Help" msgstr "" -#: ../python/frescobaldi_app/lqi.py:62 +#: ../python/frescobaldi_app/lqi.py:82 msgid "Articulations" msgstr "" -#: ../python/frescobaldi_app/lqi.py:63 +#: ../python/frescobaldi_app/lqi.py:83 msgid "Different kinds of articulations and other signs." msgstr "" -#: ../python/frescobaldi_app/lqi.py:70 +#: ../python/frescobaldi_app/lqi.py:90 msgid "Allow shorthands" msgstr "" -#: ../python/frescobaldi_app/lqi.py:73 +#: ../python/frescobaldi_app/lqi.py:93 msgid "Use short notation for some articulations like staccato." msgstr "" -#: ../python/frescobaldi_app/lqi.py:79 +#: ../python/frescobaldi_app/lqi.py:99 msgid "Direction:" msgstr "" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Up" msgstr "" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Neutral" msgstr "" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Down" msgstr "" -#: ../python/frescobaldi_app/lqi.py:85 +#: ../python/frescobaldi_app/lqi.py:105 msgid "The direction to use for the articulations." msgstr "" -#: ../python/frescobaldi_app/lqi.py:112 +#: ../python/frescobaldi_app/lqi.py:134 msgid "Click an articulation sign to add it to your document." msgstr "" -#: ../python/frescobaldi_app/lqi.py:113 +#: ../python/frescobaldi_app/lqi.py:135 msgid "" "If you select some music first, the articulation will be added to all notes " "in the selection." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:53 +#: ../python/frescobaldi_app/lqi.py:159 +msgid "Configure Keyboard Shortcut (%1)" +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:54 msgid "LilyPond files" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:392 -#: ../python/frescobaldi_app/scorewiz/__init__.py:355 +#: ../python/frescobaldi_app/mainapp.py:424 +#: ../python/frescobaldi_app/settings.py:620 +#: ../python/frescobaldi_app/scorewiz/__init__.py:348 msgid "LilyPond" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:403 +#: ../python/frescobaldi_app/mainapp.py:435 msgid "Setup New Score..." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:408 +#: ../python/frescobaldi_app/mainapp.py:440 msgid "Run LilyPond (preview)" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:412 +#: ../python/frescobaldi_app/mainapp.py:444 msgid "Run LilyPond (publish)" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:418 -msgid "Can't process document" -msgstr "" - -#: ../python/frescobaldi_app/mainapp.py:421 -msgid "There is already a LilyPond job running for this document." -msgstr "" - -#: ../python/frescobaldi_app/mainapp.py:427 -msgid "Your document has been modified, please save first." +#: ../python/frescobaldi_app/mainapp.py:448 +msgid "Run LilyPond (custom)..." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:446 +#: ../python/frescobaldi_app/mainapp.py:452 msgid "Interrupt LilyPond Job" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:456 +#: ../python/frescobaldi_app/mainapp.py:462 msgid "Cut selection and assign it to a LilyPond variable." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:460 +#: ../python/frescobaldi_app/mainapp.py:466 msgid "Repeat last note or chord" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:461 +#: ../python/frescobaldi_app/mainapp.py:467 msgid "Repeat the last music expression (note or chord)." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:465 +#: ../python/frescobaldi_app/mainapp.py:471 msgid "Insert or Manage Expansions..." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:466 +#: ../python/frescobaldi_app/mainapp.py:472 msgid "Expand last word or open the expansions dialog." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:471 +#: ../python/frescobaldi_app/mainapp.py:476 +msgid "Special Characters..." +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:477 +msgid "Insert special characters." +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:482 msgid "Add to Expansions" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:475 +#: ../python/frescobaldi_app/mainapp.py:486 msgid "Next blank line" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:476 +#: ../python/frescobaldi_app/mainapp.py:487 msgid "Go to the next blank line." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:486 +#: ../python/frescobaldi_app/mainapp.py:497 msgid "Previous blank line" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:487 +#: ../python/frescobaldi_app/mainapp.py:498 msgid "Go to the previous blank line." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:496 +#: ../python/frescobaldi_app/mainapp.py:507 msgid "Select to next blank line" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:498 +#: ../python/frescobaldi_app/mainapp.py:509 msgid "" "Selects text from the current position down to and including the next blank " "line." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:523 +#: ../python/frescobaldi_app/mainapp.py:534 msgid "Select to previous blank line" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:525 +#: ../python/frescobaldi_app/mainapp.py:536 msgid "" "Selects text from the current position up to right after the previous blank " "line." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:549 +#: ../python/frescobaldi_app/mainapp.py:560 msgid "Move selection to next blank line" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:550 +#: ../python/frescobaldi_app/mainapp.py:561 msgid "Moves selected block to next blank line." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:554 +#: ../python/frescobaldi_app/mainapp.py:565 msgid "Move selection to previous blank line" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:555 +#: ../python/frescobaldi_app/mainapp.py:566 msgid "Moves selected block to previous blank line." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:562 +#: ../python/frescobaldi_app/mainapp.py:573 msgid "" "Change the LilyPond language used for pitch names in this document or in the " "selection." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:569 +#: ../python/frescobaldi_app/mainapp.py:579 msgid "Convert Relative to &Absolute" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:570 +#: ../python/frescobaldi_app/mainapp.py:580 msgid "" "Converts the notes in the document or selection from relative to absolute " "pitch." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:574 +#: ../python/frescobaldi_app/mainapp.py:584 msgid "Convert Absolute to &Relative" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:575 +#: ../python/frescobaldi_app/mainapp.py:585 msgid "" "Converts the notes in the document or selection from absolute to relative " "pitch." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:579 +#: ../python/frescobaldi_app/mainapp.py:589 msgid "Transpose..." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:580 +#: ../python/frescobaldi_app/mainapp.py:590 msgid "Transposes all notes in the document or selection." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:585 +#: ../python/frescobaldi_app/mainapp.py:595 msgid "Double durations" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:586 +#: ../python/frescobaldi_app/mainapp.py:596 msgid "Double all the durations in the selection." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:591 +#: ../python/frescobaldi_app/mainapp.py:601 msgid "Halve durations" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:592 +#: ../python/frescobaldi_app/mainapp.py:602 msgid "Halve all the durations in the selection." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:597 +#: ../python/frescobaldi_app/mainapp.py:607 msgid "Dot durations" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:598 +#: ../python/frescobaldi_app/mainapp.py:608 msgid "Add a dot to all the durations in the selection." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:603 +#: ../python/frescobaldi_app/mainapp.py:613 msgid "Undot durations" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:604 +#: ../python/frescobaldi_app/mainapp.py:614 msgid "Remove one dot from all the durations in the selection." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:609 +#: ../python/frescobaldi_app/mainapp.py:619 msgid "Remove scaling" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:610 +#: ../python/frescobaldi_app/mainapp.py:620 msgid "Remove all scaling (*n/m) from the durations in the selection." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:615 +#: ../python/frescobaldi_app/mainapp.py:625 msgid "Remove durations" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:616 +#: ../python/frescobaldi_app/mainapp.py:626 msgid "Remove all durations from the selection." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:621 +#: ../python/frescobaldi_app/mainapp.py:631 msgid "Make implicit" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:622 +#: ../python/frescobaldi_app/mainapp.py:632 msgid "Make durations implicit (remove repeated durations)." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:627 +#: ../python/frescobaldi_app/mainapp.py:637 msgid "Make explicit" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:628 +#: ../python/frescobaldi_app/mainapp.py:638 msgid "" "Make durations explicit (add duration to every note, even if it is the same " "as the preceding note)." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:634 +#: ../python/frescobaldi_app/mainapp.py:644 msgid "Apply rhythm..." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:635 +#: ../python/frescobaldi_app/mainapp.py:645 msgid "Apply an entered rhythm to the selected music." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:639 +#: ../python/frescobaldi_app/mainapp.py:649 msgid "Copy rhythm" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:640 +#: ../python/frescobaldi_app/mainapp.py:650 msgid "Copy the rhythm of the selected music." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:646 +#: ../python/frescobaldi_app/mainapp.py:656 msgid "Paste rhythm" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:647 +#: ../python/frescobaldi_app/mainapp.py:657 msgid "Paste a rhythm to the selected music." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:655 +#: ../python/frescobaldi_app/mainapp.py:665 msgid "Double bar line" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:656 +#: ../python/frescobaldi_app/mainapp.py:666 msgid "Ending bar line" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:657 +#: ../python/frescobaldi_app/mainapp.py:667 msgid "Dotted bar line" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:658 +#: ../python/frescobaldi_app/mainapp.py:668 msgid "Dashed bar line" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:659 +#: ../python/frescobaldi_app/mainapp.py:669 msgid "Invisible bar line" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:660 +#: ../python/frescobaldi_app/mainapp.py:670 msgid "Repeat start" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:661 +#: ../python/frescobaldi_app/mainapp.py:671 msgid "Repeat both" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:662 +#: ../python/frescobaldi_app/mainapp.py:672 msgid "Repeat end" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:663 +#: ../python/frescobaldi_app/mainapp.py:673 msgid "Tick bar line" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:664 +#: ../python/frescobaldi_app/mainapp.py:674 msgid "Single bar line" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:665 +#: ../python/frescobaldi_app/mainapp.py:675 msgid "Small-Wide-Small bar line" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:666 +#: ../python/frescobaldi_app/mainapp.py:676 msgid "Wide-Small bar line" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:667 +#: ../python/frescobaldi_app/mainapp.py:677 msgid "Double wide bar line" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:668 +#: ../python/frescobaldi_app/mainapp.py:678 msgid "Repeat both (old)" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:669 +#: ../python/frescobaldi_app/mainapp.py:679 msgid "Repeat both (classic)" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:681 +#: ../python/frescobaldi_app/mainapp.py:691 msgid "Remove hyphenation" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:686 +#: ../python/frescobaldi_app/mainapp.py:695 +msgid "Copy Lyrics with hyphenation removed" +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:700 msgid "Single Quote" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:690 +#: ../python/frescobaldi_app/mainapp.py:704 msgid "Double Quote" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:694 +#: ../python/frescobaldi_app/mainapp.py:708 msgid "Align" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:698 +#: ../python/frescobaldi_app/mainapp.py:712 msgid "Insert LilyPond version" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:703 +#: ../python/frescobaldi_app/mainapp.py:717 msgid "Update with convert-ly" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:708 +#: ../python/frescobaldi_app/mainapp.py:722 msgid "Open Current Folder" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:722 +#: ../python/frescobaldi_app/mainapp.py:737 msgid "Repeat selected music" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:728 +#: ../python/frescobaldi_app/mainapp.py:743 msgid "Insert pair of braces" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:776 +#: ../python/frescobaldi_app/mainapp.py:794 +msgid "Can't process document" +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:799 +msgid "Your document has been modified, please save first." +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:824 +msgid "There is already a LilyPond job running for this document." +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:860 msgid "Abort the running LilyPond process" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:779 -msgid "Run LilyPond in preview mode" +#: ../python/frescobaldi_app/mainapp.py:863 +msgid "Run LilyPond in preview mode (Shift-click for custom dialog)" +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:872 +#: ../python/frescobaldi_app/mainapp.py:1088 +msgid "Quick Insert" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:796 +#: ../python/frescobaldi_app/mainapp.py:882 msgid "Apply Rhythm" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:804 +#: ../python/frescobaldi_app/mainapp.py:890 msgid "Enter a rhythm:" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:807 +#: ../python/frescobaldi_app/mainapp.py:893 msgid "Enter a rhythm using space separated duration values (e.g. 8. 16 8 4 8)" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:862 +#: ../python/frescobaldi_app/mainapp.py:917 msgid "Terminal" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:900 +#: ../python/frescobaldi_app/mainapp.py:948 msgid "S&ynchronize Terminal with Current Document" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:921 -#: ../python/frescobaldi_app/runlily.py:629 +#: ../python/frescobaldi_app/mainapp.py:969 +#: ../python/frescobaldi_app/runlily.py:783 msgid "PDF Preview" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:950 +#: ../python/frescobaldi_app/mainapp.py:1026 msgid "Show PDF Navigation Panel" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:951 +#: ../python/frescobaldi_app/mainapp.py:1027 msgid "Show PDF minipager" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:952 +#: ../python/frescobaldi_app/mainapp.py:1028 msgid "Configure Okular..." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:955 +#: ../python/frescobaldi_app/mainapp.py:1031 msgid "S&ynchronize Preview with Current Document" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:956 +#: ../python/frescobaldi_app/mainapp.py:1032 msgid "Reload" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:1024 -msgid "Quick Insert" -msgstr "" - -#: ../python/frescobaldi_app/mainapp.py:1036 -#: ../python/frescobaldi_app/runlily.py:334 +#: ../python/frescobaldi_app/mainapp.py:1100 +#: ../python/frescobaldi_app/runlily.py:503 msgid "LilyPond Log" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:1040 +#: ../python/frescobaldi_app/mainapp.py:1104 msgid "no log" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:1079 +#: ../python/frescobaldi_app/mainapp.py:1141 msgid "Only show on errors" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:1103 +#: ../python/frescobaldi_app/mainapp.py:1165 msgid "Rumor" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:1115 +#: ../python/frescobaldi_app/mainapp.py:1177 +#: ../python/frescobaldi_app/settings.py:297 msgid "LilyPond Documentation" msgstr "" -#: ../python/frescobaldi_app/rumor.py:72 +#: ../python/frescobaldi_app/rumor.py:73 msgid "" "The meter to use. Leave 'Auto' to let Frescobaldi determine the meter from " "the LilyPond document." msgstr "" -#: ../python/frescobaldi_app/rumor.py:79 +#: ../python/frescobaldi_app/rumor.py:80 msgid "Quantize:" msgstr "" -#: ../python/frescobaldi_app/rumor.py:85 +#: ../python/frescobaldi_app/rumor.py:86 msgid "The shortest note duration to use." msgstr "" -#: ../python/frescobaldi_app/rumor.py:90 +#: ../python/frescobaldi_app/rumor.py:91 msgid "Step" msgstr "" -#: ../python/frescobaldi_app/rumor.py:92 +#: ../python/frescobaldi_app/rumor.py:93 msgid "Record LilyPond input note by note, without durations." msgstr "" -#: ../python/frescobaldi_app/rumor.py:96 +#: ../python/frescobaldi_app/rumor.py:97 msgid "Mono" msgstr "" -#: ../python/frescobaldi_app/rumor.py:98 +#: ../python/frescobaldi_app/rumor.py:99 msgid "Record monophonic input, without chords." msgstr "" -#: ../python/frescobaldi_app/rumor.py:107 +#: ../python/frescobaldi_app/rumor.py:108 msgid "" "The number of accidentals. A negative number designates flats. Leave 'Auto' " "to let Frescobaldi determine the key signature from the LilyPond document." msgstr "" -#: ../python/frescobaldi_app/rumor.py:113 +#: ../python/frescobaldi_app/rumor.py:114 msgid "Tempo:" msgstr "" -#: ../python/frescobaldi_app/rumor.py:116 +#: ../python/frescobaldi_app/rumor.py:117 msgid "Meter:" msgstr "" -#: ../python/frescobaldi_app/rumor.py:119 +#: ../python/frescobaldi_app/rumor.py:120 msgid "Key:" msgstr "" -#: ../python/frescobaldi_app/rumor.py:131 +#: ../python/frescobaldi_app/rumor.py:132 msgid "Configure..." msgstr "" -#: ../python/frescobaldi_app/rumor.py:132 +#: ../python/frescobaldi_app/rumor.py:133 msgid "Adjust more settings, like MIDI input and output." msgstr "" @@ -1530,1169 +1559,1279 @@ msgid "Set these settings as default." msgstr "" -#: ../python/frescobaldi_app/rumor.py:148 +#: ../python/frescobaldi_app/rumor.py:147 msgid "Found rumor version %1." msgstr "" -#: ../python/frescobaldi_app/rumor.py:151 +#: ../python/frescobaldi_app/rumor.py:150 msgid "Could not find Rumor: %1" msgstr "" -#: ../python/frescobaldi_app/rumor.py:165 +#: ../python/frescobaldi_app/rumor.py:164 msgid "Settings have been saved." msgstr "" -#: ../python/frescobaldi_app/rumor.py:316 +#: ../python/frescobaldi_app/rumor.py:315 msgid "Record" msgstr "" -#: ../python/frescobaldi_app/rumor.py:318 +#: ../python/frescobaldi_app/rumor.py:317 msgid "Start or stop Rumor MIDI-recording." msgstr "" -#: ../python/frescobaldi_app/rumor.py:334 +#: ../python/frescobaldi_app/rumor.py:333 msgid "Rumor is recording, press ESC to stop." msgstr "" -#: ../python/frescobaldi_app/rumor.py:360 +#: ../python/frescobaldi_app/rumor.py:359 msgid "Rumor stopped." msgstr "" -#: ../python/frescobaldi_app/rumor.py:394 +#: ../python/frescobaldi_app/rumor.py:393 msgid "TiMidity" msgstr "" -#: ../python/frescobaldi_app/rumor.py:395 +#: ../python/frescobaldi_app/rumor.py:394 msgid "Start or stop the TiMidity ALSA MIDI client." msgstr "" -#: ../python/frescobaldi_app/rumor.py:415 +#: ../python/frescobaldi_app/rumor.py:413 msgid "Rumor Settings" msgstr "" -#: ../python/frescobaldi_app/rumor.py:423 +#: ../python/frescobaldi_app/rumor.py:421 msgid "OSS device %1" msgstr "" -#: ../python/frescobaldi_app/rumor.py:425 +#: ../python/frescobaldi_app/rumor.py:423 msgid "Keyboard" msgstr "" -#: ../python/frescobaldi_app/rumor.py:431 +#: ../python/frescobaldi_app/rumor.py:429 msgid "MIDI input:" msgstr "" -#: ../python/frescobaldi_app/rumor.py:435 +#: ../python/frescobaldi_app/rumor.py:433 msgid "" "MIDI input to use. Choose 'Keyboard' if you want to play on the keyboard of " "your computer." msgstr "" -#: ../python/frescobaldi_app/rumor.py:441 +#: ../python/frescobaldi_app/rumor.py:439 msgid "MIDI output:" msgstr "" -#: ../python/frescobaldi_app/rumor.py:445 +#: ../python/frescobaldi_app/rumor.py:443 msgid "MIDI output to use." msgstr "" -#: ../python/frescobaldi_app/rumor.py:450 -#: ../python/frescobaldi_app/scorewiz/__init__.py:544 +#: ../python/frescobaldi_app/rumor.py:448 +#: ../python/frescobaldi_app/scorewiz/__init__.py:529 msgid "Language:" msgstr "" -#: ../python/frescobaldi_app/rumor.py:455 +#: ../python/frescobaldi_app/rumor.py:453 msgid "The LilyPond language you want Rumor to output the pitches in." msgstr "" -#: ../python/frescobaldi_app/rumor.py:463 +#: ../python/frescobaldi_app/rumor.py:461 msgid "Explicit durations" msgstr "" -#: ../python/frescobaldi_app/rumor.py:465 +#: ../python/frescobaldi_app/rumor.py:463 msgid "" "Add a duration after every note, even if it is the same as the preceding " "note." msgstr "" -#: ../python/frescobaldi_app/rumor.py:470 +#: ../python/frescobaldi_app/rumor.py:468 msgid "Absolute pitch" msgstr "" -#: ../python/frescobaldi_app/rumor.py:472 +#: ../python/frescobaldi_app/rumor.py:470 msgid "Use absolute pitches instead of relative." msgstr "" -#: ../python/frescobaldi_app/rumor.py:478 +#: ../python/frescobaldi_app/rumor.py:476 msgid "No barlines" msgstr "" -#: ../python/frescobaldi_app/rumor.py:480 +#: ../python/frescobaldi_app/rumor.py:478 msgid "Filter the barlines out of Rumor's output." msgstr "" -#: ../python/frescobaldi_app/rumor.py:484 +#: ../python/frescobaldi_app/rumor.py:482 msgid "No dots" msgstr "" -#: ../python/frescobaldi_app/rumor.py:486 +#: ../python/frescobaldi_app/rumor.py:484 msgid "Do not use dotted notes, but ties instead." msgstr "" -#: ../python/frescobaldi_app/rumor.py:490 +#: ../python/frescobaldi_app/rumor.py:488 msgid "Legato" msgstr "" -#: ../python/frescobaldi_app/rumor.py:491 +#: ../python/frescobaldi_app/rumor.py:489 msgid "Do not use rests, but give all notes the maximum length." msgstr "" -#: ../python/frescobaldi_app/rumor.py:496 +#: ../python/frescobaldi_app/rumor.py:494 msgid "Strip rests" msgstr "" -#: ../python/frescobaldi_app/rumor.py:498 +#: ../python/frescobaldi_app/rumor.py:496 msgid "Strip leading and trialing rests from output." msgstr "" -#: ../python/frescobaldi_app/rumor.py:502 +#: ../python/frescobaldi_app/rumor.py:500 msgid "Guile scripts to load:" msgstr "" -#: ../python/frescobaldi_app/rumor.py:509 +#: ../python/frescobaldi_app/rumor.py:507 msgid "" "Here you can select which Guile scripts you want Rumor to load. Check " "\"What's this\" for more information." msgstr "" -#: ../python/frescobaldi_app/rumor.py:513 +#: ../python/frescobaldi_app/rumor.py:511 msgid "" "Here you can select which Guile scripts you want Rumor to load. You can add " "your own scripts by putting them in %1. If the first line of your script " "starts with a semicolon (;) that line will be shown as description." msgstr "" -#: ../python/frescobaldi_app/rumor.py:635 +#: ../python/frescobaldi_app/rumor.py:633 msgid "Auto" msgstr "" -#: ../python/frescobaldi_app/runlily.py:88 +#: ../python/frescobaldi_app/runlily.py:101 msgid "preview mode" msgstr "" -#: ../python/frescobaldi_app/runlily.py:88 +#: ../python/frescobaldi_app/runlily.py:101 msgid "publish mode" msgstr "" -#: ../python/frescobaldi_app/runlily.py:89 +#: ../python/frescobaldi_app/runlily.py:104 +msgid "LilyPond %1 [%2] starting (%3)..." +msgstr "" + +#: ../python/frescobaldi_app/runlily.py:107 msgid "LilyPond [%1] starting (%2)..." msgstr "" -#: ../python/frescobaldi_app/runlily.py:95 +#: ../python/frescobaldi_app/runlily.py:131 msgid "LilyPond [%1] exited with return code %2." msgstr "" -#: ../python/frescobaldi_app/runlily.py:98 +#: ../python/frescobaldi_app/runlily.py:134 msgid "LilyPond [%1] exited with exit status %2." msgstr "" -#: ../python/frescobaldi_app/runlily.py:107 +#: ../python/frescobaldi_app/runlily.py:140 msgid "LilyPond [%1] finished (%2)." msgstr "" -#: ../python/frescobaldi_app/runlily.py:115 +#: ../python/frescobaldi_app/runlily.py:150 msgid "Could not start LilyPond. Please check path and permissions." msgstr "" -#: ../python/frescobaldi_app/runlily.py:118 +#: ../python/frescobaldi_app/runlily.py:153 msgid "Could not read from the LilyPond process." msgstr "" -#: ../python/frescobaldi_app/runlily.py:121 +#: ../python/frescobaldi_app/runlily.py:156 msgid "An unknown error occured." msgstr "" -#: ../python/frescobaldi_app/runlily.py:323 +#: ../python/frescobaldi_app/runlily.py:229 +#: ../python/frescobaldi_app/runlily.py:232 +msgid "Run LilyPond" +msgstr "" + +#: ../python/frescobaldi_app/runlily.py:239 +msgid "Select which LilyPond version you want to run:" +msgstr "" + +#: ../python/frescobaldi_app/runlily.py:247 +msgid "Run LilyPond in preview mode (with Point and Click)" +msgstr "" + +#: ../python/frescobaldi_app/runlily.py:250 +#: ../python/frescobaldi_app/settings.py:150 +msgid "Run LilyPond with verbose output" +msgstr "" + +#: ../python/frescobaldi_app/runlily.py:292 +msgid "Command" +msgstr "" + +#: ../python/frescobaldi_app/runlily.py:299 +msgid "LilyPond %1" +msgstr "" + +#: ../python/frescobaldi_app/runlily.py:300 +msgid "Use LilyPond version %1" +msgstr "" + +#: ../python/frescobaldi_app/runlily.py:303 +#: ../python/frescobaldi_app/settings.py:601 +msgid "default" +msgstr "" + +#: ../python/frescobaldi_app/runlily.py:304 +msgid "Default LilyPond Version." +msgstr "" + +#: ../python/frescobaldi_app/runlily.py:306 +msgid "automatic" +msgstr "" + +#: ../python/frescobaldi_app/runlily.py:307 +msgid "Automatic LilyPond Version (determined from document)." +msgstr "" + +#: ../python/frescobaldi_app/runlily.py:312 +msgid "Path: %1" +msgstr "" + +#: ../python/frescobaldi_app/runlily.py:316 +msgid "LilyPond (version unknown)" +msgstr "" + +#: ../python/frescobaldi_app/runlily.py:317 +msgid "" +"Use LilyPond (version unknown)\n" +"Path: %1" +msgstr "" + +#: ../python/frescobaldi_app/runlily.py:491 msgid "Click to edit this file" msgstr "" -#: ../python/frescobaldi_app/runlily.py:355 +#: ../python/frescobaldi_app/runlily.py:524 msgid "Save LilyPond Log as" msgstr "" -#: ../python/frescobaldi_app/runlily.py:392 +#: ../python/frescobaldi_app/runlily.py:540 msgid "" "Could not save LilyPond log:\n" "\n" "%1" msgstr "" -#: ../python/frescobaldi_app/settings.py:49 +#: ../python/frescobaldi_app/settings.py:54 msgid "Configure" msgstr "" -#: ../python/frescobaldi_app/settings.py:104 +#: ../python/frescobaldi_app/settings.py:110 msgid "Editor Component" msgstr "" -#: ../python/frescobaldi_app/settings.py:105 +#: ../python/frescobaldi_app/settings.py:111 msgid "Editor Component Options" msgstr "" -#: ../python/frescobaldi_app/settings.py:134 +#: ../python/frescobaldi_app/settings.py:140 msgid "General Preferences" msgstr "" -#: ../python/frescobaldi_app/settings.py:135 +#: ../python/frescobaldi_app/settings.py:141 msgid "General Frescobaldi Preferences" msgstr "" -#: ../python/frescobaldi_app/settings.py:140 +#: ../python/frescobaldi_app/settings.py:146 msgid "Save document when LilyPond is run" msgstr "" -#: ../python/frescobaldi_app/settings.py:142 +#: ../python/frescobaldi_app/settings.py:148 msgid "Let LilyPond delete intermediate output files" msgstr "" -#: ../python/frescobaldi_app/settings.py:144 -msgid "Run LilyPond with verbose output" -msgstr "" - -#: ../python/frescobaldi_app/settings.py:146 +#: ../python/frescobaldi_app/settings.py:152 msgid "Remember cursor position, bookmarks, etc." msgstr "" -#: ../python/frescobaldi_app/settings.py:148 +#: ../python/frescobaldi_app/settings.py:154 msgid "Disable the built-in PDF preview" msgstr "" -#: ../python/frescobaldi_app/settings.py:165 +#: ../python/frescobaldi_app/settings.py:170 msgid "LilyPond version number to use for new documents" msgstr "" -#: ../python/frescobaldi_app/settings.py:167 +#: ../python/frescobaldi_app/settings.py:172 msgid "Use version number of installed LilyPond" msgstr "" -#: ../python/frescobaldi_app/settings.py:168 +#: ../python/frescobaldi_app/settings.py:173 msgid "Use version number of last convert-ly rule" msgstr "" -#: ../python/frescobaldi_app/settings.py:169 +#: ../python/frescobaldi_app/settings.py:174 msgid "Use custom version number:" msgstr "" -#: ../python/frescobaldi_app/settings.py:175 +#: ../python/frescobaldi_app/settings.py:179 msgid "Enter a valid LilyPond version number, e.g. 2.12.0" msgstr "" -#: ../python/frescobaldi_app/settings.py:233 +#: ../python/frescobaldi_app/settings.py:234 msgid "Paths" msgstr "" -#: ../python/frescobaldi_app/settings.py:234 +#: ../python/frescobaldi_app/settings.py:235 msgid "Paths to programs or data used by Frescobaldi" msgstr "" -#: ../python/frescobaldi_app/settings.py:244 -msgid "Name or full path of the LilyPond program." -msgstr "" - -#: ../python/frescobaldi_app/settings.py:246 -msgid "Name or full path of the convert-ly program." -msgstr "" - -#: ../python/frescobaldi_app/settings.py:247 +#: ../python/frescobaldi_app/settings.py:249 msgid "PDF Viewer:" msgstr "" -#: ../python/frescobaldi_app/settings.py:248 +#: ../python/frescobaldi_app/settings.py:250 msgid "PDF Viewer" msgstr "" -#: ../python/frescobaldi_app/settings.py:249 -#: ../python/frescobaldi_app/settings.py:252 +#: ../python/frescobaldi_app/settings.py:251 +#: ../python/frescobaldi_app/settings.py:254 msgid "(leave empty for operating system default)" msgstr "" -#: ../python/frescobaldi_app/settings.py:250 +#: ../python/frescobaldi_app/settings.py:252 msgid "MIDI Player:" msgstr "" -#: ../python/frescobaldi_app/settings.py:251 +#: ../python/frescobaldi_app/settings.py:253 msgid "MIDI Player" msgstr "" -#: ../python/frescobaldi_app/settings.py:253 +#: ../python/frescobaldi_app/settings.py:255 msgid "Printcommand:" msgstr "" -#: ../python/frescobaldi_app/settings.py:254 +#: ../python/frescobaldi_app/settings.py:256 msgid "" "Command to print a PDF file, for example lpr or kprinter. You may add some " "arguments, e.g. lpr -P myprinter." msgstr "" -#: ../python/frescobaldi_app/settings.py:270 +#: ../python/frescobaldi_app/settings.py:272 msgid "Default directory:" msgstr "" -#: ../python/frescobaldi_app/settings.py:275 +#: ../python/frescobaldi_app/settings.py:277 msgid "The default folder for your LilyPond documents (optional)." msgstr "" -#: ../python/frescobaldi_app/settings.py:287 +#: ../python/frescobaldi_app/settings.py:288 msgid "LilyPond documentation:" msgstr "" -#: ../python/frescobaldi_app/settings.py:292 +#: ../python/frescobaldi_app/settings.py:294 msgid "Url or path to the LilyPond documentation." msgstr "" -#: ../python/frescobaldi_app/settings.py:304 +#: ../python/frescobaldi_app/settings.py:305 msgid "" "Paths to search for hyphenation dictionaries of OpenOffice.org, Scribus, " "KOffice, etc, one per line. If you leave out the starting slash, the " "prefixes from the KDEDIRS environment variable are prepended." msgstr "" -#: ../python/frescobaldi_app/settings.py:363 +#: ../python/frescobaldi_app/settings.py:366 msgid "Rumor MIDI input" msgstr "" -#: ../python/frescobaldi_app/settings.py:364 +#: ../python/frescobaldi_app/settings.py:367 msgid "Rumor MIDI input plugin settings" msgstr "" -#: ../python/frescobaldi_app/settings.py:369 +#: ../python/frescobaldi_app/settings.py:372 msgid "Commands used by the Rumor MIDI input module" msgstr "" -#: ../python/frescobaldi_app/settings.py:376 +#: ../python/frescobaldi_app/settings.py:379 msgid "Name or full path of the Rumor program." msgstr "" -#: ../python/frescobaldi_app/settings.py:378 +#: ../python/frescobaldi_app/settings.py:381 msgid "" "Name or full path of the aconnect program (part of ALSA, for MIDI input and " "playback using Rumor)." msgstr "" -#: ../python/frescobaldi_app/settings.py:382 +#: ../python/frescobaldi_app/settings.py:385 msgid "" "Full command to start Timidity (or any other program) as an ALSA MIDI client." msgstr "" -#: ../python/frescobaldi_app/version.py:55 +#: ../python/frescobaldi_app/settings.py:421 +msgid "LilyPond versions to use:" +msgstr "" + +#: ../python/frescobaldi_app/settings.py:432 +msgid "" +"Enable automatic version selection (choose LilyPond version from document)" +msgstr "" + +#: ../python/frescobaldi_app/settings.py:558 +msgid "Convert-ly:" +msgstr "" + +#: ../python/frescobaldi_app/settings.py:559 +msgid "Lilypond-book:" +msgstr "" + +#: ../python/frescobaldi_app/settings.py:595 +msgid "Path" +msgstr "" + +#: ../python/frescobaldi_app/settings.py:596 +msgid "Version" +msgstr "" + +#: ../python/frescobaldi_app/settings.py:599 +msgid "Can't determine LilyPond version." +msgstr "" + +#: ../python/frescobaldi_app/settings.py:624 +msgid "LilyPond Command:" +msgstr "" + +#: ../python/frescobaldi_app/settings.py:628 +msgid "Name or full path of the LilyPond program." +msgstr "" + +#: ../python/frescobaldi_app/settings.py:629 +msgid "LilyPond Command" +msgstr "" + +#: ../python/frescobaldi_app/settings.py:642 +msgid "Set as default" +msgstr "" + +#: ../python/frescobaldi_app/settings.py:644 +msgid "Include in automatic version selection" +msgstr "" + +#: ../python/frescobaldi_app/version.py:61 msgid "Your document has already a LilyPond version statement." msgstr "" -#: ../python/frescobaldi_app/version.py:56 +#: ../python/frescobaldi_app/version.py:62 msgid "Version already set" msgstr "" -#: ../python/frescobaldi_app/version.py:64 -#: ../python/frescobaldi_app/version.py:82 +#: ../python/frescobaldi_app/version.py:70 +#: ../python/frescobaldi_app/version.py:88 msgid "" "Can't determine the version of LilyPond. Please check your LilyPond " "installation." msgstr "" -#: ../python/frescobaldi_app/version.py:78 +#: ../python/frescobaldi_app/version.py:84 msgid "" "Can't determine the LilyPond version of the current document. Please add a " "\\version statement with the correct version." msgstr "" -#: ../python/frescobaldi_app/version.py:86 +#: ../python/frescobaldi_app/version.py:92 msgid "This LilyPond document is already up-to-date." msgstr "" -#: ../python/frescobaldi_app/version.py:100 +#: ../python/frescobaldi_app/version.py:105 msgid "" "The document has been processed with convert-ly. You'll find the messages of " "convert-ly in a comment block at the end. You still may have to edit some " "parts manually." msgstr "" -#: ../python/frescobaldi_app/version.py:106 +#: ../python/frescobaldi_app/version.py:111 msgid "" "The document has been processed with convert-ly, but remained unchanged. " "This is the message given by convert-ly: %1" msgstr "" -#: ../python/frescobaldi_app/version.py:111 +#: ../python/frescobaldi_app/version.py:116 msgid "Could not start convert-ly: %1" msgstr "" -#: ../python/frescobaldi_app/widgets.py:46 +#: ../python/frescobaldi_app/widgets.py:47 msgid "Tap" msgstr "" -#: ../python/frescobaldi_app/widgets.py:52 +#: ../python/frescobaldi_app/widgets.py:53 msgid "Click this button a few times to set the tempo." msgstr "" -#: ../python/frescobaldi_app/widgets.py:178 +#: ../python/frescobaldi_app/widgets.py:179 msgid "The tempo in beats per minute." msgstr "" -#: ../python/frescobaldi_app/widgets.py:290 +#: ../python/frescobaldi_app/widgets.py:288 msgid "Treble" msgstr "" -#: ../python/frescobaldi_app/widgets.py:291 -#: ../python/frescobaldi_app/scorewiz/parts.py:809 +#: ../python/frescobaldi_app/widgets.py:289 +#: ../python/frescobaldi_app/scorewiz/parts.py:812 msgid "Alto" msgstr "" -#: ../python/frescobaldi_app/widgets.py:292 -#: ../python/frescobaldi_app/scorewiz/parts.py:815 +#: ../python/frescobaldi_app/widgets.py:290 +#: ../python/frescobaldi_app/scorewiz/parts.py:818 msgid "Tenor" msgstr "" -#: ../python/frescobaldi_app/widgets.py:293 +#: ../python/frescobaldi_app/widgets.py:291 msgid "Treble 8" msgstr "" -#: ../python/frescobaldi_app/widgets.py:294 -#: ../python/frescobaldi_app/scorewiz/parts.py:585 -#: ../python/frescobaldi_app/scorewiz/parts.py:822 +#: ../python/frescobaldi_app/widgets.py:292 +#: ../python/frescobaldi_app/scorewiz/parts.py:588 +#: ../python/frescobaldi_app/scorewiz/parts.py:825 msgid "Bass" msgstr "" -#: ../python/frescobaldi_app/widgets.py:295 -#: ../python/frescobaldi_app/scorewiz/parts.py:1402 +#: ../python/frescobaldi_app/widgets.py:293 +#: ../python/frescobaldi_app/scorewiz/parts.py:1512 msgid "Percussion" msgstr "" -#: ../python/frescobaldi_app/widgets.py:298 +#: ../python/frescobaldi_app/widgets.py:296 msgid "Tab clef" msgstr "" -#: ../python/frescobaldi_app/widgets.py:300 +#: ../python/frescobaldi_app/widgets.py:298 msgid "No Clef" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:68 +#: ../python/frescobaldi_app/scorewiz/__init__.py:62 msgid "Score Setup Wizard" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:137 +#: ../python/frescobaldi_app/scorewiz/__init__.py:133 msgid "Titles and Headers" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:155 +#: ../python/frescobaldi_app/scorewiz/__init__.py:151 msgid "Click to enter a value." msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:157 +#: ../python/frescobaldi_app/scorewiz/__init__.py:153 msgid "bottom of first page" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:158 +#: ../python/frescobaldi_app/scorewiz/__init__.py:154 msgid "bottom of last page" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:201 +#: ../python/frescobaldi_app/scorewiz/__init__.py:194 msgid "Parts" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:206 +#: ../python/frescobaldi_app/scorewiz/__init__.py:199 msgid "Available parts:" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:209 +#: ../python/frescobaldi_app/scorewiz/__init__.py:202 msgid "Add selected part to your score." msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:214 +#: ../python/frescobaldi_app/scorewiz/__init__.py:207 msgid "Score:" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:348 -#: ../python/frescobaldi_app/scorewiz/__init__.py:353 +#: ../python/frescobaldi_app/scorewiz/__init__.py:341 +#: ../python/frescobaldi_app/scorewiz/__init__.py:346 msgid "Score settings" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:360 +#: ../python/frescobaldi_app/scorewiz/__init__.py:353 msgid "General preferences" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:362 +#: ../python/frescobaldi_app/scorewiz/__init__.py:355 msgid "Instrument names" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:369 +#: ../python/frescobaldi_app/scorewiz/__init__.py:362 msgid "Key signature:" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:377 +#: ../python/frescobaldi_app/scorewiz/__init__.py:370 msgid "Time signature:" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:393 +#: ../python/frescobaldi_app/scorewiz/__init__.py:386 msgid "Pickup measure:" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:405 +#: ../python/frescobaldi_app/scorewiz/__init__.py:398 msgid "Metronome mark:" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:434 +#: ../python/frescobaldi_app/scorewiz/__init__.py:427 msgid "Tempo indication:" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:438 +#: ../python/frescobaldi_app/scorewiz/__init__.py:431 msgid "A tempo indication, e.g. \"Allegro.\"" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:444 +#: ../python/frescobaldi_app/scorewiz/__init__.py:437 msgid "Pitch name language:" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:452 +#: ../python/frescobaldi_app/scorewiz/__init__.py:445 msgid "The LilyPond language you want to use for the pitch names." msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:469 +#: ../python/frescobaldi_app/scorewiz/__init__.py:451 msgid "Version:" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:478 +#: ../python/frescobaldi_app/scorewiz/__init__.py:460 msgid "The LilyPond version you will be using for this document." msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:482 +#: ../python/frescobaldi_app/scorewiz/__init__.py:464 msgid "Use typographical quotes" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:484 +#: ../python/frescobaldi_app/scorewiz/__init__.py:466 msgid "Replace normal quotes in titles with nice typographical quotes." msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:488 +#: ../python/frescobaldi_app/scorewiz/__init__.py:470 msgid "Suppress the default tagline output by LilyPond." msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:490 +#: ../python/frescobaldi_app/scorewiz/__init__.py:472 msgid "Remove bar numbers" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:492 +#: ../python/frescobaldi_app/scorewiz/__init__.py:474 msgid "" "Suppress the display of measure numbers at the beginning of every system." msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:495 +#: ../python/frescobaldi_app/scorewiz/__init__.py:477 msgid "Create MIDI output" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:497 +#: ../python/frescobaldi_app/scorewiz/__init__.py:479 msgid "Create a MIDI file in addition to the PDF file." msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:499 +#: ../python/frescobaldi_app/scorewiz/__init__.py:481 msgid "Show metronome mark" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:501 +#: ../python/frescobaldi_app/scorewiz/__init__.py:483 msgid "" "If checked, show the metronome mark at the beginning of the score. The MIDI " "output also uses the metronome setting." msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:512 +#: ../python/frescobaldi_app/scorewiz/__init__.py:487 +msgid "Wrap score in \\book block" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/__init__.py:489 +msgid "If checked, wraps the \\score block inside a \\book block." +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/__init__.py:499 msgid "Landscape" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:526 +#: ../python/frescobaldi_app/scorewiz/__init__.py:511 msgid "First system:" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:529 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/scorewiz/__init__.py:514 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "Long" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:529 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/scorewiz/__init__.py:514 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "Short" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:531 +#: ../python/frescobaldi_app/scorewiz/__init__.py:516 msgid "Use long or short instrument names before the first system." msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:535 +#: ../python/frescobaldi_app/scorewiz/__init__.py:520 msgid "Other systems:" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:540 +#: ../python/frescobaldi_app/scorewiz/__init__.py:525 msgid "Use short, long or no instrument names before the next systems." msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:548 +#: ../python/frescobaldi_app/scorewiz/__init__.py:533 msgid "Which language to use for the instrument names." msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:726 +#: ../python/frescobaldi_app/scorewiz/__init__.py:736 msgid "Remove default LilyPond tagline" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:1040 +#: ../python/frescobaldi_app/scorewiz/__init__.py:1077 msgid "No settings available." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:50 +#: ../python/frescobaldi_app/scorewiz/parts.py:54 msgid "Voices:" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:55 +#: ../python/frescobaldi_app/scorewiz/parts.py:59 msgid "How many voices to put in this staff." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:93 +#: ../python/frescobaldi_app/scorewiz/parts.py:97 msgid "Music follows here." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:160 +#: ../python/frescobaldi_app/scorewiz/parts.py:164 msgid "Staff type:" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:164 +#: ../python/frescobaldi_app/scorewiz/parts.py:168 msgid "Normal staff" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:165 +#: ../python/frescobaldi_app/scorewiz/parts.py:169 msgid "Tablature" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:166 +#: ../python/frescobaldi_app/scorewiz/parts.py:170 msgid "Both" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:177 +#: ../python/frescobaldi_app/scorewiz/parts.py:180 msgid "Tuning:" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:298 +#: ../python/frescobaldi_app/scorewiz/parts.py:301 msgid "Lyrics follow here." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:309 +#: ../python/frescobaldi_app/scorewiz/parts.py:312 msgid "Stanzas:" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:313 +#: ../python/frescobaldi_app/scorewiz/parts.py:316 msgid "The number of stanzas." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:316 +#: ../python/frescobaldi_app/scorewiz/parts.py:319 msgid "Ambitus" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:319 +#: ../python/frescobaldi_app/scorewiz/parts.py:322 msgid "Show the pitch range of the voice at the beginning of the staff." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:383 +#: ../python/frescobaldi_app/scorewiz/parts.py:386 msgid "Adjust how many separate voices you want on each staff." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:384 +#: ../python/frescobaldi_app/scorewiz/parts.py:387 msgid "This is primarily useful when you write polyphonic music like a fuge." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:388 +#: ../python/frescobaldi_app/scorewiz/parts.py:391 msgid "Right hand:" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:389 +#: ../python/frescobaldi_app/scorewiz/parts.py:392 msgid "Left hand:" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:408 -#: ../python/frescobaldi_app/scorewiz/parts.py:895 +#: ../python/frescobaldi_app/scorewiz/parts.py:411 +#: ../python/frescobaldi_app/scorewiz/parts.py:898 msgid "Chord names" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:420 +#: ../python/frescobaldi_app/scorewiz/parts.py:423 msgid "Chords follow here." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:432 +#: ../python/frescobaldi_app/scorewiz/parts.py:435 msgid "Chord style:" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:437 +#: ../python/frescobaldi_app/scorewiz/parts.py:440 msgid "German" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:438 +#: ../python/frescobaldi_app/scorewiz/parts.py:441 msgid "Semi-German" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:439 +#: ../python/frescobaldi_app/scorewiz/parts.py:442 msgid "Italian" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:440 +#: ../python/frescobaldi_app/scorewiz/parts.py:443 msgid "French" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:441 +#: ../python/frescobaldi_app/scorewiz/parts.py:444 msgid "Guitar fret diagrams" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:443 +#: ../python/frescobaldi_app/scorewiz/parts.py:446 msgid "" "Show predefined guitar fret diagrams below the chord names (LilyPond 2.12 " "and above)." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:449 +#: ../python/frescobaldi_app/scorewiz/parts.py:452 msgid "Figured Bass" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:457 -#: ../python/frescobaldi_app/scorewiz/parts.py:516 +#: ../python/frescobaldi_app/scorewiz/parts.py:460 +#: ../python/frescobaldi_app/scorewiz/parts.py:519 msgid "Figures follow here." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:464 +#: ../python/frescobaldi_app/scorewiz/parts.py:467 msgid "Use extender lines" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:469 +#: ../python/frescobaldi_app/scorewiz/parts.py:472 msgid "Violin" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:470 +#: ../python/frescobaldi_app/scorewiz/parts.py:473 msgid "Violin|Vl." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:475 +#: ../python/frescobaldi_app/scorewiz/parts.py:478 msgid "Viola" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:476 +#: ../python/frescobaldi_app/scorewiz/parts.py:479 msgid "Viola|Vla." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:483 +#: ../python/frescobaldi_app/scorewiz/parts.py:486 msgid "Cello" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:484 +#: ../python/frescobaldi_app/scorewiz/parts.py:487 msgid "Cello|Cl." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:491 +#: ../python/frescobaldi_app/scorewiz/parts.py:494 msgid "Contrabass" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:492 +#: ../python/frescobaldi_app/scorewiz/parts.py:495 msgid "Contrabass|Cb." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:499 +#: ../python/frescobaldi_app/scorewiz/parts.py:502 msgid "Basso continuo" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:500 +#: ../python/frescobaldi_app/scorewiz/parts.py:503 msgid "Basso Continuo|B.c." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:522 +#: ../python/frescobaldi_app/scorewiz/parts.py:525 msgid "Mandolin" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:523 +#: ../python/frescobaldi_app/scorewiz/parts.py:526 msgid "Mandolin|Mdl." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:526 +#: ../python/frescobaldi_app/scorewiz/parts.py:529 msgid "Mandolin tuning" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:531 +#: ../python/frescobaldi_app/scorewiz/parts.py:534 msgid "Banjo" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:532 +#: ../python/frescobaldi_app/scorewiz/parts.py:535 msgid "Banjo|Bj." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:536 +#: ../python/frescobaldi_app/scorewiz/parts.py:539 msgid "Open G-tuning (aDGBD)" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:537 +#: ../python/frescobaldi_app/scorewiz/parts.py:540 msgid "C-tuning (gCGBD)" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:538 +#: ../python/frescobaldi_app/scorewiz/parts.py:541 msgid "Modal tuning (gDGCD)" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:539 +#: ../python/frescobaldi_app/scorewiz/parts.py:542 msgid "Open D-tuning (aDF#AD)" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:540 +#: ../python/frescobaldi_app/scorewiz/parts.py:543 msgid "Open Dm-tuning (aDFAD)" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:544 +#: ../python/frescobaldi_app/scorewiz/parts.py:547 msgid "Four strings (instead of five)" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:561 +#: ../python/frescobaldi_app/scorewiz/parts.py:564 msgid "Classical guitar" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:562 +#: ../python/frescobaldi_app/scorewiz/parts.py:565 msgid "Guitar|Gt." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:566 +#: ../python/frescobaldi_app/scorewiz/parts.py:569 msgid "Guitar tuning" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:567 +#: ../python/frescobaldi_app/scorewiz/parts.py:570 msgid "Open G-tuning" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:579 +#: ../python/frescobaldi_app/scorewiz/parts.py:582 msgid "Jazz guitar" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:580 +#: ../python/frescobaldi_app/scorewiz/parts.py:583 msgid "Jazz guitar|J.Gt." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:586 +#: ../python/frescobaldi_app/scorewiz/parts.py:589 msgid "Bass|Bs." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:591 +#: ../python/frescobaldi_app/scorewiz/parts.py:594 msgid "Bass tuning" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:596 +#: ../python/frescobaldi_app/scorewiz/parts.py:599 msgid "Electric bass" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:597 +#: ../python/frescobaldi_app/scorewiz/parts.py:600 msgid "Electric bass|E.Bs." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:602 +#: ../python/frescobaldi_app/scorewiz/parts.py:605 msgid "Harp" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:603 +#: ../python/frescobaldi_app/scorewiz/parts.py:606 msgid "Harp|Hp." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:618 +#: ../python/frescobaldi_app/scorewiz/parts.py:621 msgid "Upper staff:" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:619 +#: ../python/frescobaldi_app/scorewiz/parts.py:622 msgid "Lower staff:" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:623 +#: ../python/frescobaldi_app/scorewiz/parts.py:626 msgid "Flute" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:624 +#: ../python/frescobaldi_app/scorewiz/parts.py:627 msgid "Flute|Fl." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:629 +#: ../python/frescobaldi_app/scorewiz/parts.py:632 msgid "Piccolo" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:630 +#: ../python/frescobaldi_app/scorewiz/parts.py:633 msgid "Piccolo|Pic." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:636 +#: ../python/frescobaldi_app/scorewiz/parts.py:639 msgid "Bass flute" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:637 +#: ../python/frescobaldi_app/scorewiz/parts.py:640 msgid "Bass flute|Bfl." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:643 +#: ../python/frescobaldi_app/scorewiz/parts.py:646 msgid "Oboe" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:644 +#: ../python/frescobaldi_app/scorewiz/parts.py:647 msgid "Oboe|Ob." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:649 +#: ../python/frescobaldi_app/scorewiz/parts.py:652 msgid "Oboe d'Amore" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:650 +#: ../python/frescobaldi_app/scorewiz/parts.py:653 msgid "Oboe d'amore|Ob.d'am." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:656 +#: ../python/frescobaldi_app/scorewiz/parts.py:659 msgid "English Horn" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:657 +#: ../python/frescobaldi_app/scorewiz/parts.py:660 msgid "English horn|Eng.h." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:663 +#: ../python/frescobaldi_app/scorewiz/parts.py:666 msgid "Bassoon" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:664 +#: ../python/frescobaldi_app/scorewiz/parts.py:667 msgid "Bassoon|Bn." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:671 +#: ../python/frescobaldi_app/scorewiz/parts.py:674 msgid "Contrabassoon" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:672 +#: ../python/frescobaldi_app/scorewiz/parts.py:675 msgid "Contrabassoon|C.Bn." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:680 +#: ../python/frescobaldi_app/scorewiz/parts.py:683 msgid "Clarinet" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:681 +#: ../python/frescobaldi_app/scorewiz/parts.py:684 msgid "Clarinet|Cl." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:687 +#: ../python/frescobaldi_app/scorewiz/parts.py:690 msgid "Sopranino Sax" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:688 +#: ../python/frescobaldi_app/scorewiz/parts.py:691 msgid "Sopranino Sax|SiSx." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:694 +#: ../python/frescobaldi_app/scorewiz/parts.py:697 msgid "Soprano Sax" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:695 +#: ../python/frescobaldi_app/scorewiz/parts.py:698 msgid "Soprano Sax|SoSx." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:701 +#: ../python/frescobaldi_app/scorewiz/parts.py:704 msgid "Alto Sax" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:702 +#: ../python/frescobaldi_app/scorewiz/parts.py:705 msgid "Alto Sax|ASx." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:708 +#: ../python/frescobaldi_app/scorewiz/parts.py:711 msgid "Tenor Sax" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:709 +#: ../python/frescobaldi_app/scorewiz/parts.py:712 msgid "Tenor Sax|TSx." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:715 +#: ../python/frescobaldi_app/scorewiz/parts.py:718 msgid "Baritone Sax" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:716 +#: ../python/frescobaldi_app/scorewiz/parts.py:719 msgid "Baritone Sax|BSx." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:722 +#: ../python/frescobaldi_app/scorewiz/parts.py:725 msgid "Bass Sax" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:723 +#: ../python/frescobaldi_app/scorewiz/parts.py:726 msgid "Bass Sax|BsSx." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:729 +#: ../python/frescobaldi_app/scorewiz/parts.py:732 msgid "Soprano recorder" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:730 +#: ../python/frescobaldi_app/scorewiz/parts.py:733 msgid "Soprano recorder|S.rec." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:736 +#: ../python/frescobaldi_app/scorewiz/parts.py:739 msgid "Alto recorder" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:737 +#: ../python/frescobaldi_app/scorewiz/parts.py:740 msgid "Alto recorder|A.rec." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:742 +#: ../python/frescobaldi_app/scorewiz/parts.py:745 msgid "Tenor recorder" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:743 +#: ../python/frescobaldi_app/scorewiz/parts.py:746 msgid "Tenor recorder|T.rec." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:748 +#: ../python/frescobaldi_app/scorewiz/parts.py:751 msgid "Bass recorder" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:749 +#: ../python/frescobaldi_app/scorewiz/parts.py:752 msgid "Bass recorder|B.rec." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:756 +#: ../python/frescobaldi_app/scorewiz/parts.py:759 msgid "Horn in F" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:757 +#: ../python/frescobaldi_app/scorewiz/parts.py:760 msgid "Horn in F|Hn.F." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:763 +#: ../python/frescobaldi_app/scorewiz/parts.py:766 msgid "Trumpet in C" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:764 +#: ../python/frescobaldi_app/scorewiz/parts.py:767 msgid "Trumpet in C|Tr.C" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:769 +#: ../python/frescobaldi_app/scorewiz/parts.py:772 msgid "Trumpet in Bb" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:770 +#: ../python/frescobaldi_app/scorewiz/parts.py:773 msgid "Trumpet in Bb|Tr.Bb" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:775 +#: ../python/frescobaldi_app/scorewiz/parts.py:778 msgid "Trombone" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:776 +#: ../python/frescobaldi_app/scorewiz/parts.py:779 msgid "Trombone|Trb." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:783 +#: ../python/frescobaldi_app/scorewiz/parts.py:786 msgid "Tuba" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:784 +#: ../python/frescobaldi_app/scorewiz/parts.py:787 msgid "Tuba|Tb." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:790 +#: ../python/frescobaldi_app/scorewiz/parts.py:793 msgid "Bass Tuba" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:791 +#: ../python/frescobaldi_app/scorewiz/parts.py:794 msgid "Bass Tuba|B.Tb." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:799 +#: ../python/frescobaldi_app/scorewiz/parts.py:802 msgid "Soprano" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:800 +#: ../python/frescobaldi_app/scorewiz/parts.py:803 msgid "Soprano|S." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:804 +#: ../python/frescobaldi_app/scorewiz/parts.py:807 msgid "Mezzo soprano" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:805 +#: ../python/frescobaldi_app/scorewiz/parts.py:808 msgid "Mezzo-soprano|Ms." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:810 +#: ../python/frescobaldi_app/scorewiz/parts.py:813 msgid "Alto|A." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:816 +#: ../python/frescobaldi_app/scorewiz/parts.py:819 msgid "Tenor|T." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:823 +#: ../python/frescobaldi_app/scorewiz/parts.py:826 msgid "Bass|B." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:829 +#: ../python/frescobaldi_app/scorewiz/parts.py:832 msgid "Lead sheet" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:891 +#: ../python/frescobaldi_app/scorewiz/parts.py:894 msgid "" "The Lead Sheet provides a staff with chord names above and lyrics below it. " "A second staff is optional." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:902 +#: ../python/frescobaldi_app/scorewiz/parts.py:905 msgid "Add accompaniment staff" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:904 +#: ../python/frescobaldi_app/scorewiz/parts.py:907 msgid "" "Adds an accompaniment staff and also puts an accompaniment voice in the " "upper staff." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:911 +#: ../python/frescobaldi_app/scorewiz/parts.py:914 msgid "Choir" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:915 +#: ../python/frescobaldi_app/scorewiz/parts.py:918 msgid "" "Please select the voices for the choir. Use the letters S, A, T, or B. A " "hyphen denotes a new staff." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:917 +#: ../python/frescobaldi_app/scorewiz/parts.py:920 msgid "Hint: For a double choir you can use two choir parts." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:922 +#: ../python/frescobaldi_app/scorewiz/parts.py:925 msgid "Voicing:" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:936 -msgid "Lyrics" +#: ../python/frescobaldi_app/scorewiz/parts.py:942 +msgid "Lyrics:" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:940 +#: ../python/frescobaldi_app/scorewiz/parts.py:946 msgid "All voices same lyrics" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:943 -msgid "One set of the same lyrics is placed between all staves." +#: ../python/frescobaldi_app/scorewiz/parts.py:947 +msgid "A set of the same lyrics is placed between all staves." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:945 +#: ../python/frescobaldi_app/scorewiz/parts.py:948 msgid "Every voice same lyrics" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:947 +#: ../python/frescobaldi_app/scorewiz/parts.py:949 msgid "" "Every voice gets its own lyrics, using the same text as the other voices." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:950 +#: ../python/frescobaldi_app/scorewiz/parts.py:951 msgid "Every voice different lyrics" msgstr "" @@ -2700,186 +2839,208 @@ msgid "Every voice gets a different set of lyrics." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:956 +#: ../python/frescobaldi_app/scorewiz/parts.py:953 +msgid "Distribute stanzas" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:954 +msgid "One set of stanzas is distributed across the staves." +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:959 msgid "Piano reduction" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:958 +#: ../python/frescobaldi_app/scorewiz/parts.py:961 msgid "Adds an automatically generated piano reduction." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:983 +#: ../python/frescobaldi_app/scorewiz/parts.py:963 +msgid "Rehearsal MIDI files" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:965 +msgid "" +"Creates a rehearsal MIDI file for every voice, even if no MIDI output is " +"generated for the main score." +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:1017 msgid "Choir|Ch." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1199 +#: ../python/frescobaldi_app/scorewiz/parts.py:1262 +msgid "Rehearsal MIDI files:" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:1309 msgid "Piano" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1200 +#: ../python/frescobaldi_app/scorewiz/parts.py:1310 msgid "Piano|Pno." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1205 +#: ../python/frescobaldi_app/scorewiz/parts.py:1315 msgid "Harpsichord" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1206 +#: ../python/frescobaldi_app/scorewiz/parts.py:1316 msgid "Harpsichord|Hs." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1211 +#: ../python/frescobaldi_app/scorewiz/parts.py:1321 msgid "Clavichord" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1212 +#: ../python/frescobaldi_app/scorewiz/parts.py:1322 msgid "Clavichord|Clv." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1217 +#: ../python/frescobaldi_app/scorewiz/parts.py:1327 msgid "Organ" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1218 +#: ../python/frescobaldi_app/scorewiz/parts.py:1328 msgid "Organ|Org." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1223 +#: ../python/frescobaldi_app/scorewiz/parts.py:1333 msgid "Pedal:" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1224 +#: ../python/frescobaldi_app/scorewiz/parts.py:1334 msgid "Set to 0 to disable the pedal altogether." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1234 +#: ../python/frescobaldi_app/scorewiz/parts.py:1344 msgid "Celesta" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1235 +#: ../python/frescobaldi_app/scorewiz/parts.py:1345 msgid "Celesta|Cel." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1240 +#: ../python/frescobaldi_app/scorewiz/parts.py:1350 msgid "Timpani" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1241 +#: ../python/frescobaldi_app/scorewiz/parts.py:1351 msgid "Timpani|Tmp." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1248 +#: ../python/frescobaldi_app/scorewiz/parts.py:1358 msgid "Xylophone" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1249 +#: ../python/frescobaldi_app/scorewiz/parts.py:1359 msgid "Xylophone|Xyl." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1254 +#: ../python/frescobaldi_app/scorewiz/parts.py:1364 msgid "Marimba" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1255 +#: ../python/frescobaldi_app/scorewiz/parts.py:1365 msgid "Marimba|Mar." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1260 +#: ../python/frescobaldi_app/scorewiz/parts.py:1370 msgid "Vibraphone" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1261 +#: ../python/frescobaldi_app/scorewiz/parts.py:1371 msgid "Vibraphone|Vib." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1266 +#: ../python/frescobaldi_app/scorewiz/parts.py:1376 msgid "Tubular bells" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1267 +#: ../python/frescobaldi_app/scorewiz/parts.py:1377 msgid "Tubular bells|Tub." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1272 +#: ../python/frescobaldi_app/scorewiz/parts.py:1382 msgid "Glockenspiel" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1273 +#: ../python/frescobaldi_app/scorewiz/parts.py:1383 msgid "Glockenspiel|Gls." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1278 +#: ../python/frescobaldi_app/scorewiz/parts.py:1388 msgid "Drums" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1279 +#: ../python/frescobaldi_app/scorewiz/parts.py:1389 msgid "Drums|Dr." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1289 +#: ../python/frescobaldi_app/scorewiz/parts.py:1399 msgid "Drums follow here." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1315 +#: ../python/frescobaldi_app/scorewiz/parts.py:1424 msgid "keep some distance." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1322 +#: ../python/frescobaldi_app/scorewiz/parts.py:1432 msgid "Style:" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1326 +#: ../python/frescobaldi_app/scorewiz/parts.py:1436 msgid "Drums (5 lines, default)" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1327 +#: ../python/frescobaldi_app/scorewiz/parts.py:1437 msgid "Timbales-style (2 lines)" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1328 +#: ../python/frescobaldi_app/scorewiz/parts.py:1438 msgid "Congas-style (2 lines)" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1329 +#: ../python/frescobaldi_app/scorewiz/parts.py:1439 msgid "Bongos-style (2 lines)" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1330 +#: ../python/frescobaldi_app/scorewiz/parts.py:1440 msgid "Percussion-style (1 line)" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1331 +#: ../python/frescobaldi_app/scorewiz/parts.py:1441 msgid "Remove stems" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1332 +#: ../python/frescobaldi_app/scorewiz/parts.py:1442 msgid "Remove the stems from the drum notes." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1341 +#: ../python/frescobaldi_app/scorewiz/parts.py:1451 msgid "Strings" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1348 +#: ../python/frescobaldi_app/scorewiz/parts.py:1458 msgid "Plucked strings" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1357 +#: ../python/frescobaldi_app/scorewiz/parts.py:1467 msgid "Woodwinds" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1378 +#: ../python/frescobaldi_app/scorewiz/parts.py:1488 msgid "Brass" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1386 +#: ../python/frescobaldi_app/scorewiz/parts.py:1496 msgid "Vocal" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1395 +#: ../python/frescobaldi_app/scorewiz/parts.py:1505 msgid "Keyboard instruments" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:1411 +#: ../python/frescobaldi_app/scorewiz/parts.py:1521 msgid "Special" msgstr "" Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/po/fr.mo and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/po/fr.mo differ diff -Nru frescobaldi-1.0.2/po/fr.po frescobaldi-1.1.1/po/fr.po --- frescobaldi-1.0.2/po/fr.po 2010-02-18 08:12:03.000000000 +0000 +++ frescobaldi-1.1.1/po/fr.po 2010-05-03 19:31:54.000000000 +0100 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: nl\n" "Report-Msgid-Bugs-To: info@frescobaldi.org\n" -"POT-Creation-Date: 2010-02-16 10:04+0100\n" +"POT-Creation-Date: 2010-05-03 20:28+0200\n" "PO-Revision-Date: 2009-12-06 09:56-0500\n" "Last-Translator: Ryan Kavanagh \n" "Language-Team: Français \n" @@ -20,53 +20,53 @@ "X-Generator: Lokalize 1.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../frescobaldi.py:32 dummy.py:16 +#: ../frescobaldi.py:37 dummy.py:16 msgid "Frescobaldi" msgstr "Frescobaldi" -#: ../frescobaldi.py:34 dummy.py:17 +#: ../frescobaldi.py:39 dummy.py:17 msgid "LilyPond Music Editor" msgstr "Éditeur de musique LilyPond" -#: ../frescobaldi.py:36 +#: ../frescobaldi.py:41 msgid "Copyright (c) 2008-2010, Wilbert Berendsen" msgstr "" -#: ../frescobaldi.py:45 +#: ../frescobaldi.py:50 msgctxt "NAME OF TRANSLATORS" msgid "Your name" msgstr "Valentin Villenave,David Bouriaud,Ryan Kavanagh" -#: ../frescobaldi.py:46 +#: ../frescobaldi.py:51 msgctxt "EMAIL OF TRANSLATORS" msgid "i18n@frescobaldi.org" msgstr "v.villenave@gmail.com,david.bouriaud@ac-rouen.fr,ryanakca@kubuntu.org" -#: ../frescobaldi.py:52 +#: ../frescobaldi.py:57 msgid "Session to start" msgstr "Session à démarrer" -#: ../frescobaldi.py:53 +#: ../frescobaldi.py:58 msgid "Start a new instance" msgstr "Démarrer une nouvelle instance" -#: ../frescobaldi.py:54 +#: ../frescobaldi.py:59 msgid "Encoding to use" msgstr "Encodage à utiliser" -#: ../frescobaldi.py:55 +#: ../frescobaldi.py:60 msgid "Line number to go to, starting at 1" msgstr "Numéro de ligne vers laquelle aller, en commençant à 1" -#: ../frescobaldi.py:56 +#: ../frescobaldi.py:61 msgid "Column to go to, starting at 0" msgstr "Colonne vers laquelle aller, en commençant à 0" -#: ../frescobaldi.py:57 +#: ../frescobaldi.py:62 msgid "Try to use smart line and column numbers" msgstr "Essayer de numéroter les lignes et colonnes intelligement" -#: ../frescobaldi.py:58 +#: ../frescobaldi.py:63 msgid "LilyPond files to open, may also be textedit URLs" msgstr "Fichier Lilypond à ouvrir, peut être aussi une URL testedit" @@ -106,344 +106,353 @@ msgid "&Extra Tools" msgstr "&Outils supplémentaires" -#: ../python/ly/__init__.py:94 +#: ../python/ly/__init__.py:81 msgid "Dedication" msgstr "Dédicace" -#: ../python/ly/__init__.py:95 +#: ../python/ly/__init__.py:82 msgid "Title" msgstr "Titre" -#: ../python/ly/__init__.py:96 +#: ../python/ly/__init__.py:83 msgid "Subtitle" msgstr "Sous-titre" -#: ../python/ly/__init__.py:97 +#: ../python/ly/__init__.py:84 msgid "Subsubtitle" msgstr "Sous-sous-titre" -#: ../python/ly/__init__.py:98 +#: ../python/ly/__init__.py:85 msgid "Instrument" msgstr "Instrument" -#: ../python/ly/__init__.py:99 +#: ../python/ly/__init__.py:86 msgid "Composer" msgstr "Compositeur" -#: ../python/ly/__init__.py:100 +#: ../python/ly/__init__.py:87 msgid "Arranger" msgstr "Arrangeur" -#: ../python/ly/__init__.py:101 +#: ../python/ly/__init__.py:88 msgid "Poet" msgstr "Parolier" -#: ../python/ly/__init__.py:102 +#: ../python/ly/__init__.py:89 msgid "Meter" msgstr "Mètre" -#: ../python/ly/__init__.py:103 +#: ../python/ly/__init__.py:90 msgid "Piece" msgstr "Pièce" -#: ../python/ly/__init__.py:104 +#: ../python/ly/__init__.py:91 msgid "Opus" msgstr "Opus" -#: ../python/ly/__init__.py:105 +#: ../python/ly/__init__.py:92 msgid "Copyright" msgstr "Copyright" -#: ../python/ly/__init__.py:106 +#: ../python/ly/__init__.py:93 msgid "Tagline" msgstr "Pied de page (dernière page)" -#: ../python/ly/__init__.py:114 +#: ../python/ly/__init__.py:101 msgid "Major" msgstr "majeur" -#: ../python/ly/__init__.py:115 +#: ../python/ly/__init__.py:102 msgid "Minor" msgstr "mineur" -#: ../python/ly/__init__.py:116 +#: ../python/ly/__init__.py:103 msgid "Ionian" msgstr "ionien" -#: ../python/ly/__init__.py:117 +#: ../python/ly/__init__.py:104 msgid "Dorian" msgstr "dorien" -#: ../python/ly/__init__.py:118 +#: ../python/ly/__init__.py:105 msgid "Phrygian" msgstr "phrygien" -#: ../python/ly/__init__.py:119 +#: ../python/ly/__init__.py:106 msgid "Lydian" msgstr "lydien" -#: ../python/ly/__init__.py:120 +#: ../python/ly/__init__.py:107 msgid "Mixolydian" msgstr "mixolydien" -#: ../python/ly/__init__.py:121 +#: ../python/ly/__init__.py:108 msgid "Aeolian" msgstr "éolien" -#: ../python/ly/__init__.py:122 +#: ../python/ly/__init__.py:109 msgid "Locrian" msgstr "locrien" -#: ../python/ly/articulation.py:33 +#: ../python/ly/articulation.py:35 msgid "Articulation" msgstr "Articulation" -#: ../python/ly/articulation.py:34 +#: ../python/ly/articulation.py:36 msgid "Accent" msgstr "Accent" -#: ../python/ly/articulation.py:35 +#: ../python/ly/articulation.py:37 msgid "Marcato" msgstr "Marcato" -#: ../python/ly/articulation.py:36 +#: ../python/ly/articulation.py:38 msgid "Staccatissimo" msgstr "Staccatissimo" -#: ../python/ly/articulation.py:37 +#: ../python/ly/articulation.py:39 msgid "Staccato" msgstr "Staccato" -#: ../python/ly/articulation.py:38 +#: ../python/ly/articulation.py:40 msgid "Portato" msgstr "Portato" -#: ../python/ly/articulation.py:39 +#: ../python/ly/articulation.py:41 msgid "Tenuto" msgstr "Tenuto" -#: ../python/ly/articulation.py:40 +#: ../python/ly/articulation.py:42 msgid "Espressivo" msgstr "Espressivo" -#: ../python/ly/articulation.py:42 +#: ../python/ly/articulation.py:44 msgid "Ornaments" msgstr "Ornements" -#: ../python/ly/articulation.py:43 +#: ../python/ly/articulation.py:45 msgid "Trill" msgstr "Trille" -#: ../python/ly/articulation.py:44 +#: ../python/ly/articulation.py:46 msgid "Prall" msgstr "Mordant" -#: ../python/ly/articulation.py:45 +#: ../python/ly/articulation.py:47 msgid "Mordent" msgstr "Mordant barré" -#: ../python/ly/articulation.py:46 +#: ../python/ly/articulation.py:48 msgid "Turn" msgstr "Grupetto" -#: ../python/ly/articulation.py:47 +#: ../python/ly/articulation.py:49 msgid "Prall prall" msgstr "Double Mordant" -#: ../python/ly/articulation.py:48 +#: ../python/ly/articulation.py:50 msgid "Prall mordent" msgstr "Mordant puis mordant barré" -#: ../python/ly/articulation.py:49 +#: ../python/ly/articulation.py:51 msgid "Up prall" msgstr "Mordant amorcé par le haut" -#: ../python/ly/articulation.py:50 +#: ../python/ly/articulation.py:52 msgid "Down prall" msgstr "Mordant amorcé par le bas" -#: ../python/ly/articulation.py:51 +#: ../python/ly/articulation.py:53 msgid "Up mordent" msgstr "Mordant barré montant" -#: ../python/ly/articulation.py:52 +#: ../python/ly/articulation.py:54 msgid "Down mordent" msgstr "Mordant barré descendant" -#: ../python/ly/articulation.py:53 +#: ../python/ly/articulation.py:55 msgid "Prall up" msgstr "Mordant montant" -#: ../python/ly/articulation.py:54 +#: ../python/ly/articulation.py:56 msgid "Prall down" msgstr "Mordant descendant" -#: ../python/ly/articulation.py:55 +#: ../python/ly/articulation.py:57 msgid "Line prall" msgstr "Mordant en ligne" -#: ../python/ly/articulation.py:56 +#: ../python/ly/articulation.py:58 msgid "Reverse turn" msgstr "Grupetto inversé" -#: ../python/ly/articulation.py:58 +#: ../python/ly/articulation.py:60 msgid "Signs" msgstr "Symboles" -#: ../python/ly/articulation.py:59 +#: ../python/ly/articulation.py:61 msgid "Fermata" msgstr "Point d'orgue" -#: ../python/ly/articulation.py:60 +#: ../python/ly/articulation.py:62 msgid "Short fermata" msgstr "Point d'orgue court" -#: ../python/ly/articulation.py:61 +#: ../python/ly/articulation.py:63 msgid "Long fermata" msgstr "Point d'arrêt" -#: ../python/ly/articulation.py:62 +#: ../python/ly/articulation.py:64 msgid "Very long fermata" msgstr "Point d'arrêt long" -#: ../python/ly/articulation.py:63 +#: ../python/ly/articulation.py:65 msgid "Segno" msgstr "Signe" -#: ../python/ly/articulation.py:64 +#: ../python/ly/articulation.py:66 msgid "Coda" msgstr "Coda" -#: ../python/ly/articulation.py:65 +#: ../python/ly/articulation.py:67 msgid "Varcoda" msgstr "Coda alternative" -#: ../python/ly/articulation.py:66 +#: ../python/ly/articulation.py:68 msgid "Signumcongruentiae" msgstr "Signumcongruentiae" -#: ../python/ly/articulation.py:68 +#: ../python/ly/articulation.py:70 msgid "Other" msgstr "Autre" -#: ../python/ly/articulation.py:69 +#: ../python/ly/articulation.py:71 msgid "Upbow" msgstr "Tiré" -#: ../python/ly/articulation.py:70 +#: ../python/ly/articulation.py:72 msgid "Downbow" msgstr "Poussé" -#: ../python/ly/articulation.py:71 +#: ../python/ly/articulation.py:73 +msgid "Snappizzicato" +msgstr "" + +#: ../python/ly/articulation.py:74 msgid "Open (e.g. brass)" msgstr "Ouvert (cuivres)" -#: ../python/ly/articulation.py:72 +#: ../python/ly/articulation.py:75 msgid "Stopped (e.g. brass)" msgstr "Bouché (cuivres)" -#: ../python/ly/articulation.py:73 +#: ../python/ly/articulation.py:76 msgid "Flageolet" msgstr "Flageolet" -#: ../python/ly/articulation.py:74 +#: ../python/ly/articulation.py:77 msgid "Thumb" msgstr "Pouce" -#: ../python/ly/articulation.py:75 +#: ../python/ly/articulation.py:78 msgid "Left heel" msgstr "Talon gauche" -#: ../python/ly/articulation.py:76 +#: ../python/ly/articulation.py:79 msgid "Right heel" msgstr "Talon droit" -#: ../python/ly/articulation.py:77 +#: ../python/ly/articulation.py:80 msgid "Left toe" msgstr "Pointe gauche" -#: ../python/ly/articulation.py:78 +#: ../python/ly/articulation.py:81 msgid "Right toe" msgstr "Pointe droite" -#: ../python/kateshell/exception.py:42 +#: ../python/ly/articulation.py:82 +#, fuzzy +msgid "Half open (e.g. hi-hat)" +msgstr "Ouvert (cuivres)" + +#: ../python/kateshell/exception.py:43 msgid "An internal error has occurred:" msgstr "Une erreur interne est survenue:" -#: ../python/kateshell/exception.py:45 +#: ../python/kateshell/exception.py:46 msgid "Internal Error" msgstr "Erreur interne" -#: ../python/kateshell/exception.py:51 +#: ../python/kateshell/exception.py:52 msgid "Email Bug Report..." msgstr "Envoyer par courriel un rapport de bogue..." -#: ../python/kateshell/exception.py:64 +#: ../python/kateshell/exception.py:65 msgid "Optionally describe what you were doing below:" msgstr "(Facultatif) Décrivez ce que vous faisiez ci-dessous:" -#: ../python/kateshell/mainwindow.py:91 +#: ../python/kateshell/mainwindow.py:94 msgid "Left Sidebar" msgstr "Barre de gauche" -#: ../python/kateshell/mainwindow.py:95 +#: ../python/kateshell/mainwindow.py:98 msgid "Right Sidebar" msgstr "Barre de droite" -#: ../python/kateshell/mainwindow.py:107 +#: ../python/kateshell/mainwindow.py:110 msgid "Top Sidebar" msgstr "Barre du haut" -#: ../python/kateshell/mainwindow.py:120 +#: ../python/kateshell/mainwindow.py:123 msgid "Bottom Sidebar" msgstr "Barre du bas" -#: ../python/kateshell/mainwindow.py:165 +#: ../python/kateshell/mainwindow.py:168 msgid "Show Path" msgstr "Voir les chemins" -#: ../python/kateshell/mainwindow.py:168 +#: ../python/kateshell/mainwindow.py:171 msgid "Show Document Tabs" msgstr "Voir les obglets des documents" -#: ../python/kateshell/mainwindow.py:186 +#: ../python/kateshell/mainwindow.py:188 msgid "&Tool Views" msgstr "Voir les ou&tils" -#: ../python/kateshell/mainwindow.py:277 +#: ../python/kateshell/mainwindow.py:278 msgid "Please select some text first." msgstr "Sélectionnez d'abord du texte." -#: ../python/kateshell/mainwindow.py:327 +#: ../python/kateshell/mainwindow.py:328 msgid "modified" msgstr "modifié" -#: ../python/kateshell/mainwindow.py:337 +#: ../python/kateshell/mainwindow.py:338 msgid "Line: %1 Col: %2" msgstr "Ligne: %1 Col: %2" -#: ../python/kateshell/mainwindow.py:346 +#: ../python/kateshell/mainwindow.py:347 msgid "BLOCK" msgstr "BLOC" -#: ../python/kateshell/mainwindow.py:346 +#: ../python/kateshell/mainwindow.py:347 msgid "Block selection mode" msgstr "Mode sélection de blocs" -#: ../python/kateshell/mainwindow.py:348 +#: ../python/kateshell/mainwindow.py:349 msgid "LINE" msgstr "LIGNE" -#: ../python/kateshell/mainwindow.py:348 +#: ../python/kateshell/mainwindow.py:349 msgid "Line selection mode" msgstr "Mode sélection de ligne" -#: ../python/kateshell/mainwindow.py:386 -#: ../python/frescobaldi_app/blankpaper.py:335 +#: ../python/kateshell/mainwindow.py:393 +#: ../python/frescobaldi_app/blankpaper.py:331 msgid "All Files" msgstr "Tous les fichiers" -#: ../python/kateshell/mainwindow.py:387 +#: ../python/kateshell/mainwindow.py:394 msgid "Open File" msgstr "Ouvrir Fichier" @@ -451,7 +460,7 @@ msgid "Right-click for tab options" msgstr "Clic droit pour options d'onglet" -#: ../python/kateshell/mainwindow.py:870 +#: ../python/kateshell/mainwindow.py:871 msgid "Move To" msgstr "Aller à" @@ -467,7 +476,7 @@ msgid "Please install %1" msgstr "SVP installer %1" -#: ../python/frescobaldi_app/actions.py:55 +#: ../python/frescobaldi_app/actions.py:56 msgid "Open %1 in external viewer" msgstr "Ouvrir %1 dans le visualiseur externe" @@ -475,44 +484,44 @@ msgid "Print %1" msgstr "Imprimer %1" -#: ../python/frescobaldi_app/actions.py:66 +#: ../python/frescobaldi_app/actions.py:65 msgid "Play %1" msgstr "Jouer %1" -#: ../python/frescobaldi_app/actions.py:95 +#: ../python/frescobaldi_app/actions.py:91 msgid "Open PDF" msgstr "Ouvrir PDF" -#: ../python/frescobaldi_app/actions.py:96 +#: ../python/frescobaldi_app/actions.py:92 msgid "Print" msgstr "Imprimer" -#: ../python/frescobaldi_app/actions.py:98 +#: ../python/frescobaldi_app/actions.py:94 msgid "Play MIDI" msgstr "Jouer MIDI" -#: ../python/frescobaldi_app/actions.py:101 -#: ../python/frescobaldi_app/mainapp.py:712 +#: ../python/frescobaldi_app/actions.py:97 +#: ../python/frescobaldi_app/mainapp.py:726 msgid "Email..." msgstr "Courriel..." -#: ../python/frescobaldi_app/actions.py:154 +#: ../python/frescobaldi_app/actions.py:149 msgid "There are no files to send via email." msgstr "Il n'y a pas de fichiers à envoyer par email." -#: ../python/frescobaldi_app/actions.py:155 +#: ../python/frescobaldi_app/actions.py:150 msgid "No files to send" msgstr "Pas de fichier à envoyer" -#: ../python/frescobaldi_app/actions.py:163 +#: ../python/frescobaldi_app/actions.py:158 msgid "Email documents" msgstr "Envoyer les documents par mail" -#: ../python/frescobaldi_app/actions.py:167 +#: ../python/frescobaldi_app/actions.py:162 msgid "Please select the files you want to send:" msgstr "Veuillez choisir les fichiers que vous désirez envoyer:" -#: ../python/frescobaldi_app/actions.py:172 +#: ../python/frescobaldi_app/actions.py:166 msgid "" "These are the files that are up-to-date (i.e. newer than the LilyPond source " "document). Also LilyPond files included by the source document are shown." @@ -520,7 +529,7 @@ "Ces fichiers sont les fichiers à jours (i.e. plus récents que les sources " "Lilypond).Les fichiers Lilypond inclus par le document source sont affichés." -#: ../python/frescobaldi_app/actions.py:182 +#: ../python/frescobaldi_app/actions.py:176 msgid "" "Note: this PDF file has been created with embedded point-and-click URLs " "(preview mode), which increases the file size dramatically. Please consider " @@ -541,15 +550,15 @@ "des documents sans \"point-and-click\" (mode publication), bien plus légers. " "Voulez-vous poursuivre ?" -#: ../python/frescobaldi_app/actions.py:283 +#: ../python/frescobaldi_app/actions.py:273 msgid "Printing failed: %1" msgstr "L'impression a échoué: %1" -#: ../python/frescobaldi_app/actions.py:286 +#: ../python/frescobaldi_app/actions.py:276 msgid "The document has been sent to the printer." msgstr "Le document a été envoyé à l'imprimante." -#: ../python/frescobaldi_app/actions.py:289 +#: ../python/frescobaldi_app/actions.py:279 msgid "" "Printing failed: %1\n" "\n" @@ -559,178 +568,162 @@ "\n" "La commande d'impression %2 n'existe probablement pas. Vérifier vos réglages." -#: ../python/frescobaldi_app/actions.py:294 +#: ../python/frescobaldi_app/actions.py:284 msgid "The print command contains errors. Please check your settings." msgstr "La commande d'impression contient des erreurs. Vérifier vos réglages." -#: ../python/frescobaldi_app/blankpaper.py:55 -#: ../python/frescobaldi_app/mainapp.py:738 +#: ../python/frescobaldi_app/blankpaper.py:56 +#: ../python/frescobaldi_app/mainapp.py:753 msgid "Create blank staff paper" msgstr "Créer du papier à musique vierge" -#: ../python/frescobaldi_app/blankpaper.py:69 +#: ../python/frescobaldi_app/blankpaper.py:70 msgid "Type:" msgstr "Type:" -#: ../python/frescobaldi_app/blankpaper.py:72 +#: ../python/frescobaldi_app/blankpaper.py:73 msgid "Action:" msgstr "Action:" -#: ../python/frescobaldi_app/blankpaper.py:78 +#: ../python/frescobaldi_app/blankpaper.py:79 msgid "Choose what kind of empty staves you want to create." msgstr "Choisir la sorte de portée que vous désirez créer." -#: ../python/frescobaldi_app/blankpaper.py:80 +#: ../python/frescobaldi_app/blankpaper.py:81 msgid "Choose which action happens when clicking \"Ok\"." msgstr "Choisir l'action exécuté lorsque vous cliquer \"Ok\"." -#: ../python/frescobaldi_app/blankpaper.py:82 +#: ../python/frescobaldi_app/blankpaper.py:83 msgid "Preview the empty staff paper." msgstr "Apercevoir le papier à musique vierge" -#: ../python/frescobaldi_app/blankpaper.py:84 +#: ../python/frescobaldi_app/blankpaper.py:85 msgid "Click to see more settings." msgstr "Cliquez pour afficher plus de paramètres" -#: ../python/frescobaldi_app/blankpaper.py:87 +#: ../python/frescobaldi_app/blankpaper.py:88 msgid "Paper" msgstr "Papier" -#: ../python/frescobaldi_app/blankpaper.py:89 +#: ../python/frescobaldi_app/blankpaper.py:90 msgid "Settings" msgstr "Paramètres" -#: ../python/frescobaldi_app/blankpaper.py:95 -#: ../python/frescobaldi_app/scorewiz/__init__.py:509 +#: ../python/frescobaldi_app/blankpaper.py:96 +#: ../python/frescobaldi_app/scorewiz/__init__.py:496 msgid "Paper size:" msgstr "Taille du papier:" -#: ../python/frescobaldi_app/blankpaper.py:99 -#: ../python/frescobaldi_app/scorewiz/__init__.py:448 -#: ../python/frescobaldi_app/scorewiz/__init__.py:513 -#: ../python/frescobaldi_app/scorewiz/__init__.py:547 -#: ../python/frescobaldi_app/scorewiz/parts.py:180 -#: ../python/frescobaldi_app/scorewiz/parts.py:436 +#: ../python/frescobaldi_app/blankpaper.py:100 +#: ../python/frescobaldi_app/scorewiz/__init__.py:441 +#: ../python/frescobaldi_app/scorewiz/__init__.py:500 +#: ../python/frescobaldi_app/scorewiz/__init__.py:532 +#: ../python/frescobaldi_app/scorewiz/parts.py:183 +#: ../python/frescobaldi_app/scorewiz/parts.py:439 msgid "Default" msgstr "Par défaut" -#: ../python/frescobaldi_app/blankpaper.py:103 +#: ../python/frescobaldi_app/blankpaper.py:104 msgid "Staff Size:" msgstr "Taille des portées:" -#: ../python/frescobaldi_app/blankpaper.py:110 +#: ../python/frescobaldi_app/blankpaper.py:111 msgid "Page count:" msgstr "Nombre de pages:" -#: ../python/frescobaldi_app/blankpaper.py:116 -#: ../python/frescobaldi_app/scorewiz/__init__.py:486 +#: ../python/frescobaldi_app/blankpaper.py:117 +#: ../python/frescobaldi_app/scorewiz/__init__.py:468 msgid "Remove default tagline" msgstr "Enlever le pied de page par défaut." -#: ../python/frescobaldi_app/blankpaper.py:121 +#: ../python/frescobaldi_app/blankpaper.py:122 msgid "Print Bar Lines" msgstr "Imprimer les barres de mesures" -#: ../python/frescobaldi_app/blankpaper.py:123 +#: ../python/frescobaldi_app/blankpaper.py:124 msgid "Bars per line:" msgstr "Mesures par ligne:" -#: ../python/frescobaldi_app/blankpaper.py:130 +#: ../python/frescobaldi_app/blankpaper.py:131 msgid "Print Page Numbers" msgstr "Imprimer les numéros de page" -#: ../python/frescobaldi_app/blankpaper.py:132 +#: ../python/frescobaldi_app/blankpaper.py:133 msgid "Start with:" msgstr "Commencer avec:" -#: ../python/frescobaldi_app/blankpaper.py:289 +#: ../python/frescobaldi_app/blankpaper.py:285 msgid "Blank staff paper preview" msgstr "Aperçu du papier à musique vierge" -#: ../python/frescobaldi_app/blankpaper.py:308 +#: ../python/frescobaldi_app/blankpaper.py:304 msgid "No PDF was created." msgstr "Un PDF n'a pas été crée" -#: ../python/frescobaldi_app/blankpaper.py:319 +#: ../python/frescobaldi_app/blankpaper.py:315 msgid "Open in PDF viewer" msgstr "Ouvrir dans l'afficheur PDF externe" -#: ../python/frescobaldi_app/blankpaper.py:328 +#: ../python/frescobaldi_app/blankpaper.py:324 msgid "Save PDF As..." msgstr "Enregistrer le PDF sous..." -#: ../python/frescobaldi_app/blankpaper.py:335 +#: ../python/frescobaldi_app/blankpaper.py:331 msgid "PDF Files" msgstr "Fichiers PDF" -#: ../python/frescobaldi_app/blankpaper.py:337 +#: ../python/frescobaldi_app/blankpaper.py:333 msgid "Save PDF" msgstr "Enregistrer le PDF" -#: ../python/frescobaldi_app/blankpaper.py:355 -#: ../python/frescobaldi_app/runlily.py:375 -msgid "" -"A file named \"%1\" already exists. Are you sure you want to overwrite it?" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:358 -#: ../python/frescobaldi_app/runlily.py:378 -msgid "Overwrite File?" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:358 -#: ../python/frescobaldi_app/runlily.py:378 -msgid "&Overwrite" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:380 +#: ../python/frescobaldi_app/blankpaper.py:357 msgid "Directly print on default printer" msgstr "Imprimer directement sur le papier en défaut" -#: ../python/frescobaldi_app/blankpaper.py:389 +#: ../python/frescobaldi_app/blankpaper.py:366 msgid "Copy LilyPond code to editor" msgstr "Copier le code LilyPond à l'éditeur" -#: ../python/frescobaldi_app/blankpaper.py:488 +#: ../python/frescobaldi_app/blankpaper.py:465 msgid "Staves per page:" msgstr "Portées par page:" -#: ../python/frescobaldi_app/blankpaper.py:493 -#: ../python/frescobaldi_app/blankpaper.py:828 +#: ../python/frescobaldi_app/blankpaper.py:470 +#: ../python/frescobaldi_app/blankpaper.py:803 msgid "Clef:" msgstr "Clef:" -#: ../python/frescobaldi_app/blankpaper.py:499 +#: ../python/frescobaldi_app/blankpaper.py:476 msgid "Single Staff" msgstr "Portée seule" -#: ../python/frescobaldi_app/blankpaper.py:519 -#: ../python/frescobaldi_app/blankpaper.py:575 -#: ../python/frescobaldi_app/blankpaper.py:671 +#: ../python/frescobaldi_app/blankpaper.py:496 +#: ../python/frescobaldi_app/blankpaper.py:552 +#: ../python/frescobaldi_app/blankpaper.py:647 msgid "Systems per page:" msgstr "Systèmes par page:" -#: ../python/frescobaldi_app/blankpaper.py:523 +#: ../python/frescobaldi_app/blankpaper.py:500 msgid "Clefs" msgstr "Clefs" -#: ../python/frescobaldi_app/blankpaper.py:527 +#: ../python/frescobaldi_app/blankpaper.py:504 msgid "Piano Staff" msgstr "Portée pour piano" -#: ../python/frescobaldi_app/blankpaper.py:547 +#: ../python/frescobaldi_app/blankpaper.py:524 msgid "Organ Staff" msgstr "Portée pour orgue" -#: ../python/frescobaldi_app/blankpaper.py:571 +#: ../python/frescobaldi_app/blankpaper.py:548 msgid "Staves per system:" msgstr "Portées par système:" -#: ../python/frescobaldi_app/blankpaper.py:582 +#: ../python/frescobaldi_app/blankpaper.py:559 msgid "Clefs:" msgstr "Clefs:" -#: ../python/frescobaldi_app/blankpaper.py:589 +#: ../python/frescobaldi_app/blankpaper.py:566 msgid "" "Enter as many letters (S, A, T or B) as there are staves.\n" "See \"What's This\" for more information." @@ -738,7 +731,7 @@ "Entrez autant de lettres (S, A, T ou B) qu'il y a de portées.\n" "Voir \"Qu'est-ce que c'est ?\" pour plus de détails." -#: ../python/frescobaldi_app/blankpaper.py:592 +#: ../python/frescobaldi_app/blankpaper.py:569 msgid "" "To configure clefs, first set the number of staves per system. Then enter as " "many letters (S, A, T or B) as there are staves.\n" @@ -762,49 +755,55 @@ "quatre parties pour une chorale, entrez en premier le nombre de portées par " "système à 4. Ensuite, entrez \"SATB\" (sans les guillemets) ici." -#: ../python/frescobaldi_app/blankpaper.py:606 +#: ../python/frescobaldi_app/blankpaper.py:582 msgid "Choir Staff" msgstr "Portée pour chœur" -#: ../python/frescobaldi_app/blankpaper.py:613 -#: ../python/frescobaldi_app/scorewiz/__init__.py:395 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/blankpaper.py:589 +#: ../python/frescobaldi_app/lqi.py:159 +#: ../python/frescobaldi_app/scorewiz/__init__.py:388 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "None" msgstr "Aucun" -#: ../python/frescobaldi_app/blankpaper.py:759 +#: ../python/frescobaldi_app/blankpaper.py:734 msgid "Custom Staff" msgstr "Portée personnalisée" -#: ../python/frescobaldi_app/blankpaper.py:818 +#: ../python/frescobaldi_app/blankpaper.py:793 msgid "Staff" msgstr "Portée" -#: ../python/frescobaldi_app/blankpaper.py:841 -msgid "Space above:" -msgstr "Espace au-dessus:" - -#: ../python/frescobaldi_app/blankpaper.py:844 +#: ../python/frescobaldi_app/blankpaper.py:812 msgid "Space below:" msgstr "Espace en dessous:" -#: ../python/frescobaldi_app/blankpaper.py:879 +#: ../python/frescobaldi_app/blankpaper.py:852 msgid "Brace" msgstr "Accolade" -#: ../python/frescobaldi_app/blankpaper.py:904 +#: ../python/frescobaldi_app/blankpaper.py:877 msgid "Bracket" msgstr "Accolade" -#: ../python/frescobaldi_app/blankpaper.py:913 +#: ../python/frescobaldi_app/blankpaper.py:886 msgid "Square Bracket" msgstr "Accolade carrée" -#: ../python/frescobaldi_app/blankpaper.py:915 +#: ../python/frescobaldi_app/blankpaper.py:888 msgid "Connect bar lines" msgstr "Joindre les barres de mesures" -#: ../python/frescobaldi_app/document.py:66 +#: ../python/frescobaldi_app/charselect.py:41 +#: ../python/frescobaldi_app/mainapp.py:871 +msgid "Special Characters" +msgstr "" + +#: ../python/frescobaldi_app/charselect.py:85 +msgid "unknown" +msgstr "" + +#: ../python/frescobaldi_app/document.py:68 msgid "" "Can't perform the requested translation.\n" "\n" @@ -816,7 +815,7 @@ "La partition contient des altérations au quart de ton, mais celles-ci ne " "sont pas disponibles à la hauteur \"%1\"." -#: ../python/frescobaldi_app/document.py:81 +#: ../python/frescobaldi_app/document.py:82 msgid "" "The pitch language of the selected text has been updated, but you need to " "manually add the following command to your document:" @@ -824,32 +823,32 @@ "La hauteur du texte sélectionné a été mise à jour, mais vous devez ajouter " "manuellement la commande suivante à votre document :" -#: ../python/frescobaldi_app/document.py:84 -#: ../python/frescobaldi_app/mainapp.py:561 +#: ../python/frescobaldi_app/document.py:85 +#: ../python/frescobaldi_app/mainapp.py:572 msgid "Pitch Name Language" msgstr "Langue pour le nom des hauteurs" -#: ../python/frescobaldi_app/document.py:139 +#: ../python/frescobaldi_app/document.py:140 msgid "Please enter the name for the variable to assign the selected text to:" msgstr "" "Entrez le nom de la variable à laquelle vous souhaitez assigner le texte :" -#: ../python/frescobaldi_app/document.py:140 -#: ../python/frescobaldi_app/mainapp.py:455 +#: ../python/frescobaldi_app/document.py:141 +#: ../python/frescobaldi_app/mainapp.py:461 msgid "Cut and Assign" msgstr "Couper et assigner" -#: ../python/frescobaldi_app/document.py:452 +#: ../python/frescobaldi_app/document.py:451 msgid "Open %1" msgstr "Ouvrir %1" -#: ../python/frescobaldi_app/document.py:707 +#: ../python/frescobaldi_app/document.py:705 msgid "Please select a music expression, enclosed in << ... >> or { ... }." msgstr "" "S.V.P. sélectionner une expression musicale, entourée de << ... >> ou " "{ ... }." -#: ../python/frescobaldi_app/document.py:727 +#: ../python/frescobaldi_app/document.py:725 msgid "" "Could not understand the entered pitches.\n" "\n" @@ -859,7 +858,7 @@ "\n" "S.V.P. utiliser les noms des hauteurs dans la langue \"%1\"." -#: ../python/frescobaldi_app/document.py:735 +#: ../python/frescobaldi_app/document.py:733 msgid "" "Can't perform the requested transposition.\n" "\n" @@ -871,47 +870,47 @@ "La musique transposée contient des altérations au quart de ton, mais celles-" "ci ne sont pas disponibles dans la langue de hauteur \"%1\"." -#: ../python/frescobaldi_app/document.py:748 +#: ../python/frescobaldi_app/document.py:746 msgid "Transpose" msgstr "Transposer" -#: ../python/frescobaldi_app/document.py:755 +#: ../python/frescobaldi_app/document.py:753 msgid "Please enter a start pitch and a destination pitch:" msgstr "S.V.P. entrer la hauteur initiale et la hauteur visée:" -#: ../python/frescobaldi_app/document.py:759 +#: ../python/frescobaldi_app/document.py:757 msgid "Transpose from:" msgstr "Transposer à partir de:" -#: ../python/frescobaldi_app/document.py:763 +#: ../python/frescobaldi_app/document.py:761 msgid "to:" msgstr "vers:" -#: ../python/frescobaldi_app/expand.py:147 -#: ../python/frescobaldi_app/mainapp.py:786 +#: ../python/frescobaldi_app/expand.py:149 +#: ../python/frescobaldi_app/mainapp.py:870 msgid "Expansion Manager" msgstr "Gestionnaire d'expansion" -#: ../python/frescobaldi_app/expand.py:161 -#: ../python/frescobaldi_app/lilydoc.py:125 +#: ../python/frescobaldi_app/expand.py:163 +#: ../python/frescobaldi_app/lilydoc.py:127 msgid "Search..." msgstr "Chercher.." -#: ../python/frescobaldi_app/expand.py:170 -#: ../python/frescobaldi_app/rumor.py:507 +#: ../python/frescobaldi_app/expand.py:172 +#: ../python/frescobaldi_app/rumor.py:505 msgid "Name" msgstr "Nom" -#: ../python/frescobaldi_app/expand.py:170 -#: ../python/frescobaldi_app/rumor.py:507 +#: ../python/frescobaldi_app/expand.py:172 +#: ../python/frescobaldi_app/rumor.py:505 msgid "Description" msgstr "Description" -#: ../python/frescobaldi_app/expand.py:170 +#: ../python/frescobaldi_app/expand.py:172 msgid "Shortcut" msgstr "Raccourci" -#: ../python/frescobaldi_app/expand.py:193 +#: ../python/frescobaldi_app/expand.py:195 msgid "" "This is the list of defined expansions.\n" "\n" @@ -939,7 +938,7 @@ "d'expansion (raccourci par défaut Ctrl+.), choisir la fonction d'expansion " "dans la liste et presser entrée ou cliquer sur ok." -#: ../python/frescobaldi_app/expand.py:213 +#: ../python/frescobaldi_app/expand.py:214 msgid "" "This is the text associated with the selected shortcut. Some characters have " "special meaning:" @@ -947,19 +946,19 @@ "Ceci est le texte associé au raccourci sélectionné. Certains caractères ont " "une signification particulière :" -#: ../python/frescobaldi_app/expand.py:215 +#: ../python/frescobaldi_app/expand.py:216 msgid "Place the cursor on this spot." msgstr "Placez le curseur sur ce point." -#: ../python/frescobaldi_app/expand.py:216 +#: ../python/frescobaldi_app/expand.py:217 msgid "Translate the following pitch." msgstr "Traduire la hauteur suivante." -#: ../python/frescobaldi_app/expand.py:268 +#: ../python/frescobaldi_app/expand.py:265 msgid "New Item" msgstr "Nouvel élément" -#: ../python/frescobaldi_app/expand.py:348 +#: ../python/frescobaldi_app/expand.py:345 msgid "" "Another expansion already uses this name.\n" "\n" @@ -969,7 +968,7 @@ "\n" "Utilisez un autre nom." -#: ../python/frescobaldi_app/expand.py:354 +#: ../python/frescobaldi_app/expand.py:351 msgid "" "Please only use letters, numbers and the underscore character in the " "expansion name." @@ -977,52 +976,60 @@ "N'utilisez que des lettres, chiffres ou le caractère souligné dans le nom de " "l'expansion." -#: ../python/frescobaldi_app/expand.py:381 +#: ../python/frescobaldi_app/expand.py:376 msgid "Please don't leave the description empty." msgstr "Ne laissez pas la description vide." -#: ../python/frescobaldi_app/hyphen.py:123 -#: ../python/frescobaldi_app/mainapp.py:676 +#: ../python/frescobaldi_app/hyphen.py:119 +msgid "" +"Could not find any hyphenation dictionaries.\n" +"\n" +"Please install a package containing some and/or or configure the search path " +"to find them in the Frescobaldi settings under \"Paths.\"" +msgstr "" + +#: ../python/frescobaldi_app/hyphen.py:132 +#: ../python/frescobaldi_app/mainapp.py:686 msgid "Hyphenate Lyrics Text" msgstr "Séparer les syllabes des paroles" -#: ../python/frescobaldi_app/hyphen.py:127 +#: ../python/frescobaldi_app/hyphen.py:136 msgid "Please select a language:" msgstr "Choisissez une langue:" -#: ../python/frescobaldi_app/lilydoc.py:99 +#: ../python/frescobaldi_app/lilydoc.py:101 msgid "Home" msgstr "Racine" -#: ../python/frescobaldi_app/lilydoc.py:100 +#: ../python/frescobaldi_app/lilydoc.py:102 msgid "Larger text" msgstr "Agrandir le texte" -#: ../python/frescobaldi_app/lilydoc.py:101 +#: ../python/frescobaldi_app/lilydoc.py:103 msgid "Smaller text" msgstr "Rapetisser le texte" -#: ../python/frescobaldi_app/lilydoc.py:110 +#: ../python/frescobaldi_app/lilydoc.py:112 msgid "First Page" msgstr "Première page" -#: ../python/frescobaldi_app/lilydoc.py:111 +#: ../python/frescobaldi_app/lilydoc.py:113 msgid "Previous" msgstr "Précédent" -#: ../python/frescobaldi_app/lilydoc.py:112 +#: ../python/frescobaldi_app/lilydoc.py:114 msgid "Up one level" msgstr "Remonter d'un niveau" -#: ../python/frescobaldi_app/lilydoc.py:113 +#: ../python/frescobaldi_app/lilydoc.py:115 msgid "Next" msgstr "Prochain" -#: ../python/frescobaldi_app/lilydoc.py:114 +#: ../python/frescobaldi_app/lilydoc.py:116 msgid "Table of contents" msgstr "Table des matières" -#: ../python/frescobaldi_app/lilydoc.py:115 +#: ../python/frescobaldi_app/lilydoc.py:117 msgid "Index" msgstr "Index" @@ -1034,84 +1041,84 @@ msgid "Open Link in &New Window" msgstr "Ouvrir le lien dans une &nouvelle fenêtre" -#: ../python/frescobaldi_app/lilydoc.py:322 -#: ../python/frescobaldi_app/runlily.py:339 +#: ../python/frescobaldi_app/lilydoc.py:321 +#: ../python/frescobaldi_app/runlily.py:508 msgid "&Copy" msgstr "&Copier" -#: ../python/frescobaldi_app/lilydoc.py:325 +#: ../python/frescobaldi_app/lilydoc.py:324 msgid "Open Document in &New Window" msgstr "Ouvrir le document dans une &nouvelle fenêtre" -#: ../python/frescobaldi_app/lilydoc.py:677 +#: ../python/frescobaldi_app/lilydoc.py:675 msgid "Loading..." msgstr "Chargement..." -#: ../python/frescobaldi_app/lilydoc.py:684 +#: ../python/frescobaldi_app/lilydoc.py:682 msgid "Not available" msgstr "Pas disponible" -#: ../python/frescobaldi_app/lilydoc.py:732 +#: ../python/frescobaldi_app/lilydoc.py:734 msgid "Notation Reference" msgstr "Référence de notation" -#: ../python/frescobaldi_app/lilydoc.py:752 +#: ../python/frescobaldi_app/lilydoc.py:754 msgid "LilyPond Command Index" msgstr "Index de commandes LilyPond" -#: ../python/frescobaldi_app/lilydoc.py:772 +#: ../python/frescobaldi_app/lilydoc.py:780 msgid "Learning Manual" msgstr "Manuel d'apprentissage" -#: ../python/frescobaldi_app/lilydoc.py:792 +#: ../python/frescobaldi_app/lilydoc.py:800 msgid "Learning Manual Index" msgstr "Index du manuel d'apprentissage" -#: ../python/frescobaldi_app/lilydoc.py:808 +#: ../python/frescobaldi_app/lilydoc.py:816 msgid "LilyPond &Help" msgstr "&Aide LilyPond" -#: ../python/frescobaldi_app/lqi.py:62 +#: ../python/frescobaldi_app/lqi.py:82 msgid "Articulations" msgstr "Articulations" -#: ../python/frescobaldi_app/lqi.py:63 +#: ../python/frescobaldi_app/lqi.py:83 msgid "Different kinds of articulations and other signs." msgstr "Diverses sortes d'articulations et de symboles." -#: ../python/frescobaldi_app/lqi.py:70 +#: ../python/frescobaldi_app/lqi.py:90 msgid "Allow shorthands" msgstr "Autoriser les raccourcis" -#: ../python/frescobaldi_app/lqi.py:73 +#: ../python/frescobaldi_app/lqi.py:93 msgid "Use short notation for some articulations like staccato." msgstr "Utiliser la notation rapide pour les ponctuations." -#: ../python/frescobaldi_app/lqi.py:79 +#: ../python/frescobaldi_app/lqi.py:99 msgid "Direction:" msgstr "Direction:" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Up" msgstr "Haut" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Neutral" msgstr "Neutre" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Down" msgstr "Bas" -#: ../python/frescobaldi_app/lqi.py:85 +#: ../python/frescobaldi_app/lqi.py:105 msgid "The direction to use for the articulations." msgstr "Direction à utiliser pour les articulations." -#: ../python/frescobaldi_app/lqi.py:112 +#: ../python/frescobaldi_app/lqi.py:134 msgid "Click an articulation sign to add it to your document." msgstr "Cliquez sur une articulation pour l'ajouter dans votre document." -#: ../python/frescobaldi_app/lqi.py:113 +#: ../python/frescobaldi_app/lqi.py:135 msgid "" "If you select some music first, the articulation will be added to all notes " "in the selection." @@ -1119,88 +1126,95 @@ "Si vous sélectionnez d'abord un fragment, l'articulation sera ajoutée à " "toutesles notes de la sélection." -#: ../python/frescobaldi_app/mainapp.py:53 +#: ../python/frescobaldi_app/lqi.py:159 +msgid "Configure Keyboard Shortcut (%1)" +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:54 msgid "LilyPond files" msgstr "Fichiers LilyPond" -#: ../python/frescobaldi_app/mainapp.py:392 -#: ../python/frescobaldi_app/scorewiz/__init__.py:355 +#: ../python/frescobaldi_app/mainapp.py:424 +#: ../python/frescobaldi_app/settings.py:620 +#: ../python/frescobaldi_app/scorewiz/__init__.py:348 msgid "LilyPond" msgstr "LilyPond" -#: ../python/frescobaldi_app/mainapp.py:403 +#: ../python/frescobaldi_app/mainapp.py:435 msgid "Setup New Score..." msgstr "Commencer une nouvelle partition..." -#: ../python/frescobaldi_app/mainapp.py:408 +#: ../python/frescobaldi_app/mainapp.py:440 msgid "Run LilyPond (preview)" msgstr "Lancer LilyPond (aperçu)" -#: ../python/frescobaldi_app/mainapp.py:412 +#: ../python/frescobaldi_app/mainapp.py:444 msgid "Run LilyPond (publish)" msgstr "Lancer LilyPond (publication)" -#: ../python/frescobaldi_app/mainapp.py:418 -msgid "Can't process document" -msgstr "Impossible de traiter le document" - -#: ../python/frescobaldi_app/mainapp.py:421 -msgid "There is already a LilyPond job running for this document." -msgstr "Il y a déjà un processus Liypond en cours pour ce document." - -#: ../python/frescobaldi_app/mainapp.py:427 -msgid "Your document has been modified, please save first." -msgstr "Ce document a été modifié. Veuillez l'enregistrer." +#: ../python/frescobaldi_app/mainapp.py:448 +#, fuzzy +msgid "Run LilyPond (custom)..." +msgstr "Lancer LilyPond (publication)" -#: ../python/frescobaldi_app/mainapp.py:446 +#: ../python/frescobaldi_app/mainapp.py:452 msgid "Interrupt LilyPond Job" msgstr "Interrompre le processus Lilypond" -#: ../python/frescobaldi_app/mainapp.py:456 +#: ../python/frescobaldi_app/mainapp.py:462 msgid "Cut selection and assign it to a LilyPond variable." msgstr "Couper la sélection et lui assigner une variable LilyPond." -#: ../python/frescobaldi_app/mainapp.py:460 +#: ../python/frescobaldi_app/mainapp.py:466 msgid "Repeat last note or chord" msgstr "Répéter la dernière note ou accord." -#: ../python/frescobaldi_app/mainapp.py:461 +#: ../python/frescobaldi_app/mainapp.py:467 msgid "Repeat the last music expression (note or chord)." msgstr "Répéter la dernière expression musicale (notes ou accords)" -#: ../python/frescobaldi_app/mainapp.py:465 +#: ../python/frescobaldi_app/mainapp.py:471 msgid "Insert or Manage Expansions..." msgstr "Insérer ou gérer les expansions..." -#: ../python/frescobaldi_app/mainapp.py:466 +#: ../python/frescobaldi_app/mainapp.py:472 msgid "Expand last word or open the expansions dialog." msgstr "Développer le dernier mot ou ouvrir le dialogue des expansions." -#: ../python/frescobaldi_app/mainapp.py:471 +#: ../python/frescobaldi_app/mainapp.py:476 +msgid "Special Characters..." +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:477 +#, fuzzy +msgid "Insert special characters." +msgstr "Insérer une paire d'accolades" + +#: ../python/frescobaldi_app/mainapp.py:482 msgid "Add to Expansions" msgstr "Ajouter à l'expansion" -#: ../python/frescobaldi_app/mainapp.py:475 +#: ../python/frescobaldi_app/mainapp.py:486 msgid "Next blank line" msgstr "Ligne vide suivante" -#: ../python/frescobaldi_app/mainapp.py:476 +#: ../python/frescobaldi_app/mainapp.py:487 msgid "Go to the next blank line." msgstr "Aller à la prochaine ligne vide." -#: ../python/frescobaldi_app/mainapp.py:486 +#: ../python/frescobaldi_app/mainapp.py:497 msgid "Previous blank line" msgstr "Ligne vide précédente." -#: ../python/frescobaldi_app/mainapp.py:487 +#: ../python/frescobaldi_app/mainapp.py:498 msgid "Go to the previous blank line." msgstr "Aller à la ligne vide précèdente." -#: ../python/frescobaldi_app/mainapp.py:496 +#: ../python/frescobaldi_app/mainapp.py:507 msgid "Select to next blank line" msgstr "Sélectionner jusqu'à la prochaine ligne vide" -#: ../python/frescobaldi_app/mainapp.py:498 +#: ../python/frescobaldi_app/mainapp.py:509 msgid "" "Selects text from the current position down to and including the next blank " "line." @@ -1208,11 +1222,11 @@ "Sélectionne le texte de la position courante jusqu'à et en incluant la " "prochaine ligne vide." -#: ../python/frescobaldi_app/mainapp.py:523 +#: ../python/frescobaldi_app/mainapp.py:534 msgid "Select to previous blank line" msgstr "Sélectionner jusqu'à la ligne vide précédente" -#: ../python/frescobaldi_app/mainapp.py:525 +#: ../python/frescobaldi_app/mainapp.py:536 msgid "" "Selects text from the current position up to right after the previous blank " "line." @@ -1220,23 +1234,23 @@ "Sélectionne le texte de la position courante jusqu'à après la ligne vide " "précédente." -#: ../python/frescobaldi_app/mainapp.py:549 +#: ../python/frescobaldi_app/mainapp.py:560 msgid "Move selection to next blank line" msgstr "Déplacer la sélection jusqu'à la prochaine ligne vide." -#: ../python/frescobaldi_app/mainapp.py:550 +#: ../python/frescobaldi_app/mainapp.py:561 msgid "Moves selected block to next blank line." msgstr "Déplace le bloc sélectionné à la prochaine ligne vide." -#: ../python/frescobaldi_app/mainapp.py:554 +#: ../python/frescobaldi_app/mainapp.py:565 msgid "Move selection to previous blank line" msgstr "Déplacer la sélection à la ligne vide précédente." -#: ../python/frescobaldi_app/mainapp.py:555 +#: ../python/frescobaldi_app/mainapp.py:566 msgid "Moves selected block to previous blank line." msgstr "Déplacer le bloc sélectionné à la ligne vide précédente." -#: ../python/frescobaldi_app/mainapp.py:562 +#: ../python/frescobaldi_app/mainapp.py:573 msgid "" "Change the LilyPond language used for pitch names in this document or in the " "selection." @@ -1244,11 +1258,11 @@ "Changer la langue utiliser par LilyPond pour les noms de la hauteur dans ce " "document ou dans la sélection." -#: ../python/frescobaldi_app/mainapp.py:569 +#: ../python/frescobaldi_app/mainapp.py:579 msgid "Convert Relative to &Absolute" msgstr "Convertir relative à &absolue" -#: ../python/frescobaldi_app/mainapp.py:570 +#: ../python/frescobaldi_app/mainapp.py:580 msgid "" "Converts the notes in the document or selection from relative to absolute " "pitch." @@ -1256,11 +1270,11 @@ "Convertit les notes dans le document ou la sélection d'une hauteur relative " "à une hauteur absolue." -#: ../python/frescobaldi_app/mainapp.py:574 +#: ../python/frescobaldi_app/mainapp.py:584 msgid "Convert Absolute to &Relative" msgstr "Convertir absolue à &relative" -#: ../python/frescobaldi_app/mainapp.py:575 +#: ../python/frescobaldi_app/mainapp.py:585 msgid "" "Converts the notes in the document or selection from absolute to relative " "pitch." @@ -1268,281 +1282,300 @@ "Convertit les notes dans le document ou la sélection d'une hauteur absolue à " "une hauteur relative." -#: ../python/frescobaldi_app/mainapp.py:579 +#: ../python/frescobaldi_app/mainapp.py:589 msgid "Transpose..." msgstr "Transposer..." -#: ../python/frescobaldi_app/mainapp.py:580 +#: ../python/frescobaldi_app/mainapp.py:590 #, fuzzy msgid "Transposes all notes in the document or selection." msgstr "Diviser par deux les durées dans la sélection." -#: ../python/frescobaldi_app/mainapp.py:585 +#: ../python/frescobaldi_app/mainapp.py:595 msgid "Double durations" msgstr "Doubler les durées" -#: ../python/frescobaldi_app/mainapp.py:586 +#: ../python/frescobaldi_app/mainapp.py:596 msgid "Double all the durations in the selection." msgstr "Doubler toutes les durées dans la sélection." -#: ../python/frescobaldi_app/mainapp.py:591 +#: ../python/frescobaldi_app/mainapp.py:601 msgid "Halve durations" msgstr "Diviser les durées" -#: ../python/frescobaldi_app/mainapp.py:592 +#: ../python/frescobaldi_app/mainapp.py:602 msgid "Halve all the durations in the selection." msgstr "Diviser par deux les durées dans la sélection." -#: ../python/frescobaldi_app/mainapp.py:597 +#: ../python/frescobaldi_app/mainapp.py:607 msgid "Dot durations" msgstr "Durées pointées" -#: ../python/frescobaldi_app/mainapp.py:598 +#: ../python/frescobaldi_app/mainapp.py:608 msgid "Add a dot to all the durations in the selection." msgstr "Ajouter un point à toutes les durées dans la sélection." -#: ../python/frescobaldi_app/mainapp.py:603 +#: ../python/frescobaldi_app/mainapp.py:613 msgid "Undot durations" msgstr "Elever les points" -#: ../python/frescobaldi_app/mainapp.py:604 +#: ../python/frescobaldi_app/mainapp.py:614 msgid "Remove one dot from all the durations in the selection." msgstr "Enlever un point à toutes les durées de la sélection." -#: ../python/frescobaldi_app/mainapp.py:609 +#: ../python/frescobaldi_app/mainapp.py:619 msgid "Remove scaling" msgstr "Enlever les multiplicateurs" -#: ../python/frescobaldi_app/mainapp.py:610 +#: ../python/frescobaldi_app/mainapp.py:620 msgid "Remove all scaling (*n/m) from the durations in the selection." msgstr "Enlever tous les multiplicateurs des durées dans la sélection." -#: ../python/frescobaldi_app/mainapp.py:615 +#: ../python/frescobaldi_app/mainapp.py:625 msgid "Remove durations" msgstr "Enlever les durées" -#: ../python/frescobaldi_app/mainapp.py:616 +#: ../python/frescobaldi_app/mainapp.py:626 msgid "Remove all durations from the selection." msgstr "Enlever toutes les durées de la sélection." -#: ../python/frescobaldi_app/mainapp.py:621 +#: ../python/frescobaldi_app/mainapp.py:631 msgid "Make implicit" msgstr "Durées implicites" -#: ../python/frescobaldi_app/mainapp.py:622 +#: ../python/frescobaldi_app/mainapp.py:632 msgid "Make durations implicit (remove repeated durations)." msgstr "Rendre les durées implicites (enlever les durées répétées)." -#: ../python/frescobaldi_app/mainapp.py:627 +#: ../python/frescobaldi_app/mainapp.py:637 msgid "Make explicit" msgstr "Durées explicites" -#: ../python/frescobaldi_app/mainapp.py:628 +#: ../python/frescobaldi_app/mainapp.py:638 msgid "" "Make durations explicit (add duration to every note, even if it is the same " "as the preceding note)." msgstr "Rendre les durées explicites (ajouter une durée à chaque note)." -#: ../python/frescobaldi_app/mainapp.py:634 +#: ../python/frescobaldi_app/mainapp.py:644 msgid "Apply rhythm..." msgstr "Appliquer un rythme..." -#: ../python/frescobaldi_app/mainapp.py:635 +#: ../python/frescobaldi_app/mainapp.py:645 msgid "Apply an entered rhythm to the selected music." msgstr "Appliquer un rythme saisi à la musique sélectionnée." -#: ../python/frescobaldi_app/mainapp.py:639 +#: ../python/frescobaldi_app/mainapp.py:649 msgid "Copy rhythm" msgstr "Copier le rythme" -#: ../python/frescobaldi_app/mainapp.py:640 +#: ../python/frescobaldi_app/mainapp.py:650 msgid "Copy the rhythm of the selected music." msgstr "Copier le rythme de la musique sélectionnée." -#: ../python/frescobaldi_app/mainapp.py:646 +#: ../python/frescobaldi_app/mainapp.py:656 msgid "Paste rhythm" msgstr "Coller le rythme" -#: ../python/frescobaldi_app/mainapp.py:647 +#: ../python/frescobaldi_app/mainapp.py:657 msgid "Paste a rhythm to the selected music." msgstr "Coller le rythme de la musique sélectionnée." -#: ../python/frescobaldi_app/mainapp.py:655 +#: ../python/frescobaldi_app/mainapp.py:665 msgid "Double bar line" msgstr "Double barre de mesure" -#: ../python/frescobaldi_app/mainapp.py:656 +#: ../python/frescobaldi_app/mainapp.py:666 msgid "Ending bar line" msgstr "Double barre de fin" -#: ../python/frescobaldi_app/mainapp.py:657 +#: ../python/frescobaldi_app/mainapp.py:667 msgid "Dotted bar line" msgstr "Barre de mesure pointillée" -#: ../python/frescobaldi_app/mainapp.py:658 +#: ../python/frescobaldi_app/mainapp.py:668 msgid "Dashed bar line" msgstr "Barre de mesure en tirets" -#: ../python/frescobaldi_app/mainapp.py:659 +#: ../python/frescobaldi_app/mainapp.py:669 msgid "Invisible bar line" msgstr "Barre de mesure invisible" -#: ../python/frescobaldi_app/mainapp.py:660 +#: ../python/frescobaldi_app/mainapp.py:670 msgid "Repeat start" msgstr "Répéter le début" -#: ../python/frescobaldi_app/mainapp.py:661 +#: ../python/frescobaldi_app/mainapp.py:671 msgid "Repeat both" msgstr "Répéter les deux" -#: ../python/frescobaldi_app/mainapp.py:662 +#: ../python/frescobaldi_app/mainapp.py:672 msgid "Repeat end" msgstr "Répéter la fin" -#: ../python/frescobaldi_app/mainapp.py:663 +#: ../python/frescobaldi_app/mainapp.py:673 msgid "Tick bar line" msgstr "Barre de mesure style \"tick\"" -#: ../python/frescobaldi_app/mainapp.py:664 +#: ../python/frescobaldi_app/mainapp.py:674 msgid "Single bar line" msgstr "Barre de mesure simple" -#: ../python/frescobaldi_app/mainapp.py:665 +#: ../python/frescobaldi_app/mainapp.py:675 msgid "Small-Wide-Small bar line" msgstr "Barre de mesure étroite-large-étroite" -#: ../python/frescobaldi_app/mainapp.py:666 +#: ../python/frescobaldi_app/mainapp.py:676 msgid "Wide-Small bar line" msgstr "Barre de mesure étroite-large" -#: ../python/frescobaldi_app/mainapp.py:667 +#: ../python/frescobaldi_app/mainapp.py:677 msgid "Double wide bar line" msgstr "Barre de mesure double large" -#: ../python/frescobaldi_app/mainapp.py:668 +#: ../python/frescobaldi_app/mainapp.py:678 msgid "Repeat both (old)" msgstr "Répéter les deux (ancien)" -#: ../python/frescobaldi_app/mainapp.py:669 +#: ../python/frescobaldi_app/mainapp.py:679 msgid "Repeat both (classic)" msgstr "Répéter les deux (classique)" -#: ../python/frescobaldi_app/mainapp.py:681 +#: ../python/frescobaldi_app/mainapp.py:691 msgid "Remove hyphenation" msgstr "Réunir les syllabes des paroles" -#: ../python/frescobaldi_app/mainapp.py:686 +#: ../python/frescobaldi_app/mainapp.py:695 +msgid "Copy Lyrics with hyphenation removed" +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:700 msgid "Single Quote" msgstr "Guillemet" -#: ../python/frescobaldi_app/mainapp.py:690 +#: ../python/frescobaldi_app/mainapp.py:704 msgid "Double Quote" msgstr "Double guillemets anglais" -#: ../python/frescobaldi_app/mainapp.py:694 +#: ../python/frescobaldi_app/mainapp.py:708 msgid "Align" msgstr "Aligner" -#: ../python/frescobaldi_app/mainapp.py:698 +#: ../python/frescobaldi_app/mainapp.py:712 msgid "Insert LilyPond version" msgstr "Insérer la version de LilyPond" -#: ../python/frescobaldi_app/mainapp.py:703 +#: ../python/frescobaldi_app/mainapp.py:717 msgid "Update with convert-ly" msgstr "Mettre à jour par convert-ly" -#: ../python/frescobaldi_app/mainapp.py:708 +#: ../python/frescobaldi_app/mainapp.py:722 msgid "Open Current Folder" msgstr "Ouvrir le répertoire courant" -#: ../python/frescobaldi_app/mainapp.py:722 +#: ../python/frescobaldi_app/mainapp.py:737 msgid "Repeat selected music" msgstr "Répéter la musique sélectionnée." -#: ../python/frescobaldi_app/mainapp.py:728 +#: ../python/frescobaldi_app/mainapp.py:743 msgid "Insert pair of braces" msgstr "Insérer une paire d'accolades" -#: ../python/frescobaldi_app/mainapp.py:776 +#: ../python/frescobaldi_app/mainapp.py:794 +msgid "Can't process document" +msgstr "Impossible de traiter le document" + +#: ../python/frescobaldi_app/mainapp.py:799 +msgid "Your document has been modified, please save first." +msgstr "Ce document a été modifié. Veuillez l'enregistrer." + +#: ../python/frescobaldi_app/mainapp.py:824 +msgid "There is already a LilyPond job running for this document." +msgstr "Il y a déjà un processus Liypond en cours pour ce document." + +#: ../python/frescobaldi_app/mainapp.py:860 msgid "Abort the running LilyPond process" msgstr "Mettre fin au process Lilypond en cours d'exécution" -#: ../python/frescobaldi_app/mainapp.py:779 -msgid "Run LilyPond in preview mode" +#: ../python/frescobaldi_app/mainapp.py:863 +#, fuzzy +msgid "Run LilyPond in preview mode (Shift-click for custom dialog)" msgstr "Lancer LilyPond en mode aperçu" -#: ../python/frescobaldi_app/mainapp.py:796 +#: ../python/frescobaldi_app/mainapp.py:872 +#: ../python/frescobaldi_app/mainapp.py:1088 +msgid "Quick Insert" +msgstr "Insertion rapide" + +#: ../python/frescobaldi_app/mainapp.py:882 msgid "Apply Rhythm" msgstr "Appliquer un rythme" -#: ../python/frescobaldi_app/mainapp.py:804 +#: ../python/frescobaldi_app/mainapp.py:890 msgid "Enter a rhythm:" msgstr "Saisissez un rythme:" -#: ../python/frescobaldi_app/mainapp.py:807 +#: ../python/frescobaldi_app/mainapp.py:893 msgid "Enter a rhythm using space separated duration values (e.g. 8. 16 8 4 8)" msgstr "Entrez des durées séparées par des espaces (ex.: 8. 16 8 4 8)" -#: ../python/frescobaldi_app/mainapp.py:862 +#: ../python/frescobaldi_app/mainapp.py:917 msgid "Terminal" msgstr "Terminal" -#: ../python/frescobaldi_app/mainapp.py:900 +#: ../python/frescobaldi_app/mainapp.py:948 msgid "S&ynchronize Terminal with Current Document" msgstr "S&ynchronise le terminal avec le document courant" -#: ../python/frescobaldi_app/mainapp.py:921 -#: ../python/frescobaldi_app/runlily.py:629 +#: ../python/frescobaldi_app/mainapp.py:969 +#: ../python/frescobaldi_app/runlily.py:783 msgid "PDF Preview" msgstr "Aperçu PDF" -#: ../python/frescobaldi_app/mainapp.py:950 +#: ../python/frescobaldi_app/mainapp.py:1026 msgid "Show PDF Navigation Panel" msgstr "Afficher le panneau de navigation PDF" -#: ../python/frescobaldi_app/mainapp.py:951 +#: ../python/frescobaldi_app/mainapp.py:1027 msgid "Show PDF minipager" msgstr "Montrer les mignatures du PDF." -#: ../python/frescobaldi_app/mainapp.py:952 +#: ../python/frescobaldi_app/mainapp.py:1028 msgid "Configure Okular..." msgstr "Configurer Okular..." -#: ../python/frescobaldi_app/mainapp.py:955 +#: ../python/frescobaldi_app/mainapp.py:1031 msgid "S&ynchronize Preview with Current Document" msgstr "S&ynchronise la prévisualisation avec le document courant" -#: ../python/frescobaldi_app/mainapp.py:956 +#: ../python/frescobaldi_app/mainapp.py:1032 #, fuzzy msgid "Reload" msgstr "Enregistre" -#: ../python/frescobaldi_app/mainapp.py:1024 -msgid "Quick Insert" -msgstr "Insertion rapide" - -#: ../python/frescobaldi_app/mainapp.py:1036 -#: ../python/frescobaldi_app/runlily.py:334 +#: ../python/frescobaldi_app/mainapp.py:1100 +#: ../python/frescobaldi_app/runlily.py:503 msgid "LilyPond Log" msgstr "Messages de LilyPond" -#: ../python/frescobaldi_app/mainapp.py:1040 +#: ../python/frescobaldi_app/mainapp.py:1104 msgid "no log" msgstr "pas de messages" -#: ../python/frescobaldi_app/mainapp.py:1079 +#: ../python/frescobaldi_app/mainapp.py:1141 msgid "Only show on errors" msgstr "Ne montrer qu'en cas d'erreurs." -#: ../python/frescobaldi_app/mainapp.py:1103 +#: ../python/frescobaldi_app/mainapp.py:1165 msgid "Rumor" msgstr "Rumor" -#: ../python/frescobaldi_app/mainapp.py:1115 +#: ../python/frescobaldi_app/mainapp.py:1177 +#: ../python/frescobaldi_app/settings.py:297 msgid "LilyPond Documentation" msgstr "Documentation LilyPond" -#: ../python/frescobaldi_app/rumor.py:72 +#: ../python/frescobaldi_app/rumor.py:73 msgid "" "The meter to use. Leave 'Auto' to let Frescobaldi determine the meter from " "the LilyPond document." @@ -1550,31 +1583,31 @@ "Chiffre de mesure. Laissez 'Auto' pour que Frescobaldi le détermine à partir " "du document LilyPond." -#: ../python/frescobaldi_app/rumor.py:79 +#: ../python/frescobaldi_app/rumor.py:80 msgid "Quantize:" msgstr "Quantifier:" -#: ../python/frescobaldi_app/rumor.py:85 +#: ../python/frescobaldi_app/rumor.py:86 msgid "The shortest note duration to use." msgstr "La plus courte valeur à autoriser." -#: ../python/frescobaldi_app/rumor.py:90 +#: ../python/frescobaldi_app/rumor.py:91 msgid "Step" msgstr "Pas" -#: ../python/frescobaldi_app/rumor.py:92 +#: ../python/frescobaldi_app/rumor.py:93 msgid "Record LilyPond input note by note, without durations." msgstr "Enregistrer le code LilyPond note à note, sans durées." -#: ../python/frescobaldi_app/rumor.py:96 +#: ../python/frescobaldi_app/rumor.py:97 msgid "Mono" msgstr "Mono" -#: ../python/frescobaldi_app/rumor.py:98 +#: ../python/frescobaldi_app/rumor.py:99 msgid "Record monophonic input, without chords." msgstr "Enregistrer du code LilyPond monophonique, sans accords." -#: ../python/frescobaldi_app/rumor.py:107 +#: ../python/frescobaldi_app/rumor.py:108 msgid "" "The number of accidentals. A negative number designates flats. Leave 'Auto' " "to let Frescobaldi determine the key signature from the LilyPond document." @@ -1582,23 +1615,23 @@ "Nombre d'altérations (un nombre négatif désigne des bémols). Laissez 'Auto' " "pour que Frescobaldi le détermine à partir du document." -#: ../python/frescobaldi_app/rumor.py:113 +#: ../python/frescobaldi_app/rumor.py:114 msgid "Tempo:" msgstr "Tempo:" -#: ../python/frescobaldi_app/rumor.py:116 +#: ../python/frescobaldi_app/rumor.py:117 msgid "Meter:" msgstr "Chiffre de mesure:" -#: ../python/frescobaldi_app/rumor.py:119 +#: ../python/frescobaldi_app/rumor.py:120 msgid "Key:" msgstr "Tonalité:" -#: ../python/frescobaldi_app/rumor.py:131 +#: ../python/frescobaldi_app/rumor.py:132 msgid "Configure..." msgstr "Réglages..." -#: ../python/frescobaldi_app/rumor.py:132 +#: ../python/frescobaldi_app/rumor.py:133 msgid "Adjust more settings, like MIDI input and output." msgstr "Réglages avancés, tels que l'entrée et sortie MIDI." @@ -1610,59 +1643,59 @@ msgid "Set these settings as default." msgstr "Enregistrer ces réglages en tant que défaut." -#: ../python/frescobaldi_app/rumor.py:148 +#: ../python/frescobaldi_app/rumor.py:147 msgid "Found rumor version %1." msgstr "Trouvé Rumor version %1." -#: ../python/frescobaldi_app/rumor.py:151 +#: ../python/frescobaldi_app/rumor.py:150 msgid "Could not find Rumor: %1" msgstr "Impossible de trouver Rumor: %1" -#: ../python/frescobaldi_app/rumor.py:165 +#: ../python/frescobaldi_app/rumor.py:164 msgid "Settings have been saved." msgstr "Les réglages ont été enregistrés." -#: ../python/frescobaldi_app/rumor.py:316 +#: ../python/frescobaldi_app/rumor.py:315 msgid "Record" msgstr "Enregistre" -#: ../python/frescobaldi_app/rumor.py:318 +#: ../python/frescobaldi_app/rumor.py:317 msgid "Start or stop Rumor MIDI-recording." msgstr "Lancer ou arrêter l'enregistrement MIDI Rumor." -#: ../python/frescobaldi_app/rumor.py:334 +#: ../python/frescobaldi_app/rumor.py:333 msgid "Rumor is recording, press ESC to stop." msgstr "Rumor enregistre, appuyez sur ESC pour l'arrêter." -#: ../python/frescobaldi_app/rumor.py:360 +#: ../python/frescobaldi_app/rumor.py:359 msgid "Rumor stopped." msgstr "Rumor arrêté." -#: ../python/frescobaldi_app/rumor.py:394 +#: ../python/frescobaldi_app/rumor.py:393 msgid "TiMidity" msgstr "TiMidity" -#: ../python/frescobaldi_app/rumor.py:395 +#: ../python/frescobaldi_app/rumor.py:394 msgid "Start or stop the TiMidity ALSA MIDI client." msgstr "Lancer ou arrêter le client ALSA TiMidity." -#: ../python/frescobaldi_app/rumor.py:415 +#: ../python/frescobaldi_app/rumor.py:413 msgid "Rumor Settings" msgstr "Réglages de Rumor" -#: ../python/frescobaldi_app/rumor.py:423 +#: ../python/frescobaldi_app/rumor.py:421 msgid "OSS device %1" msgstr "Périphérique OSS %1" -#: ../python/frescobaldi_app/rumor.py:425 +#: ../python/frescobaldi_app/rumor.py:423 msgid "Keyboard" msgstr "Clavier" -#: ../python/frescobaldi_app/rumor.py:431 +#: ../python/frescobaldi_app/rumor.py:429 msgid "MIDI input:" msgstr "Entrée MIDI:" -#: ../python/frescobaldi_app/rumor.py:435 +#: ../python/frescobaldi_app/rumor.py:433 msgid "" "MIDI input to use. Choose 'Keyboard' if you want to play on the keyboard of " "your computer." @@ -1670,79 +1703,79 @@ "Entrée MIDI à utiliser. Choisissez 'Clavier' pour jouer sur le clavier de " "votre ordinateur." -#: ../python/frescobaldi_app/rumor.py:441 +#: ../python/frescobaldi_app/rumor.py:439 msgid "MIDI output:" msgstr "Sortie MIDI:" -#: ../python/frescobaldi_app/rumor.py:445 +#: ../python/frescobaldi_app/rumor.py:443 msgid "MIDI output to use." msgstr "Sortie MIDI à utiliser." -#: ../python/frescobaldi_app/rumor.py:450 -#: ../python/frescobaldi_app/scorewiz/__init__.py:544 +#: ../python/frescobaldi_app/rumor.py:448 +#: ../python/frescobaldi_app/scorewiz/__init__.py:529 msgid "Language:" msgstr "Langue:" -#: ../python/frescobaldi_app/rumor.py:455 +#: ../python/frescobaldi_app/rumor.py:453 msgid "The LilyPond language you want Rumor to output the pitches in." msgstr "Langue du nom des notes pour la saisie par Rumor." -#: ../python/frescobaldi_app/rumor.py:463 +#: ../python/frescobaldi_app/rumor.py:461 msgid "Explicit durations" msgstr "Durées explicites" -#: ../python/frescobaldi_app/rumor.py:465 +#: ../python/frescobaldi_app/rumor.py:463 msgid "" "Add a duration after every note, even if it is the same as the preceding " "note." msgstr "" "Ajouter une durée à chaque note, même si une valeur identique est répétée." -#: ../python/frescobaldi_app/rumor.py:470 +#: ../python/frescobaldi_app/rumor.py:468 msgid "Absolute pitch" msgstr "Hauteurs absolues" -#: ../python/frescobaldi_app/rumor.py:472 +#: ../python/frescobaldi_app/rumor.py:470 msgid "Use absolute pitches instead of relative." msgstr "Utiliser des hauteurs absolues, et non relatives." -#: ../python/frescobaldi_app/rumor.py:478 +#: ../python/frescobaldi_app/rumor.py:476 msgid "No barlines" msgstr "Pas de barres de mesures" -#: ../python/frescobaldi_app/rumor.py:480 +#: ../python/frescobaldi_app/rumor.py:478 msgid "Filter the barlines out of Rumor's output." msgstr "Enlever les barres de mesures de la saisie par Rumor." -#: ../python/frescobaldi_app/rumor.py:484 +#: ../python/frescobaldi_app/rumor.py:482 msgid "No dots" msgstr "Pas de points" -#: ../python/frescobaldi_app/rumor.py:486 +#: ../python/frescobaldi_app/rumor.py:484 msgid "Do not use dotted notes, but ties instead." msgstr "Utiliser des notes liées et non pointées." -#: ../python/frescobaldi_app/rumor.py:490 +#: ../python/frescobaldi_app/rumor.py:488 msgid "Legato" msgstr "Legato" -#: ../python/frescobaldi_app/rumor.py:491 +#: ../python/frescobaldi_app/rumor.py:489 msgid "Do not use rests, but give all notes the maximum length." msgstr "Donner à chaque note sa durée maximale (supprimer les silences)." -#: ../python/frescobaldi_app/rumor.py:496 +#: ../python/frescobaldi_app/rumor.py:494 msgid "Strip rests" msgstr "Enlever silences" -#: ../python/frescobaldi_app/rumor.py:498 +#: ../python/frescobaldi_app/rumor.py:496 msgid "Strip leading and trialing rests from output." msgstr "Enlever les silence d'introduction ou d'hésitation." -#: ../python/frescobaldi_app/rumor.py:502 +#: ../python/frescobaldi_app/rumor.py:500 msgid "Guile scripts to load:" msgstr "Scripts Guile à charger:" -#: ../python/frescobaldi_app/rumor.py:509 +#: ../python/frescobaldi_app/rumor.py:507 msgid "" "Here you can select which Guile scripts you want Rumor to load. Check " "\"What's this\" for more information." @@ -1750,7 +1783,7 @@ "Sélectionnez ici des scripts Guile que vous voulez charger dans Rumor. " "Regarder \"Qu'est-ce que c'est\" pour plus d'informations." -#: ../python/frescobaldi_app/rumor.py:513 +#: ../python/frescobaldi_app/rumor.py:511 msgid "" "Here you can select which Guile scripts you want Rumor to load. You can add " "your own scripts by putting them in %1. If the first line of your script " @@ -1761,55 +1794,132 @@ "script commence par un point-virgule (;), cette ligne sera affichée comme " "description." -#: ../python/frescobaldi_app/rumor.py:635 +#: ../python/frescobaldi_app/rumor.py:633 msgid "Auto" msgstr "Auto" -#: ../python/frescobaldi_app/runlily.py:88 +#: ../python/frescobaldi_app/runlily.py:101 msgid "preview mode" msgstr "mode aperçu" -#: ../python/frescobaldi_app/runlily.py:88 +#: ../python/frescobaldi_app/runlily.py:101 msgid "publish mode" msgstr "imode publication" -#: ../python/frescobaldi_app/runlily.py:89 +#: ../python/frescobaldi_app/runlily.py:104 +msgid "LilyPond %1 [%2] starting (%3)..." +msgstr "LilyPond %1 [%2]: lancement (%3)..." + +#: ../python/frescobaldi_app/runlily.py:107 msgid "LilyPond [%1] starting (%2)..." msgstr "LilyPond [%1]: lancement (%2)..." -#: ../python/frescobaldi_app/runlily.py:95 +#: ../python/frescobaldi_app/runlily.py:131 msgid "LilyPond [%1] exited with return code %2." msgstr "LilyPond [%1]: interruption avec le code %2." -#: ../python/frescobaldi_app/runlily.py:98 +#: ../python/frescobaldi_app/runlily.py:134 msgid "LilyPond [%1] exited with exit status %2." msgstr "LilyPond [%1]: interruption avec le code %2." -#: ../python/frescobaldi_app/runlily.py:107 +#: ../python/frescobaldi_app/runlily.py:140 msgid "LilyPond [%1] finished (%2)." msgstr "LilyPond [%1]: traitement achevé (%2)." -#: ../python/frescobaldi_app/runlily.py:115 +#: ../python/frescobaldi_app/runlily.py:150 msgid "Could not start LilyPond. Please check path and permissions." msgstr "Ne peut pas démarrer LilyPond. Vérifier les chemins et permissions." -#: ../python/frescobaldi_app/runlily.py:118 +#: ../python/frescobaldi_app/runlily.py:153 msgid "Could not read from the LilyPond process." msgstr "Ne peut pas lire à partir du processus LilyPond." -#: ../python/frescobaldi_app/runlily.py:121 +#: ../python/frescobaldi_app/runlily.py:156 msgid "An unknown error occured." msgstr "Une erreur inconnue est survenue." -#: ../python/frescobaldi_app/runlily.py:323 +#: ../python/frescobaldi_app/runlily.py:229 +#: ../python/frescobaldi_app/runlily.py:232 +#, fuzzy +msgid "Run LilyPond" +msgstr "LilyPond" + +#: ../python/frescobaldi_app/runlily.py:239 +#, fuzzy +msgid "Select which LilyPond version you want to run:" +msgstr "Veuillez choisir les fichiers que vous désirez envoyer:" + +#: ../python/frescobaldi_app/runlily.py:247 +#, fuzzy +msgid "Run LilyPond in preview mode (with Point and Click)" +msgstr "Lancer LilyPond en mode aperçu" + +#: ../python/frescobaldi_app/runlily.py:250 +#: ../python/frescobaldi_app/settings.py:150 +msgid "Run LilyPond with verbose output" +msgstr "Lancer LilyPond avec sortie verbeuse" + +#: ../python/frescobaldi_app/runlily.py:292 +#, fuzzy +msgid "Command" +msgstr "Commande d'impression:" + +#: ../python/frescobaldi_app/runlily.py:299 +#, fuzzy +msgid "LilyPond %1" +msgstr "LilyPond" + +#: ../python/frescobaldi_app/runlily.py:300 +#, fuzzy +msgid "Use LilyPond version %1" +msgstr "Insérer la version de LilyPond" + +#: ../python/frescobaldi_app/runlily.py:303 +#: ../python/frescobaldi_app/settings.py:601 +#, fuzzy +msgid "default" +msgstr "Par défaut" + +#: ../python/frescobaldi_app/runlily.py:304 +#, fuzzy +msgid "Default LilyPond Version." +msgstr "Insérer la version de LilyPond" + +#: ../python/frescobaldi_app/runlily.py:306 +msgid "automatic" +msgstr "" + +#: ../python/frescobaldi_app/runlily.py:307 +#, fuzzy +msgid "Automatic LilyPond Version (determined from document)." +msgstr "Indiquez la version de LilyPond utilisée pour ce document." + +#: ../python/frescobaldi_app/runlily.py:312 +#, fuzzy +msgid "Path: %1" +msgstr "Jouer %1" + +#: ../python/frescobaldi_app/runlily.py:316 +#, fuzzy +msgid "LilyPond (version unknown)" +msgstr "Insérer la version de LilyPond" + +#: ../python/frescobaldi_app/runlily.py:317 +#, fuzzy +msgid "" +"Use LilyPond (version unknown)\n" +"Path: %1" +msgstr "Insérer la version de LilyPond" + +#: ../python/frescobaldi_app/runlily.py:491 msgid "Click to edit this file" msgstr "Cliquer pour éditer ce fichier" -#: ../python/frescobaldi_app/runlily.py:355 +#: ../python/frescobaldi_app/runlily.py:524 msgid "Save LilyPond Log as" msgstr "Enregistrer le journal de LilyPond sous..." -#: ../python/frescobaldi_app/runlily.py:392 +#: ../python/frescobaldi_app/runlily.py:540 msgid "" "Could not save LilyPond log:\n" "\n" @@ -1819,108 +1929,96 @@ "\n" "%1" -#: ../python/frescobaldi_app/settings.py:49 +#: ../python/frescobaldi_app/settings.py:54 msgid "Configure" msgstr "Réglages" -#: ../python/frescobaldi_app/settings.py:104 +#: ../python/frescobaldi_app/settings.py:110 msgid "Editor Component" msgstr "Composant d'éditeur" -#: ../python/frescobaldi_app/settings.py:105 +#: ../python/frescobaldi_app/settings.py:111 msgid "Editor Component Options" msgstr "Paramètres de l'éditeur de composants." -#: ../python/frescobaldi_app/settings.py:134 +#: ../python/frescobaldi_app/settings.py:140 msgid "General Preferences" msgstr "Préférences générales" -#: ../python/frescobaldi_app/settings.py:135 +#: ../python/frescobaldi_app/settings.py:141 msgid "General Frescobaldi Preferences" msgstr "Préférences générales de Frescobaldi" -#: ../python/frescobaldi_app/settings.py:140 +#: ../python/frescobaldi_app/settings.py:146 msgid "Save document when LilyPond is run" msgstr "Enregistrer le document au lancement de LilyPond" -#: ../python/frescobaldi_app/settings.py:142 +#: ../python/frescobaldi_app/settings.py:148 msgid "Let LilyPond delete intermediate output files" msgstr "Effacer les fichiers de rendu intermédiaires." -#: ../python/frescobaldi_app/settings.py:144 -msgid "Run LilyPond with verbose output" -msgstr "Lancer LilyPond avec sortie verbeuse" - -#: ../python/frescobaldi_app/settings.py:146 +#: ../python/frescobaldi_app/settings.py:152 msgid "Remember cursor position, bookmarks, etc." msgstr "Se rappeler la position du curseur, les bookmarks, etc." -#: ../python/frescobaldi_app/settings.py:148 +#: ../python/frescobaldi_app/settings.py:154 msgid "Disable the built-in PDF preview" msgstr "Desactiver l'aperçu PDF intégré" -#: ../python/frescobaldi_app/settings.py:165 +#: ../python/frescobaldi_app/settings.py:170 msgid "LilyPond version number to use for new documents" msgstr "Indiquez la version de LilyPond utilisée pour ce document." -#: ../python/frescobaldi_app/settings.py:167 +#: ../python/frescobaldi_app/settings.py:172 msgid "Use version number of installed LilyPond" msgstr "Utiliser le numéro de la version de LilyPond installée" -#: ../python/frescobaldi_app/settings.py:168 +#: ../python/frescobaldi_app/settings.py:173 msgid "Use version number of last convert-ly rule" msgstr "Utiliser le numéro de version de la dernière règle convert-ly" -#: ../python/frescobaldi_app/settings.py:169 +#: ../python/frescobaldi_app/settings.py:174 msgid "Use custom version number:" msgstr "Utiliser un numéro de version personnalisé :" -#: ../python/frescobaldi_app/settings.py:175 +#: ../python/frescobaldi_app/settings.py:179 msgid "Enter a valid LilyPond version number, e.g. 2.12.0" msgstr "Entrez un numéro version de LilyPond valide, par exemple 2.12.0" -#: ../python/frescobaldi_app/settings.py:233 +#: ../python/frescobaldi_app/settings.py:234 msgid "Paths" msgstr "Chemins" -#: ../python/frescobaldi_app/settings.py:234 +#: ../python/frescobaldi_app/settings.py:235 msgid "Paths to programs or data used by Frescobaldi" msgstr "Chemins vers les programmes ou données utilisées par Frescobaldi" -#: ../python/frescobaldi_app/settings.py:244 -msgid "Name or full path of the LilyPond program." -msgstr "Nom ou chemin complet de l'exécutable LilyPond." - -#: ../python/frescobaldi_app/settings.py:246 -msgid "Name or full path of the convert-ly program." -msgstr "Nom ou chemin complet de l'exécutable convert-ly." - -#: ../python/frescobaldi_app/settings.py:247 +#: ../python/frescobaldi_app/settings.py:249 msgid "PDF Viewer:" msgstr "Afficheur PDF" -#: ../python/frescobaldi_app/settings.py:248 +#: ../python/frescobaldi_app/settings.py:250 msgid "PDF Viewer" msgstr "Afficheur PDF" -#: ../python/frescobaldi_app/settings.py:249 -#: ../python/frescobaldi_app/settings.py:252 +#: ../python/frescobaldi_app/settings.py:251 +#: ../python/frescobaldi_app/settings.py:254 msgid "(leave empty for operating system default)" msgstr "(laissez vide pour le défaut de votre système d'exploitation)" -#: ../python/frescobaldi_app/settings.py:250 +#: ../python/frescobaldi_app/settings.py:252 msgid "MIDI Player:" msgstr "Lecteur MIDI:" -#: ../python/frescobaldi_app/settings.py:251 +#: ../python/frescobaldi_app/settings.py:253 msgid "MIDI Player" msgstr "Lecteur MIDI" -#: ../python/frescobaldi_app/settings.py:253 +#: ../python/frescobaldi_app/settings.py:255 msgid "Printcommand:" msgstr "Commande d'impression:" -#: ../python/frescobaldi_app/settings.py:254 +#: ../python/frescobaldi_app/settings.py:256 msgid "" "Command to print a PDF file, for example lpr or kprinter. You may add some " "arguments, e.g. lpr -P myprinter." @@ -1928,23 +2026,23 @@ "Commande d'impression des fichiers PDF, telle que lpr ou kprinter. Des " "arguments peuvent être ajoutés, tels que lpr -P Imprimante." -#: ../python/frescobaldi_app/settings.py:270 +#: ../python/frescobaldi_app/settings.py:272 msgid "Default directory:" msgstr "Répertoire par défaut:" -#: ../python/frescobaldi_app/settings.py:275 +#: ../python/frescobaldi_app/settings.py:277 msgid "The default folder for your LilyPond documents (optional)." msgstr "Le répertoire par défaut de vos documents LilyPond (optionnel)." -#: ../python/frescobaldi_app/settings.py:287 +#: ../python/frescobaldi_app/settings.py:288 msgid "LilyPond documentation:" msgstr "Documentation LilyPond:" -#: ../python/frescobaldi_app/settings.py:292 +#: ../python/frescobaldi_app/settings.py:294 msgid "Url or path to the LilyPond documentation." msgstr "URL ou chemin complet de la documentation LilyPond" -#: ../python/frescobaldi_app/settings.py:304 +#: ../python/frescobaldi_app/settings.py:305 msgid "" "Paths to search for hyphenation dictionaries of OpenOffice.org, Scribus, " "KOffice, etc, one per line. If you leave out the starting slash, the " @@ -1955,23 +2053,23 @@ "une barre oblique sera parcouru à partir de la variable d'environnement " "KDEDIRS." -#: ../python/frescobaldi_app/settings.py:363 +#: ../python/frescobaldi_app/settings.py:366 msgid "Rumor MIDI input" msgstr "Entrée MIDI Rumor" -#: ../python/frescobaldi_app/settings.py:364 +#: ../python/frescobaldi_app/settings.py:367 msgid "Rumor MIDI input plugin settings" msgstr "Configurations du module d'entrée MIDI Rumor" -#: ../python/frescobaldi_app/settings.py:369 +#: ../python/frescobaldi_app/settings.py:372 msgid "Commands used by the Rumor MIDI input module" msgstr "Commandes utilisées par le module d'entrée MIDI Rumor" -#: ../python/frescobaldi_app/settings.py:376 +#: ../python/frescobaldi_app/settings.py:379 msgid "Name or full path of the Rumor program." msgstr "Nom ou chemin complet de l'exécutable Rumor." -#: ../python/frescobaldi_app/settings.py:378 +#: ../python/frescobaldi_app/settings.py:381 msgid "" "Name or full path of the aconnect program (part of ALSA, for MIDI input and " "playback using Rumor)." @@ -1979,30 +2077,87 @@ "Nom ou chemin de l'exécutable aconnect (inclus dans ALSA, pour entrée et " "sortie MIDI via Rumor)." -#: ../python/frescobaldi_app/settings.py:382 +#: ../python/frescobaldi_app/settings.py:385 msgid "" "Full command to start Timidity (or any other program) as an ALSA MIDI client." msgstr "" "Commande complète de lancement de TiMidity (ou autre) en tant que client " "MIDI pour ALSA." -#: ../python/frescobaldi_app/version.py:55 +#: ../python/frescobaldi_app/settings.py:421 +#, fuzzy +msgid "LilyPond versions to use:" +msgstr "Insérer la version de LilyPond" + +#: ../python/frescobaldi_app/settings.py:432 +msgid "" +"Enable automatic version selection (choose LilyPond version from document)" +msgstr "" + +#: ../python/frescobaldi_app/settings.py:558 +msgid "Convert-ly:" +msgstr "" + +#: ../python/frescobaldi_app/settings.py:559 +#, fuzzy +msgid "Lilypond-book:" +msgstr "LilyPond" + +#: ../python/frescobaldi_app/settings.py:595 +#, fuzzy +msgid "Path" +msgstr "Chemins" + +#: ../python/frescobaldi_app/settings.py:596 +#, fuzzy +msgid "Version" +msgstr "Version:" + +#: ../python/frescobaldi_app/settings.py:599 +#, fuzzy +msgid "Can't determine LilyPond version." +msgstr "Insérer la version de LilyPond" + +#: ../python/frescobaldi_app/settings.py:624 +#, fuzzy +msgid "LilyPond Command:" +msgstr "Index de commandes LilyPond" + +#: ../python/frescobaldi_app/settings.py:628 +msgid "Name or full path of the LilyPond program." +msgstr "Nom ou chemin complet de l'exécutable LilyPond." + +#: ../python/frescobaldi_app/settings.py:629 +#, fuzzy +msgid "LilyPond Command" +msgstr "Index de commandes LilyPond" + +#: ../python/frescobaldi_app/settings.py:642 +#, fuzzy +msgid "Set as default" +msgstr "Enregistrer ces réglages en tant que défaut." + +#: ../python/frescobaldi_app/settings.py:644 +msgid "Include in automatic version selection" +msgstr "" + +#: ../python/frescobaldi_app/version.py:61 msgid "Your document has already a LilyPond version statement." msgstr "Ce document comprend déjà une indication de version." -#: ../python/frescobaldi_app/version.py:56 +#: ../python/frescobaldi_app/version.py:62 msgid "Version already set" msgstr "Version déjà affectée" -#: ../python/frescobaldi_app/version.py:64 -#: ../python/frescobaldi_app/version.py:82 +#: ../python/frescobaldi_app/version.py:70 +#: ../python/frescobaldi_app/version.py:88 msgid "" "Can't determine the version of LilyPond. Please check your LilyPond " "installation." msgstr "" "Impossible de déterminer la version de LilyPond. Vérifiez votre installation." -#: ../python/frescobaldi_app/version.py:78 +#: ../python/frescobaldi_app/version.py:84 msgid "" "Can't determine the LilyPond version of the current document. Please add a " "\\version statement with the correct version." @@ -2010,11 +2165,11 @@ "Impossible de déterminer la version de LilyPond utilisée dans ce document. " "Ajoutez une indication de \\version correcte." -#: ../python/frescobaldi_app/version.py:86 +#: ../python/frescobaldi_app/version.py:92 msgid "This LilyPond document is already up-to-date." msgstr "Ce document est déjà à jour." -#: ../python/frescobaldi_app/version.py:100 +#: ../python/frescobaldi_app/version.py:105 msgid "" "The document has been processed with convert-ly. You'll find the messages of " "convert-ly in a comment block at the end. You still may have to edit some " @@ -2024,7 +2179,7 @@ "messages de convert-ly, en commentaire. Certains endroits peuvent nécessiter " "des modifications manuelles." -#: ../python/frescobaldi_app/version.py:106 +#: ../python/frescobaldi_app/version.py:111 msgid "" "The document has been processed with convert-ly, but remained unchanged. " "This is the message given by convert-ly: %1" @@ -2032,182 +2187,182 @@ "Ce document a été traité par convert-ly, mais n'a subi aucun changement. " "Voici le message rapporté par convert-ly: %1" -#: ../python/frescobaldi_app/version.py:111 +#: ../python/frescobaldi_app/version.py:116 msgid "Could not start convert-ly: %1" msgstr "Impossible de lancer convert-ly: %1" -#: ../python/frescobaldi_app/widgets.py:46 +#: ../python/frescobaldi_app/widgets.py:47 msgid "Tap" msgstr "Pulsation" -#: ../python/frescobaldi_app/widgets.py:52 +#: ../python/frescobaldi_app/widgets.py:53 msgid "Click this button a few times to set the tempo." msgstr "Cliquez plusieurs fois sur ce bouton pour régler le tempo." -#: ../python/frescobaldi_app/widgets.py:178 +#: ../python/frescobaldi_app/widgets.py:179 msgid "The tempo in beats per minute." msgstr "Tempo, en pulsations par minute." -#: ../python/frescobaldi_app/widgets.py:290 +#: ../python/frescobaldi_app/widgets.py:288 msgid "Treble" msgstr "Clef de sol" -#: ../python/frescobaldi_app/widgets.py:291 -#: ../python/frescobaldi_app/scorewiz/parts.py:809 +#: ../python/frescobaldi_app/widgets.py:289 +#: ../python/frescobaldi_app/scorewiz/parts.py:812 msgid "Alto" msgstr "Alto" -#: ../python/frescobaldi_app/widgets.py:292 -#: ../python/frescobaldi_app/scorewiz/parts.py:815 +#: ../python/frescobaldi_app/widgets.py:290 +#: ../python/frescobaldi_app/scorewiz/parts.py:818 msgid "Tenor" msgstr "Ténor" -#: ../python/frescobaldi_app/widgets.py:293 +#: ../python/frescobaldi_app/widgets.py:291 msgid "Treble 8" msgstr "Clef de sol 8" -#: ../python/frescobaldi_app/widgets.py:294 -#: ../python/frescobaldi_app/scorewiz/parts.py:585 -#: ../python/frescobaldi_app/scorewiz/parts.py:822 +#: ../python/frescobaldi_app/widgets.py:292 +#: ../python/frescobaldi_app/scorewiz/parts.py:588 +#: ../python/frescobaldi_app/scorewiz/parts.py:825 msgid "Bass" msgstr "Basse" -#: ../python/frescobaldi_app/widgets.py:295 -#: ../python/frescobaldi_app/scorewiz/parts.py:1402 +#: ../python/frescobaldi_app/widgets.py:293 +#: ../python/frescobaldi_app/scorewiz/parts.py:1512 msgid "Percussion" msgstr "Percussions" -#: ../python/frescobaldi_app/widgets.py:298 +#: ../python/frescobaldi_app/widgets.py:296 msgid "Tab clef" msgstr "Tablature" -#: ../python/frescobaldi_app/widgets.py:300 +#: ../python/frescobaldi_app/widgets.py:298 msgid "No Clef" msgstr "Pas de clef" -#: ../python/frescobaldi_app/scorewiz/__init__.py:68 +#: ../python/frescobaldi_app/scorewiz/__init__.py:62 msgid "Score Setup Wizard" msgstr "Assistant de création de partition." -#: ../python/frescobaldi_app/scorewiz/__init__.py:137 +#: ../python/frescobaldi_app/scorewiz/__init__.py:133 msgid "Titles and Headers" msgstr "Titres et En-têtes" -#: ../python/frescobaldi_app/scorewiz/__init__.py:155 +#: ../python/frescobaldi_app/scorewiz/__init__.py:151 msgid "Click to enter a value." msgstr "Cliquer pour saisir une valeur." -#: ../python/frescobaldi_app/scorewiz/__init__.py:157 +#: ../python/frescobaldi_app/scorewiz/__init__.py:153 msgid "bottom of first page" msgstr "bas de la première page" -#: ../python/frescobaldi_app/scorewiz/__init__.py:158 +#: ../python/frescobaldi_app/scorewiz/__init__.py:154 msgid "bottom of last page" msgstr "bas de la dernière page" -#: ../python/frescobaldi_app/scorewiz/__init__.py:201 +#: ../python/frescobaldi_app/scorewiz/__init__.py:194 msgid "Parts" msgstr "Parties" -#: ../python/frescobaldi_app/scorewiz/__init__.py:206 +#: ../python/frescobaldi_app/scorewiz/__init__.py:199 msgid "Available parts:" msgstr "Parties disponibles:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:209 +#: ../python/frescobaldi_app/scorewiz/__init__.py:202 msgid "Add selected part to your score." msgstr "Ajouter la partie sélectionnée à votre partition." -#: ../python/frescobaldi_app/scorewiz/__init__.py:214 +#: ../python/frescobaldi_app/scorewiz/__init__.py:207 msgid "Score:" msgstr "Partition:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:348 -#: ../python/frescobaldi_app/scorewiz/__init__.py:353 +#: ../python/frescobaldi_app/scorewiz/__init__.py:341 +#: ../python/frescobaldi_app/scorewiz/__init__.py:346 msgid "Score settings" msgstr "Réglages de la partition" -#: ../python/frescobaldi_app/scorewiz/__init__.py:360 +#: ../python/frescobaldi_app/scorewiz/__init__.py:353 msgid "General preferences" msgstr "Préférences générales" -#: ../python/frescobaldi_app/scorewiz/__init__.py:362 +#: ../python/frescobaldi_app/scorewiz/__init__.py:355 msgid "Instrument names" msgstr "Noms des instruments" -#: ../python/frescobaldi_app/scorewiz/__init__.py:369 +#: ../python/frescobaldi_app/scorewiz/__init__.py:362 msgid "Key signature:" msgstr "Armure:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:377 +#: ../python/frescobaldi_app/scorewiz/__init__.py:370 msgid "Time signature:" msgstr "Chiffre de mesure:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:393 +#: ../python/frescobaldi_app/scorewiz/__init__.py:386 msgid "Pickup measure:" msgstr "Anacrouse:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:405 +#: ../python/frescobaldi_app/scorewiz/__init__.py:398 msgid "Metronome mark:" msgstr "Indication métronomique:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:434 +#: ../python/frescobaldi_app/scorewiz/__init__.py:427 msgid "Tempo indication:" msgstr "Indication de tempo:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:438 +#: ../python/frescobaldi_app/scorewiz/__init__.py:431 msgid "A tempo indication, e.g. \"Allegro.\"" msgstr "Indiquez le tempo, par exemple \"Allegro\"" -#: ../python/frescobaldi_app/scorewiz/__init__.py:444 +#: ../python/frescobaldi_app/scorewiz/__init__.py:437 msgid "Pitch name language:" msgstr "Langue pour le nom des hauteurs:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:452 +#: ../python/frescobaldi_app/scorewiz/__init__.py:445 msgid "The LilyPond language you want to use for the pitch names." msgstr "Langue du nom des notes dans le code LilyPond." -#: ../python/frescobaldi_app/scorewiz/__init__.py:469 +#: ../python/frescobaldi_app/scorewiz/__init__.py:451 msgid "Version:" msgstr "Version:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:478 +#: ../python/frescobaldi_app/scorewiz/__init__.py:460 msgid "The LilyPond version you will be using for this document." msgstr "Indiquez la version de LilyPond utilisée pour ce document." -#: ../python/frescobaldi_app/scorewiz/__init__.py:482 +#: ../python/frescobaldi_app/scorewiz/__init__.py:464 msgid "Use typographical quotes" msgstr "Utiliser des guillemets typographiques" -#: ../python/frescobaldi_app/scorewiz/__init__.py:484 +#: ../python/frescobaldi_app/scorewiz/__init__.py:466 msgid "Replace normal quotes in titles with nice typographical quotes." msgstr "Remplacer les guillemets standard par des guillemets typographiques." -#: ../python/frescobaldi_app/scorewiz/__init__.py:488 +#: ../python/frescobaldi_app/scorewiz/__init__.py:470 msgid "Suppress the default tagline output by LilyPond." msgstr "Enlever le pied de page ajouté par défaut à la dernière page." -#: ../python/frescobaldi_app/scorewiz/__init__.py:490 +#: ../python/frescobaldi_app/scorewiz/__init__.py:472 msgid "Remove bar numbers" msgstr "Enlever les numéros de mesure" -#: ../python/frescobaldi_app/scorewiz/__init__.py:492 +#: ../python/frescobaldi_app/scorewiz/__init__.py:474 msgid "" "Suppress the display of measure numbers at the beginning of every system." msgstr "Empêcher l'affichage de numéros de mesure au début de chaque système." -#: ../python/frescobaldi_app/scorewiz/__init__.py:495 +#: ../python/frescobaldi_app/scorewiz/__init__.py:477 msgid "Create MIDI output" msgstr "Créer un rendu MIDI" -#: ../python/frescobaldi_app/scorewiz/__init__.py:497 +#: ../python/frescobaldi_app/scorewiz/__init__.py:479 msgid "Create a MIDI file in addition to the PDF file." msgstr "Créer un fichier MIDI en plus du rendu PDF." -#: ../python/frescobaldi_app/scorewiz/__init__.py:499 +#: ../python/frescobaldi_app/scorewiz/__init__.py:481 msgid "Show metronome mark" msgstr "Afficher l'indication de métronome" -#: ../python/frescobaldi_app/scorewiz/__init__.py:501 +#: ../python/frescobaldi_app/scorewiz/__init__.py:483 msgid "" "If checked, show the metronome mark at the beginning of the score. The MIDI " "output also uses the metronome setting." @@ -2215,153 +2370,161 @@ "Cochez cette case pour afficher une indication métronomique au début de la " "partition ; elle sera également utilisée dans la sortie MIDI." -#: ../python/frescobaldi_app/scorewiz/__init__.py:512 +#: ../python/frescobaldi_app/scorewiz/__init__.py:487 +msgid "Wrap score in \\book block" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/__init__.py:489 +msgid "If checked, wraps the \\score block inside a \\book block." +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/__init__.py:499 msgid "Landscape" msgstr "Paysage" -#: ../python/frescobaldi_app/scorewiz/__init__.py:526 +#: ../python/frescobaldi_app/scorewiz/__init__.py:511 msgid "First system:" msgstr "Premier système:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:529 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/scorewiz/__init__.py:514 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "Long" msgstr "Long" -#: ../python/frescobaldi_app/scorewiz/__init__.py:529 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/scorewiz/__init__.py:514 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "Short" msgstr "Court" -#: ../python/frescobaldi_app/scorewiz/__init__.py:531 +#: ../python/frescobaldi_app/scorewiz/__init__.py:516 msgid "Use long or short instrument names before the first system." msgstr "" "Utiliser des noms d'instrument longs ou abrégés avant le premier système." -#: ../python/frescobaldi_app/scorewiz/__init__.py:535 +#: ../python/frescobaldi_app/scorewiz/__init__.py:520 msgid "Other systems:" msgstr "Autres systèmes:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:540 +#: ../python/frescobaldi_app/scorewiz/__init__.py:525 msgid "Use short, long or no instrument names before the next systems." msgstr "" "Utiliser ou non des noms d'instruments, longs ou courts, avant le prochain " "système." -#: ../python/frescobaldi_app/scorewiz/__init__.py:548 +#: ../python/frescobaldi_app/scorewiz/__init__.py:533 msgid "Which language to use for the instrument names." msgstr "Quel langage utiliser pour les noms d'instruments." -#: ../python/frescobaldi_app/scorewiz/__init__.py:726 +#: ../python/frescobaldi_app/scorewiz/__init__.py:736 msgid "Remove default LilyPond tagline" msgstr "Enlever le pied de page par défaut" -#: ../python/frescobaldi_app/scorewiz/__init__.py:1040 +#: ../python/frescobaldi_app/scorewiz/__init__.py:1077 msgid "No settings available." msgstr "Pas de réglages possibles." -#: ../python/frescobaldi_app/scorewiz/parts.py:50 +#: ../python/frescobaldi_app/scorewiz/parts.py:54 msgid "Voices:" msgstr "Voix:" -#: ../python/frescobaldi_app/scorewiz/parts.py:55 +#: ../python/frescobaldi_app/scorewiz/parts.py:59 msgid "How many voices to put in this staff." msgstr "Nombre de voix sur cette portée." -#: ../python/frescobaldi_app/scorewiz/parts.py:93 +#: ../python/frescobaldi_app/scorewiz/parts.py:97 msgid "Music follows here." msgstr "En avant la musique !" -#: ../python/frescobaldi_app/scorewiz/parts.py:160 +#: ../python/frescobaldi_app/scorewiz/parts.py:164 msgid "Staff type:" msgstr "Type de portée:" -#: ../python/frescobaldi_app/scorewiz/parts.py:164 +#: ../python/frescobaldi_app/scorewiz/parts.py:168 msgid "Normal staff" msgstr "Portée standard" -#: ../python/frescobaldi_app/scorewiz/parts.py:165 +#: ../python/frescobaldi_app/scorewiz/parts.py:169 msgid "Tablature" msgstr "Tablature" -#: ../python/frescobaldi_app/scorewiz/parts.py:166 +#: ../python/frescobaldi_app/scorewiz/parts.py:170 msgid "Both" msgstr "Mixte" -#: ../python/frescobaldi_app/scorewiz/parts.py:177 +#: ../python/frescobaldi_app/scorewiz/parts.py:180 msgid "Tuning:" msgstr "Accord:" -#: ../python/frescobaldi_app/scorewiz/parts.py:298 +#: ../python/frescobaldi_app/scorewiz/parts.py:301 msgid "Lyrics follow here." msgstr "Ajouter ici des paroles." -#: ../python/frescobaldi_app/scorewiz/parts.py:309 +#: ../python/frescobaldi_app/scorewiz/parts.py:312 msgid "Stanzas:" msgstr "Couplets:" -#: ../python/frescobaldi_app/scorewiz/parts.py:313 +#: ../python/frescobaldi_app/scorewiz/parts.py:316 msgid "The number of stanzas." msgstr "Nombre de couplets." -#: ../python/frescobaldi_app/scorewiz/parts.py:316 +#: ../python/frescobaldi_app/scorewiz/parts.py:319 msgid "Ambitus" msgstr "Ambitus" -#: ../python/frescobaldi_app/scorewiz/parts.py:319 +#: ../python/frescobaldi_app/scorewiz/parts.py:322 msgid "Show the pitch range of the voice at the beginning of the staff." msgstr "Afficher la tessiture de la voix au début de la portée." -#: ../python/frescobaldi_app/scorewiz/parts.py:383 +#: ../python/frescobaldi_app/scorewiz/parts.py:386 msgid "Adjust how many separate voices you want on each staff." msgstr "Indiquez le nombre de voix distinctes souhaitées par portée." -#: ../python/frescobaldi_app/scorewiz/parts.py:384 +#: ../python/frescobaldi_app/scorewiz/parts.py:387 msgid "This is primarily useful when you write polyphonic music like a fuge." msgstr "C'est surtout utile dans de la musique polyphonique (fugue, ...)." -#: ../python/frescobaldi_app/scorewiz/parts.py:388 +#: ../python/frescobaldi_app/scorewiz/parts.py:391 msgid "Right hand:" msgstr "Main droite:" -#: ../python/frescobaldi_app/scorewiz/parts.py:389 +#: ../python/frescobaldi_app/scorewiz/parts.py:392 msgid "Left hand:" msgstr "Main gauche:" -#: ../python/frescobaldi_app/scorewiz/parts.py:408 -#: ../python/frescobaldi_app/scorewiz/parts.py:895 +#: ../python/frescobaldi_app/scorewiz/parts.py:411 +#: ../python/frescobaldi_app/scorewiz/parts.py:898 msgid "Chord names" msgstr "Chiffrages d'accords" -#: ../python/frescobaldi_app/scorewiz/parts.py:420 +#: ../python/frescobaldi_app/scorewiz/parts.py:423 msgid "Chords follow here." msgstr "Ajouter ici des chiffrages." -#: ../python/frescobaldi_app/scorewiz/parts.py:432 +#: ../python/frescobaldi_app/scorewiz/parts.py:435 msgid "Chord style:" msgstr "Styles d'accords:" -#: ../python/frescobaldi_app/scorewiz/parts.py:437 +#: ../python/frescobaldi_app/scorewiz/parts.py:440 msgid "German" msgstr "Allemand" -#: ../python/frescobaldi_app/scorewiz/parts.py:438 +#: ../python/frescobaldi_app/scorewiz/parts.py:441 msgid "Semi-German" msgstr "Semi-Allemand" -#: ../python/frescobaldi_app/scorewiz/parts.py:439 +#: ../python/frescobaldi_app/scorewiz/parts.py:442 msgid "Italian" msgstr "Italien" -#: ../python/frescobaldi_app/scorewiz/parts.py:440 +#: ../python/frescobaldi_app/scorewiz/parts.py:443 msgid "French" msgstr "Français" -#: ../python/frescobaldi_app/scorewiz/parts.py:441 +#: ../python/frescobaldi_app/scorewiz/parts.py:444 msgid "Guitar fret diagrams" msgstr "Accord de Guitare" -#: ../python/frescobaldi_app/scorewiz/parts.py:443 +#: ../python/frescobaldi_app/scorewiz/parts.py:446 msgid "" "Show predefined guitar fret diagrams below the chord names (LilyPond 2.12 " "and above)." @@ -2369,392 +2532,392 @@ "Montrer les diagrames d'accords sous le nom de l'accord (Lilypond 2.12 et au " "delà). " -#: ../python/frescobaldi_app/scorewiz/parts.py:449 +#: ../python/frescobaldi_app/scorewiz/parts.py:452 msgid "Figured Bass" msgstr "Basse chiffrée" -#: ../python/frescobaldi_app/scorewiz/parts.py:457 -#: ../python/frescobaldi_app/scorewiz/parts.py:516 +#: ../python/frescobaldi_app/scorewiz/parts.py:460 +#: ../python/frescobaldi_app/scorewiz/parts.py:519 msgid "Figures follow here." msgstr "Ajouter des chiffrages ici." -#: ../python/frescobaldi_app/scorewiz/parts.py:464 +#: ../python/frescobaldi_app/scorewiz/parts.py:467 msgid "Use extender lines" msgstr "Utiliser des lignes d'extension" -#: ../python/frescobaldi_app/scorewiz/parts.py:469 +#: ../python/frescobaldi_app/scorewiz/parts.py:472 msgid "Violin" msgstr "Violon" -#: ../python/frescobaldi_app/scorewiz/parts.py:470 +#: ../python/frescobaldi_app/scorewiz/parts.py:473 msgid "Violin|Vl." msgstr "Violon|Vl." -#: ../python/frescobaldi_app/scorewiz/parts.py:475 +#: ../python/frescobaldi_app/scorewiz/parts.py:478 msgid "Viola" msgstr "Alto" -#: ../python/frescobaldi_app/scorewiz/parts.py:476 +#: ../python/frescobaldi_app/scorewiz/parts.py:479 msgid "Viola|Vla." msgstr "Alto|Alt." -#: ../python/frescobaldi_app/scorewiz/parts.py:483 +#: ../python/frescobaldi_app/scorewiz/parts.py:486 msgid "Cello" msgstr "Violoncelle" -#: ../python/frescobaldi_app/scorewiz/parts.py:484 +#: ../python/frescobaldi_app/scorewiz/parts.py:487 msgid "Cello|Cl." msgstr "Violoncelle|Vlc." -#: ../python/frescobaldi_app/scorewiz/parts.py:491 +#: ../python/frescobaldi_app/scorewiz/parts.py:494 msgid "Contrabass" msgstr "Contrebasse" -#: ../python/frescobaldi_app/scorewiz/parts.py:492 +#: ../python/frescobaldi_app/scorewiz/parts.py:495 msgid "Contrabass|Cb." msgstr "Contrebasse|Cb." -#: ../python/frescobaldi_app/scorewiz/parts.py:499 +#: ../python/frescobaldi_app/scorewiz/parts.py:502 msgid "Basso continuo" msgstr "Basse Continue" -#: ../python/frescobaldi_app/scorewiz/parts.py:500 +#: ../python/frescobaldi_app/scorewiz/parts.py:503 msgid "Basso Continuo|B.c." msgstr "Basse continue|Cont." -#: ../python/frescobaldi_app/scorewiz/parts.py:522 +#: ../python/frescobaldi_app/scorewiz/parts.py:525 msgid "Mandolin" msgstr "Mandoline" -#: ../python/frescobaldi_app/scorewiz/parts.py:523 +#: ../python/frescobaldi_app/scorewiz/parts.py:526 msgid "Mandolin|Mdl." msgstr "Mandoline|Mdl." -#: ../python/frescobaldi_app/scorewiz/parts.py:526 +#: ../python/frescobaldi_app/scorewiz/parts.py:529 msgid "Mandolin tuning" msgstr "Accord de mandoline" -#: ../python/frescobaldi_app/scorewiz/parts.py:531 +#: ../python/frescobaldi_app/scorewiz/parts.py:534 msgid "Banjo" msgstr "Banjo" -#: ../python/frescobaldi_app/scorewiz/parts.py:532 +#: ../python/frescobaldi_app/scorewiz/parts.py:535 msgid "Banjo|Bj." msgstr "Banjo|Bj." -#: ../python/frescobaldi_app/scorewiz/parts.py:536 +#: ../python/frescobaldi_app/scorewiz/parts.py:539 msgid "Open G-tuning (aDGBD)" msgstr "Accord en Sol ouvert (la Ré Sol Si Ré)" -#: ../python/frescobaldi_app/scorewiz/parts.py:537 +#: ../python/frescobaldi_app/scorewiz/parts.py:540 msgid "C-tuning (gCGBD)" msgstr "Accord en Do (sol Do Sol Si Ré)" -#: ../python/frescobaldi_app/scorewiz/parts.py:538 +#: ../python/frescobaldi_app/scorewiz/parts.py:541 msgid "Modal tuning (gDGCD)" msgstr "Accord modal (sol Ré Sol Do Ré)" -#: ../python/frescobaldi_app/scorewiz/parts.py:539 +#: ../python/frescobaldi_app/scorewiz/parts.py:542 msgid "Open D-tuning (aDF#AD)" msgstr "Accord en Ré ouvert (la Ré Fad La Ré)" -#: ../python/frescobaldi_app/scorewiz/parts.py:540 +#: ../python/frescobaldi_app/scorewiz/parts.py:543 msgid "Open Dm-tuning (aDFAD)" msgstr "Accord en Ré mineur (la Ré Fa La Ré)" -#: ../python/frescobaldi_app/scorewiz/parts.py:544 +#: ../python/frescobaldi_app/scorewiz/parts.py:547 msgid "Four strings (instead of five)" msgstr "Quatres cordes (au lieu de cinq)" -#: ../python/frescobaldi_app/scorewiz/parts.py:561 +#: ../python/frescobaldi_app/scorewiz/parts.py:564 msgid "Classical guitar" msgstr "Guitare Classique" -#: ../python/frescobaldi_app/scorewiz/parts.py:562 +#: ../python/frescobaldi_app/scorewiz/parts.py:565 msgid "Guitar|Gt." msgstr "Guitare|Gtr." -#: ../python/frescobaldi_app/scorewiz/parts.py:566 +#: ../python/frescobaldi_app/scorewiz/parts.py:569 msgid "Guitar tuning" msgstr "Accord de Guitare" -#: ../python/frescobaldi_app/scorewiz/parts.py:567 +#: ../python/frescobaldi_app/scorewiz/parts.py:570 msgid "Open G-tuning" msgstr "Accord de Sol ouvert" -#: ../python/frescobaldi_app/scorewiz/parts.py:579 +#: ../python/frescobaldi_app/scorewiz/parts.py:582 msgid "Jazz guitar" msgstr "Guitare Jazz" -#: ../python/frescobaldi_app/scorewiz/parts.py:580 +#: ../python/frescobaldi_app/scorewiz/parts.py:583 msgid "Jazz guitar|J.Gt." msgstr "Guitare Jazz|Gtr.J." -#: ../python/frescobaldi_app/scorewiz/parts.py:586 +#: ../python/frescobaldi_app/scorewiz/parts.py:589 msgid "Bass|Bs." msgstr "Basse|Bas." -#: ../python/frescobaldi_app/scorewiz/parts.py:591 +#: ../python/frescobaldi_app/scorewiz/parts.py:594 msgid "Bass tuning" msgstr "Accord de Basse" -#: ../python/frescobaldi_app/scorewiz/parts.py:596 +#: ../python/frescobaldi_app/scorewiz/parts.py:599 msgid "Electric bass" msgstr "Basse électrique" -#: ../python/frescobaldi_app/scorewiz/parts.py:597 +#: ../python/frescobaldi_app/scorewiz/parts.py:600 msgid "Electric bass|E.Bs." msgstr "Basse électrique|Bas.E." -#: ../python/frescobaldi_app/scorewiz/parts.py:602 +#: ../python/frescobaldi_app/scorewiz/parts.py:605 msgid "Harp" msgstr "Harpe" -#: ../python/frescobaldi_app/scorewiz/parts.py:603 +#: ../python/frescobaldi_app/scorewiz/parts.py:606 msgid "Harp|Hp." msgstr "Harpe|Hp." -#: ../python/frescobaldi_app/scorewiz/parts.py:618 +#: ../python/frescobaldi_app/scorewiz/parts.py:621 msgid "Upper staff:" msgstr "Portée supérieur:" -#: ../python/frescobaldi_app/scorewiz/parts.py:619 +#: ../python/frescobaldi_app/scorewiz/parts.py:622 msgid "Lower staff:" msgstr "Portée inférieure:" -#: ../python/frescobaldi_app/scorewiz/parts.py:623 +#: ../python/frescobaldi_app/scorewiz/parts.py:626 msgid "Flute" msgstr "Flûte" -#: ../python/frescobaldi_app/scorewiz/parts.py:624 +#: ../python/frescobaldi_app/scorewiz/parts.py:627 msgid "Flute|Fl." msgstr "Flûte|Fl." -#: ../python/frescobaldi_app/scorewiz/parts.py:629 +#: ../python/frescobaldi_app/scorewiz/parts.py:632 msgid "Piccolo" msgstr "Piccolo" -#: ../python/frescobaldi_app/scorewiz/parts.py:630 +#: ../python/frescobaldi_app/scorewiz/parts.py:633 msgid "Piccolo|Pic." msgstr "Piccolo|Pic." -#: ../python/frescobaldi_app/scorewiz/parts.py:636 +#: ../python/frescobaldi_app/scorewiz/parts.py:639 msgid "Bass flute" msgstr "Flûte Basse" -#: ../python/frescobaldi_app/scorewiz/parts.py:637 +#: ../python/frescobaldi_app/scorewiz/parts.py:640 msgid "Bass flute|Bfl." msgstr "Flûte Basse|Fl.B." -#: ../python/frescobaldi_app/scorewiz/parts.py:643 +#: ../python/frescobaldi_app/scorewiz/parts.py:646 msgid "Oboe" msgstr "Hautbois" -#: ../python/frescobaldi_app/scorewiz/parts.py:644 +#: ../python/frescobaldi_app/scorewiz/parts.py:647 msgid "Oboe|Ob." msgstr "Hautbois|Htb." -#: ../python/frescobaldi_app/scorewiz/parts.py:649 +#: ../python/frescobaldi_app/scorewiz/parts.py:652 msgid "Oboe d'Amore" msgstr "Hautbois d'amour" -#: ../python/frescobaldi_app/scorewiz/parts.py:650 +#: ../python/frescobaldi_app/scorewiz/parts.py:653 msgid "Oboe d'amore|Ob.d'am." msgstr "Hautbois d'amour|Htb.d'am." -#: ../python/frescobaldi_app/scorewiz/parts.py:656 +#: ../python/frescobaldi_app/scorewiz/parts.py:659 msgid "English Horn" msgstr "Cor Anglais" -#: ../python/frescobaldi_app/scorewiz/parts.py:657 +#: ../python/frescobaldi_app/scorewiz/parts.py:660 msgid "English horn|Eng.h." msgstr "Cor Anglais|C.Angl." -#: ../python/frescobaldi_app/scorewiz/parts.py:663 +#: ../python/frescobaldi_app/scorewiz/parts.py:666 msgid "Bassoon" msgstr "Basson" -#: ../python/frescobaldi_app/scorewiz/parts.py:664 +#: ../python/frescobaldi_app/scorewiz/parts.py:667 msgid "Bassoon|Bn." msgstr "Basson|Bn." -#: ../python/frescobaldi_app/scorewiz/parts.py:671 +#: ../python/frescobaldi_app/scorewiz/parts.py:674 msgid "Contrabassoon" msgstr "Contrebasson" -#: ../python/frescobaldi_app/scorewiz/parts.py:672 +#: ../python/frescobaldi_app/scorewiz/parts.py:675 msgid "Contrabassoon|C.Bn." msgstr "Contrebasson|C.Bn." -#: ../python/frescobaldi_app/scorewiz/parts.py:680 +#: ../python/frescobaldi_app/scorewiz/parts.py:683 msgid "Clarinet" msgstr "Clarinette" -#: ../python/frescobaldi_app/scorewiz/parts.py:681 +#: ../python/frescobaldi_app/scorewiz/parts.py:684 msgid "Clarinet|Cl." msgstr "Clarinette|Cl." -#: ../python/frescobaldi_app/scorewiz/parts.py:687 +#: ../python/frescobaldi_app/scorewiz/parts.py:690 msgid "Sopranino Sax" msgstr "Saxophone Sopranino" -#: ../python/frescobaldi_app/scorewiz/parts.py:688 +#: ../python/frescobaldi_app/scorewiz/parts.py:691 msgid "Sopranino Sax|SiSx." msgstr "Saxophone Sopranino|SaxSnn." -#: ../python/frescobaldi_app/scorewiz/parts.py:694 +#: ../python/frescobaldi_app/scorewiz/parts.py:697 msgid "Soprano Sax" msgstr "Saxophone Soprano" -#: ../python/frescobaldi_app/scorewiz/parts.py:695 +#: ../python/frescobaldi_app/scorewiz/parts.py:698 msgid "Soprano Sax|SoSx." msgstr "Saxophone Soprano|SaxSpn." -#: ../python/frescobaldi_app/scorewiz/parts.py:701 +#: ../python/frescobaldi_app/scorewiz/parts.py:704 msgid "Alto Sax" msgstr "Saxophone Alto" -#: ../python/frescobaldi_app/scorewiz/parts.py:702 +#: ../python/frescobaldi_app/scorewiz/parts.py:705 msgid "Alto Sax|ASx." msgstr "Saxophone Alto|SaxAlt." -#: ../python/frescobaldi_app/scorewiz/parts.py:708 +#: ../python/frescobaldi_app/scorewiz/parts.py:711 msgid "Tenor Sax" msgstr "Saxophone Ténor" -#: ../python/frescobaldi_app/scorewiz/parts.py:709 +#: ../python/frescobaldi_app/scorewiz/parts.py:712 msgid "Tenor Sax|TSx." msgstr "Saxophone Ténor|SaxTén." -#: ../python/frescobaldi_app/scorewiz/parts.py:715 +#: ../python/frescobaldi_app/scorewiz/parts.py:718 msgid "Baritone Sax" msgstr "Saxophone Baryton" -#: ../python/frescobaldi_app/scorewiz/parts.py:716 +#: ../python/frescobaldi_app/scorewiz/parts.py:719 msgid "Baritone Sax|BSx." msgstr "Saxophone Baryton|SaxBar." -#: ../python/frescobaldi_app/scorewiz/parts.py:722 +#: ../python/frescobaldi_app/scorewiz/parts.py:725 msgid "Bass Sax" msgstr "Saxophone Basse" -#: ../python/frescobaldi_app/scorewiz/parts.py:723 +#: ../python/frescobaldi_app/scorewiz/parts.py:726 msgid "Bass Sax|BsSx." msgstr "Saxophone Basse|SaxBas." -#: ../python/frescobaldi_app/scorewiz/parts.py:729 +#: ../python/frescobaldi_app/scorewiz/parts.py:732 msgid "Soprano recorder" msgstr "Flûte à bec Soprano" -#: ../python/frescobaldi_app/scorewiz/parts.py:730 +#: ../python/frescobaldi_app/scorewiz/parts.py:733 msgid "Soprano recorder|S.rec." msgstr "Flûte à bec Soprano|Fl.S." -#: ../python/frescobaldi_app/scorewiz/parts.py:736 +#: ../python/frescobaldi_app/scorewiz/parts.py:739 msgid "Alto recorder" msgstr "Flûte à bec Alto" -#: ../python/frescobaldi_app/scorewiz/parts.py:737 +#: ../python/frescobaldi_app/scorewiz/parts.py:740 msgid "Alto recorder|A.rec." msgstr "Flûte à bec Alto|Fl.A." -#: ../python/frescobaldi_app/scorewiz/parts.py:742 +#: ../python/frescobaldi_app/scorewiz/parts.py:745 msgid "Tenor recorder" msgstr "Flûte à bec Ténor" -#: ../python/frescobaldi_app/scorewiz/parts.py:743 +#: ../python/frescobaldi_app/scorewiz/parts.py:746 msgid "Tenor recorder|T.rec." msgstr "Flûte à bec Ténor|Fl.T." -#: ../python/frescobaldi_app/scorewiz/parts.py:748 +#: ../python/frescobaldi_app/scorewiz/parts.py:751 msgid "Bass recorder" msgstr "Flûte à bec Basse" -#: ../python/frescobaldi_app/scorewiz/parts.py:749 +#: ../python/frescobaldi_app/scorewiz/parts.py:752 msgid "Bass recorder|B.rec." msgstr "Flûte à bec Basse|Fl.B." -#: ../python/frescobaldi_app/scorewiz/parts.py:756 +#: ../python/frescobaldi_app/scorewiz/parts.py:759 msgid "Horn in F" msgstr "Cor en Fa" -#: ../python/frescobaldi_app/scorewiz/parts.py:757 +#: ../python/frescobaldi_app/scorewiz/parts.py:760 msgid "Horn in F|Hn.F." msgstr "Cor en Fa|C.Fa" -#: ../python/frescobaldi_app/scorewiz/parts.py:763 +#: ../python/frescobaldi_app/scorewiz/parts.py:766 msgid "Trumpet in C" msgstr "Trompette en Ut" -#: ../python/frescobaldi_app/scorewiz/parts.py:764 +#: ../python/frescobaldi_app/scorewiz/parts.py:767 msgid "Trumpet in C|Tr.C" msgstr "Trompette en Ut|Tr.Ut" -#: ../python/frescobaldi_app/scorewiz/parts.py:769 +#: ../python/frescobaldi_app/scorewiz/parts.py:772 msgid "Trumpet in Bb" msgstr "Trompette en Sib" -#: ../python/frescobaldi_app/scorewiz/parts.py:770 +#: ../python/frescobaldi_app/scorewiz/parts.py:773 msgid "Trumpet in Bb|Tr.Bb" msgstr "Trompette en Sib|Tr.Sib." -#: ../python/frescobaldi_app/scorewiz/parts.py:775 +#: ../python/frescobaldi_app/scorewiz/parts.py:778 msgid "Trombone" msgstr "Trombone" -#: ../python/frescobaldi_app/scorewiz/parts.py:776 +#: ../python/frescobaldi_app/scorewiz/parts.py:779 msgid "Trombone|Trb." msgstr "Trombone|Tbn." -#: ../python/frescobaldi_app/scorewiz/parts.py:783 +#: ../python/frescobaldi_app/scorewiz/parts.py:786 msgid "Tuba" msgstr "Tuba" -#: ../python/frescobaldi_app/scorewiz/parts.py:784 +#: ../python/frescobaldi_app/scorewiz/parts.py:787 msgid "Tuba|Tb." msgstr "Tuba|Tb." -#: ../python/frescobaldi_app/scorewiz/parts.py:790 +#: ../python/frescobaldi_app/scorewiz/parts.py:793 msgid "Bass Tuba" msgstr "Tuba Basse" -#: ../python/frescobaldi_app/scorewiz/parts.py:791 +#: ../python/frescobaldi_app/scorewiz/parts.py:794 msgid "Bass Tuba|B.Tb." msgstr "Tuba Basse|Tb.B." -#: ../python/frescobaldi_app/scorewiz/parts.py:799 +#: ../python/frescobaldi_app/scorewiz/parts.py:802 msgid "Soprano" msgstr "Soprano" -#: ../python/frescobaldi_app/scorewiz/parts.py:800 +#: ../python/frescobaldi_app/scorewiz/parts.py:803 msgid "Soprano|S." msgstr "Soprano|Sopr." -#: ../python/frescobaldi_app/scorewiz/parts.py:804 +#: ../python/frescobaldi_app/scorewiz/parts.py:807 msgid "Mezzo soprano" msgstr "Mezzo Soprano" -#: ../python/frescobaldi_app/scorewiz/parts.py:805 +#: ../python/frescobaldi_app/scorewiz/parts.py:808 msgid "Mezzo-soprano|Ms." msgstr "Mezzo-soprano|Mezz." -#: ../python/frescobaldi_app/scorewiz/parts.py:810 +#: ../python/frescobaldi_app/scorewiz/parts.py:813 msgid "Alto|A." msgstr "Alto|Alt." -#: ../python/frescobaldi_app/scorewiz/parts.py:816 +#: ../python/frescobaldi_app/scorewiz/parts.py:819 msgid "Tenor|T." msgstr "Ténor|Tén." -#: ../python/frescobaldi_app/scorewiz/parts.py:823 +#: ../python/frescobaldi_app/scorewiz/parts.py:826 msgid "Bass|B." msgstr "Basse|Bas." -#: ../python/frescobaldi_app/scorewiz/parts.py:829 +#: ../python/frescobaldi_app/scorewiz/parts.py:832 msgid "Lead sheet" msgstr "Song" -#: ../python/frescobaldi_app/scorewiz/parts.py:891 +#: ../python/frescobaldi_app/scorewiz/parts.py:894 msgid "" "The Lead Sheet provides a staff with chord names above and lyrics below it. " "A second staff is optional." @@ -2762,11 +2925,11 @@ "Un Song Book s'écrit sur une portée, entourée de chiffrages d'accords et de " "paroles. Une seconde portée peut être ajoutée." -#: ../python/frescobaldi_app/scorewiz/parts.py:902 +#: ../python/frescobaldi_app/scorewiz/parts.py:905 msgid "Add accompaniment staff" msgstr "Ajouter une portée d'accompagnement." -#: ../python/frescobaldi_app/scorewiz/parts.py:904 +#: ../python/frescobaldi_app/scorewiz/parts.py:907 msgid "" "Adds an accompaniment staff and also puts an accompaniment voice in the " "upper staff." @@ -2774,11 +2937,11 @@ "Ajouter une portée d'accompagnement, et une voix d'accompagnement à la " "portée du haut." -#: ../python/frescobaldi_app/scorewiz/parts.py:911 +#: ../python/frescobaldi_app/scorewiz/parts.py:914 msgid "Choir" msgstr "Chœur" -#: ../python/frescobaldi_app/scorewiz/parts.py:915 +#: ../python/frescobaldi_app/scorewiz/parts.py:918 msgid "" "Please select the voices for the choir. Use the letters S, A, T, or B. A " "hyphen denotes a new staff." @@ -2786,37 +2949,39 @@ "Sélectionnez les voix du chœur, au moyen des lettres S A T B. Ajoutez des " "tirets pour délimiter les portées." -#: ../python/frescobaldi_app/scorewiz/parts.py:917 +#: ../python/frescobaldi_app/scorewiz/parts.py:920 msgid "Hint: For a double choir you can use two choir parts." msgstr "Astuce: un double chœur peut s'écrire avec deux parties de chœur." -#: ../python/frescobaldi_app/scorewiz/parts.py:922 +#: ../python/frescobaldi_app/scorewiz/parts.py:925 msgid "Voicing:" msgstr "Harmonisation:" -#: ../python/frescobaldi_app/scorewiz/parts.py:936 -msgid "Lyrics" +#: ../python/frescobaldi_app/scorewiz/parts.py:942 +#, fuzzy +msgid "Lyrics:" msgstr "Paroles" -#: ../python/frescobaldi_app/scorewiz/parts.py:940 +#: ../python/frescobaldi_app/scorewiz/parts.py:946 msgid "All voices same lyrics" msgstr "Mêmes paroles pour toutes les voix" -#: ../python/frescobaldi_app/scorewiz/parts.py:943 -msgid "One set of the same lyrics is placed between all staves." +#: ../python/frescobaldi_app/scorewiz/parts.py:947 +#, fuzzy +msgid "A set of the same lyrics is placed between all staves." msgstr "Les mêmes paroles sont imprimées entre toutes les portées." -#: ../python/frescobaldi_app/scorewiz/parts.py:945 +#: ../python/frescobaldi_app/scorewiz/parts.py:948 msgid "Every voice same lyrics" msgstr "Mêmes paroles pour chaque voix" -#: ../python/frescobaldi_app/scorewiz/parts.py:947 +#: ../python/frescobaldi_app/scorewiz/parts.py:949 msgid "" "Every voice gets its own lyrics, using the same text as the other voices." msgstr "" "Chaque voix a ses propres paroles, mais le texte est le même pour toutes." -#: ../python/frescobaldi_app/scorewiz/parts.py:950 +#: ../python/frescobaldi_app/scorewiz/parts.py:951 msgid "Every voice different lyrics" msgstr "Différentes paroles pour chaque voix" @@ -2824,190 +2989,219 @@ msgid "Every voice gets a different set of lyrics." msgstr "Chaque voix a son propre texte." -#: ../python/frescobaldi_app/scorewiz/parts.py:956 +#: ../python/frescobaldi_app/scorewiz/parts.py:953 +msgid "Distribute stanzas" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:954 +#, fuzzy +msgid "One set of stanzas is distributed across the staves." +msgstr "Les mêmes paroles sont imprimées entre toutes les portées." + +#: ../python/frescobaldi_app/scorewiz/parts.py:959 msgid "Piano reduction" msgstr "Réduction pour piano" -#: ../python/frescobaldi_app/scorewiz/parts.py:958 +#: ../python/frescobaldi_app/scorewiz/parts.py:961 msgid "Adds an automatically generated piano reduction." msgstr "Ajoute une réduction pour piano générée de façon automatique." -#: ../python/frescobaldi_app/scorewiz/parts.py:983 +#: ../python/frescobaldi_app/scorewiz/parts.py:963 +msgid "Rehearsal MIDI files" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:965 +msgid "" +"Creates a rehearsal MIDI file for every voice, even if no MIDI output is " +"generated for the main score." +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:1017 msgid "Choir|Ch." msgstr "Chœeur|Ch." -#: ../python/frescobaldi_app/scorewiz/parts.py:1199 +#: ../python/frescobaldi_app/scorewiz/parts.py:1262 +msgid "Rehearsal MIDI files:" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:1309 msgid "Piano" msgstr "Piano" -#: ../python/frescobaldi_app/scorewiz/parts.py:1200 +#: ../python/frescobaldi_app/scorewiz/parts.py:1310 msgid "Piano|Pno." msgstr "Piano|Pno." -#: ../python/frescobaldi_app/scorewiz/parts.py:1205 +#: ../python/frescobaldi_app/scorewiz/parts.py:1315 msgid "Harpsichord" msgstr "Clavecin" -#: ../python/frescobaldi_app/scorewiz/parts.py:1206 +#: ../python/frescobaldi_app/scorewiz/parts.py:1316 msgid "Harpsichord|Hs." msgstr "Clavecin|Clav." -#: ../python/frescobaldi_app/scorewiz/parts.py:1211 +#: ../python/frescobaldi_app/scorewiz/parts.py:1321 msgid "Clavichord" msgstr "Clavicorde" -#: ../python/frescobaldi_app/scorewiz/parts.py:1212 +#: ../python/frescobaldi_app/scorewiz/parts.py:1322 msgid "Clavichord|Clv." msgstr "Clavicorde|Clav." -#: ../python/frescobaldi_app/scorewiz/parts.py:1217 +#: ../python/frescobaldi_app/scorewiz/parts.py:1327 msgid "Organ" msgstr "Orgue" -#: ../python/frescobaldi_app/scorewiz/parts.py:1218 +#: ../python/frescobaldi_app/scorewiz/parts.py:1328 msgid "Organ|Org." msgstr "Orgue|Org." -#: ../python/frescobaldi_app/scorewiz/parts.py:1223 +#: ../python/frescobaldi_app/scorewiz/parts.py:1333 msgid "Pedal:" msgstr "Pédale :" -#: ../python/frescobaldi_app/scorewiz/parts.py:1224 +#: ../python/frescobaldi_app/scorewiz/parts.py:1334 msgid "Set to 0 to disable the pedal altogether." msgstr "Définir à 0 pour désactiver la pédale." -#: ../python/frescobaldi_app/scorewiz/parts.py:1234 +#: ../python/frescobaldi_app/scorewiz/parts.py:1344 msgid "Celesta" msgstr "Célesta" -#: ../python/frescobaldi_app/scorewiz/parts.py:1235 +#: ../python/frescobaldi_app/scorewiz/parts.py:1345 msgid "Celesta|Cel." msgstr "Célesta|Cél." -#: ../python/frescobaldi_app/scorewiz/parts.py:1240 +#: ../python/frescobaldi_app/scorewiz/parts.py:1350 msgid "Timpani" msgstr "Timbales" -#: ../python/frescobaldi_app/scorewiz/parts.py:1241 +#: ../python/frescobaldi_app/scorewiz/parts.py:1351 msgid "Timpani|Tmp." msgstr "Timbales|Tmb." -#: ../python/frescobaldi_app/scorewiz/parts.py:1248 +#: ../python/frescobaldi_app/scorewiz/parts.py:1358 msgid "Xylophone" msgstr "Xylophone" -#: ../python/frescobaldi_app/scorewiz/parts.py:1249 +#: ../python/frescobaldi_app/scorewiz/parts.py:1359 msgid "Xylophone|Xyl." msgstr "Xylophone|Xyl." -#: ../python/frescobaldi_app/scorewiz/parts.py:1254 +#: ../python/frescobaldi_app/scorewiz/parts.py:1364 msgid "Marimba" msgstr "Marimba" -#: ../python/frescobaldi_app/scorewiz/parts.py:1255 +#: ../python/frescobaldi_app/scorewiz/parts.py:1365 msgid "Marimba|Mar." msgstr "Marimba|Mar." -#: ../python/frescobaldi_app/scorewiz/parts.py:1260 +#: ../python/frescobaldi_app/scorewiz/parts.py:1370 msgid "Vibraphone" msgstr "Vibraphone" -#: ../python/frescobaldi_app/scorewiz/parts.py:1261 +#: ../python/frescobaldi_app/scorewiz/parts.py:1371 msgid "Vibraphone|Vib." msgstr "Vibraphone|Vib." -#: ../python/frescobaldi_app/scorewiz/parts.py:1266 +#: ../python/frescobaldi_app/scorewiz/parts.py:1376 msgid "Tubular bells" msgstr "Cloches tubulaires" -#: ../python/frescobaldi_app/scorewiz/parts.py:1267 +#: ../python/frescobaldi_app/scorewiz/parts.py:1377 msgid "Tubular bells|Tub." msgstr "Cloches tubulaires|Cl.Tub." -#: ../python/frescobaldi_app/scorewiz/parts.py:1272 +#: ../python/frescobaldi_app/scorewiz/parts.py:1382 msgid "Glockenspiel" msgstr "Glockenspiel" -#: ../python/frescobaldi_app/scorewiz/parts.py:1273 +#: ../python/frescobaldi_app/scorewiz/parts.py:1383 msgid "Glockenspiel|Gls." msgstr "Glockenspiel|Gls." -#: ../python/frescobaldi_app/scorewiz/parts.py:1278 +#: ../python/frescobaldi_app/scorewiz/parts.py:1388 msgid "Drums" msgstr "Percussions" -#: ../python/frescobaldi_app/scorewiz/parts.py:1279 +#: ../python/frescobaldi_app/scorewiz/parts.py:1389 msgid "Drums|Dr." msgstr "Percussions|Perc." -#: ../python/frescobaldi_app/scorewiz/parts.py:1289 +#: ../python/frescobaldi_app/scorewiz/parts.py:1399 msgid "Drums follow here." msgstr "Ajouter notation de percussions." -#: ../python/frescobaldi_app/scorewiz/parts.py:1315 +#: ../python/frescobaldi_app/scorewiz/parts.py:1424 msgid "keep some distance." msgstr "maintenir de l'espace" -#: ../python/frescobaldi_app/scorewiz/parts.py:1322 +#: ../python/frescobaldi_app/scorewiz/parts.py:1432 msgid "Style:" msgstr "Style:" -#: ../python/frescobaldi_app/scorewiz/parts.py:1326 +#: ../python/frescobaldi_app/scorewiz/parts.py:1436 msgid "Drums (5 lines, default)" msgstr "Percussions standard (5 lignes)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1327 +#: ../python/frescobaldi_app/scorewiz/parts.py:1437 msgid "Timbales-style (2 lines)" msgstr "Timbales (2 lignes)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1328 +#: ../python/frescobaldi_app/scorewiz/parts.py:1438 msgid "Congas-style (2 lines)" msgstr "Congas (2 lignes)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1329 +#: ../python/frescobaldi_app/scorewiz/parts.py:1439 msgid "Bongos-style (2 lines)" msgstr "Bongos (2 lignes)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1330 +#: ../python/frescobaldi_app/scorewiz/parts.py:1440 msgid "Percussion-style (1 line)" msgstr "Percussion simple (1 ligne)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1331 +#: ../python/frescobaldi_app/scorewiz/parts.py:1441 msgid "Remove stems" msgstr "Ôter les hampes" -#: ../python/frescobaldi_app/scorewiz/parts.py:1332 +#: ../python/frescobaldi_app/scorewiz/parts.py:1442 msgid "Remove the stems from the drum notes." msgstr "Enlever les hampes des notes de percussion." -#: ../python/frescobaldi_app/scorewiz/parts.py:1341 +#: ../python/frescobaldi_app/scorewiz/parts.py:1451 msgid "Strings" msgstr "Cordes" -#: ../python/frescobaldi_app/scorewiz/parts.py:1348 +#: ../python/frescobaldi_app/scorewiz/parts.py:1458 msgid "Plucked strings" msgstr "Cordes pincées" -#: ../python/frescobaldi_app/scorewiz/parts.py:1357 +#: ../python/frescobaldi_app/scorewiz/parts.py:1467 msgid "Woodwinds" msgstr "Bois" -#: ../python/frescobaldi_app/scorewiz/parts.py:1378 +#: ../python/frescobaldi_app/scorewiz/parts.py:1488 msgid "Brass" msgstr "Cuivres" -#: ../python/frescobaldi_app/scorewiz/parts.py:1386 +#: ../python/frescobaldi_app/scorewiz/parts.py:1496 msgid "Vocal" msgstr "Section vocale" -#: ../python/frescobaldi_app/scorewiz/parts.py:1395 +#: ../python/frescobaldi_app/scorewiz/parts.py:1505 msgid "Keyboard instruments" msgstr "Claviers" -#: ../python/frescobaldi_app/scorewiz/parts.py:1411 +#: ../python/frescobaldi_app/scorewiz/parts.py:1521 msgid "Special" msgstr "Spécial" +#~ msgid "Space above:" +#~ msgstr "Espace au-dessus:" + +#~ msgid "Name or full path of the convert-ly program." +#~ msgstr "Nom ou chemin complet de l'exécutable convert-ly." + #~ msgid "Expand" #~ msgstr "Expansion" Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/po/gl.mo and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/po/gl.mo differ diff -Nru frescobaldi-1.0.2/po/gl.po frescobaldi-1.1.1/po/gl.po --- frescobaldi-1.0.2/po/gl.po 2010-02-18 08:12:03.000000000 +0000 +++ frescobaldi-1.1.1/po/gl.po 2010-05-03 19:31:54.000000000 +0100 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: frescobaldi 0.7.17\n" "Report-Msgid-Bugs-To: info@frescobaldi.org\n" -"POT-Creation-Date: 2010-02-16 10:04+0100\n" +"POT-Creation-Date: 2010-05-03 20:28+0200\n" "PO-Revision-Date: 2009-12-30 10:14+0100\n" "Last-Translator: Manuel A. Vazquez \n" "Language-Team: Galician \n" @@ -16,54 +16,53 @@ "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Lokalize 1.0\n" -#: ../frescobaldi.py:32 dummy.py:16 +#: ../frescobaldi.py:37 dummy.py:16 msgid "Frescobaldi" msgstr "Frescobaldi" -#: ../frescobaldi.py:34 dummy.py:17 +#: ../frescobaldi.py:39 dummy.py:17 msgid "LilyPond Music Editor" msgstr "Editor de música para LilyPond" -#: ../frescobaldi.py:36 -#, fuzzy +#: ../frescobaldi.py:41 msgid "Copyright (c) 2008-2010, Wilbert Berendsen" -msgstr "Copyright (c) 2008-2009, Wilbert Berendsen" +msgstr "Copyright (c) 2008-2010, Wilbert Berendsen" -#: ../frescobaldi.py:45 +#: ../frescobaldi.py:50 msgctxt "NAME OF TRANSLATORS" msgid "Your name" msgstr "Manuel A. Vázquez" -#: ../frescobaldi.py:46 +#: ../frescobaldi.py:51 msgctxt "EMAIL OF TRANSLATORS" msgid "i18n@frescobaldi.org" msgstr "xixirei@yahoo.es" -#: ../frescobaldi.py:52 +#: ../frescobaldi.py:57 msgid "Session to start" msgstr "Sesión para iniciar" -#: ../frescobaldi.py:53 +#: ../frescobaldi.py:58 msgid "Start a new instance" msgstr "Iniciar unha nova instancia" -#: ../frescobaldi.py:54 +#: ../frescobaldi.py:59 msgid "Encoding to use" msgstr "Codificación para usar" -#: ../frescobaldi.py:55 +#: ../frescobaldi.py:60 msgid "Line number to go to, starting at 1" msgstr "Número de liña ao que saltar, comezando por 1" -#: ../frescobaldi.py:56 +#: ../frescobaldi.py:61 msgid "Column to go to, starting at 0" msgstr "Columna á que ir, comezando por 0" -#: ../frescobaldi.py:57 +#: ../frescobaldi.py:62 msgid "Try to use smart line and column numbers" msgstr "Tartar de empregar números intelixentes de liña e columna" -#: ../frescobaldi.py:58 +#: ../frescobaldi.py:63 msgid "LilyPond files to open, may also be textedit URLs" msgstr "Ficheiro de Lilypond para abrir, tamén poden ser URLs de texedit" @@ -103,344 +102,353 @@ msgid "&Extra Tools" msgstr "Ferramentas &adicionais" -#: ../python/ly/__init__.py:94 +#: ../python/ly/__init__.py:81 msgid "Dedication" msgstr "Dedicatoria" -#: ../python/ly/__init__.py:95 +#: ../python/ly/__init__.py:82 msgid "Title" msgstr "Título" -#: ../python/ly/__init__.py:96 +#: ../python/ly/__init__.py:83 msgid "Subtitle" msgstr "Subtítulo" -#: ../python/ly/__init__.py:97 +#: ../python/ly/__init__.py:84 msgid "Subsubtitle" msgstr "Sub-subtítulo" -#: ../python/ly/__init__.py:98 +#: ../python/ly/__init__.py:85 msgid "Instrument" msgstr "Instrumento" -#: ../python/ly/__init__.py:99 +#: ../python/ly/__init__.py:86 msgid "Composer" msgstr "Compositor" -#: ../python/ly/__init__.py:100 +#: ../python/ly/__init__.py:87 msgid "Arranger" msgstr "Autor/a dos arranxos" -#: ../python/ly/__init__.py:101 +#: ../python/ly/__init__.py:88 msgid "Poet" msgstr "Poeta" -#: ../python/ly/__init__.py:102 +#: ../python/ly/__init__.py:89 msgid "Meter" msgstr "Compás" -#: ../python/ly/__init__.py:103 +#: ../python/ly/__init__.py:90 msgid "Piece" msgstr "Peza" -#: ../python/ly/__init__.py:104 +#: ../python/ly/__init__.py:91 msgid "Opus" msgstr "Opus" -#: ../python/ly/__init__.py:105 +#: ../python/ly/__init__.py:92 msgid "Copyright" msgstr "Copyright" -#: ../python/ly/__init__.py:106 +#: ../python/ly/__init__.py:93 msgid "Tagline" msgstr "Pé de páxina" -#: ../python/ly/__init__.py:114 +#: ../python/ly/__init__.py:101 msgid "Major" msgstr "Maior" -#: ../python/ly/__init__.py:115 +#: ../python/ly/__init__.py:102 msgid "Minor" msgstr "Menor" -#: ../python/ly/__init__.py:116 +#: ../python/ly/__init__.py:103 msgid "Ionian" msgstr "Xónico" -#: ../python/ly/__init__.py:117 +#: ../python/ly/__init__.py:104 msgid "Dorian" msgstr "Dórico" -#: ../python/ly/__init__.py:118 +#: ../python/ly/__init__.py:105 msgid "Phrygian" msgstr "Frixio" -#: ../python/ly/__init__.py:119 +#: ../python/ly/__init__.py:106 msgid "Lydian" msgstr "Lidio" -#: ../python/ly/__init__.py:120 +#: ../python/ly/__init__.py:107 msgid "Mixolydian" msgstr "Mixolidio" -#: ../python/ly/__init__.py:121 +#: ../python/ly/__init__.py:108 msgid "Aeolian" msgstr "Eolio" -#: ../python/ly/__init__.py:122 +#: ../python/ly/__init__.py:109 msgid "Locrian" msgstr "Locrio" -#: ../python/ly/articulation.py:33 +#: ../python/ly/articulation.py:35 msgid "Articulation" msgstr "Articulación" -#: ../python/ly/articulation.py:34 +#: ../python/ly/articulation.py:36 msgid "Accent" msgstr "Acento" -#: ../python/ly/articulation.py:35 +#: ../python/ly/articulation.py:37 msgid "Marcato" msgstr "Marcato" -#: ../python/ly/articulation.py:36 +#: ../python/ly/articulation.py:38 msgid "Staccatissimo" msgstr "Staccatissimo" -#: ../python/ly/articulation.py:37 +#: ../python/ly/articulation.py:39 msgid "Staccato" msgstr "Picado" -#: ../python/ly/articulation.py:38 +#: ../python/ly/articulation.py:40 msgid "Portato" msgstr "Portato" -#: ../python/ly/articulation.py:39 +#: ../python/ly/articulation.py:41 msgid "Tenuto" msgstr "Tenuto" -#: ../python/ly/articulation.py:40 +#: ../python/ly/articulation.py:42 msgid "Espressivo" msgstr "Espressivo" -#: ../python/ly/articulation.py:42 +#: ../python/ly/articulation.py:44 msgid "Ornaments" msgstr "Ornamentos" -#: ../python/ly/articulation.py:43 +#: ../python/ly/articulation.py:45 msgid "Trill" msgstr "Trino" -#: ../python/ly/articulation.py:44 +#: ../python/ly/articulation.py:46 msgid "Prall" msgstr "Semitrino" -#: ../python/ly/articulation.py:45 +#: ../python/ly/articulation.py:47 msgid "Mordent" msgstr "Mordente" -#: ../python/ly/articulation.py:46 +#: ../python/ly/articulation.py:48 msgid "Turn" msgstr "Grupeto" -#: ../python/ly/articulation.py:47 +#: ../python/ly/articulation.py:49 msgid "Prall prall" msgstr "Semitrino longo" -#: ../python/ly/articulation.py:48 +#: ../python/ly/articulation.py:50 msgid "Prall mordent" msgstr "Semitrino con resolución" -#: ../python/ly/articulation.py:49 +#: ../python/ly/articulation.py:51 msgid "Up prall" msgstr "Semitrino ascendente" -#: ../python/ly/articulation.py:50 +#: ../python/ly/articulation.py:52 msgid "Down prall" msgstr "Semitrino descendente" -#: ../python/ly/articulation.py:51 +#: ../python/ly/articulation.py:53 msgid "Up mordent" msgstr "Mordente ascendente" -#: ../python/ly/articulation.py:52 +#: ../python/ly/articulation.py:54 msgid "Down mordent" msgstr "Mordente descendente" -#: ../python/ly/articulation.py:53 +#: ../python/ly/articulation.py:55 msgid "Prall up" msgstr "Semitrino con final ascendente" -#: ../python/ly/articulation.py:54 +#: ../python/ly/articulation.py:56 msgid "Prall down" msgstr "Semitrino con final descendente" -#: ../python/ly/articulation.py:55 +#: ../python/ly/articulation.py:57 msgid "Line prall" msgstr "Semitrino liñal" -#: ../python/ly/articulation.py:56 +#: ../python/ly/articulation.py:58 msgid "Reverse turn" msgstr "Grupeto invertido" -#: ../python/ly/articulation.py:58 +#: ../python/ly/articulation.py:60 msgid "Signs" msgstr "Símbolos" -#: ../python/ly/articulation.py:59 +#: ../python/ly/articulation.py:61 msgid "Fermata" msgstr "Caldeirón" -#: ../python/ly/articulation.py:60 +#: ../python/ly/articulation.py:62 msgid "Short fermata" msgstr "Caldeirón curto" -#: ../python/ly/articulation.py:61 +#: ../python/ly/articulation.py:63 msgid "Long fermata" msgstr "Caldeirón longo" -#: ../python/ly/articulation.py:62 +#: ../python/ly/articulation.py:64 msgid "Very long fermata" msgstr "Caldeirón moi longo" -#: ../python/ly/articulation.py:63 +#: ../python/ly/articulation.py:65 msgid "Segno" msgstr "Segno" -#: ../python/ly/articulation.py:64 +#: ../python/ly/articulation.py:66 msgid "Coda" msgstr "Coda" -#: ../python/ly/articulation.py:65 +#: ../python/ly/articulation.py:67 msgid "Varcoda" msgstr "Varcoda" -#: ../python/ly/articulation.py:66 +#: ../python/ly/articulation.py:68 msgid "Signumcongruentiae" msgstr "Signumcongruentiae" -#: ../python/ly/articulation.py:68 +#: ../python/ly/articulation.py:70 msgid "Other" msgstr "Outro" -#: ../python/ly/articulation.py:69 +#: ../python/ly/articulation.py:71 msgid "Upbow" msgstr "Arco arriba" -#: ../python/ly/articulation.py:70 +#: ../python/ly/articulation.py:72 msgid "Downbow" msgstr "Arco abaixo" -#: ../python/ly/articulation.py:71 +#: ../python/ly/articulation.py:73 +msgid "Snappizzicato" +msgstr "" + +#: ../python/ly/articulation.py:74 msgid "Open (e.g. brass)" msgstr "Aberto (ex. metais)" -#: ../python/ly/articulation.py:72 +#: ../python/ly/articulation.py:75 msgid "Stopped (e.g. brass)" msgstr "Tapado (ex. metais)" -#: ../python/ly/articulation.py:73 +#: ../python/ly/articulation.py:76 msgid "Flageolet" msgstr "Flageolet (harmónico)" -#: ../python/ly/articulation.py:74 +#: ../python/ly/articulation.py:77 msgid "Thumb" msgstr "Polgar" -#: ../python/ly/articulation.py:75 +#: ../python/ly/articulation.py:78 msgid "Left heel" msgstr "Talón esquerdo" -#: ../python/ly/articulation.py:76 +#: ../python/ly/articulation.py:79 msgid "Right heel" msgstr "Talón dereito" -#: ../python/ly/articulation.py:77 +#: ../python/ly/articulation.py:80 msgid "Left toe" msgstr "Punta esquerda" -#: ../python/ly/articulation.py:78 +#: ../python/ly/articulation.py:81 msgid "Right toe" msgstr "Punta dereita" -#: ../python/kateshell/exception.py:42 +#: ../python/ly/articulation.py:82 +#, fuzzy +msgid "Half open (e.g. hi-hat)" +msgstr "Aberto (ex. metais)" + +#: ../python/kateshell/exception.py:43 msgid "An internal error has occurred:" msgstr "Houbo un erro interno:" -#: ../python/kateshell/exception.py:45 +#: ../python/kateshell/exception.py:46 msgid "Internal Error" msgstr "Erro interno" -#: ../python/kateshell/exception.py:51 +#: ../python/kateshell/exception.py:52 msgid "Email Bug Report..." msgstr "Enviar informe de erro..." -#: ../python/kateshell/exception.py:64 +#: ../python/kateshell/exception.py:65 msgid "Optionally describe what you were doing below:" msgstr "Opcionalmente, describe aquí o que estaba a facer:" -#: ../python/kateshell/mainwindow.py:91 +#: ../python/kateshell/mainwindow.py:94 msgid "Left Sidebar" msgstr "Barra lateral esquerda" -#: ../python/kateshell/mainwindow.py:95 +#: ../python/kateshell/mainwindow.py:98 msgid "Right Sidebar" msgstr "Barra lateral dereita" -#: ../python/kateshell/mainwindow.py:107 +#: ../python/kateshell/mainwindow.py:110 msgid "Top Sidebar" msgstr "Barra superior" -#: ../python/kateshell/mainwindow.py:120 +#: ../python/kateshell/mainwindow.py:123 msgid "Bottom Sidebar" msgstr "Barra inferior" -#: ../python/kateshell/mainwindow.py:165 +#: ../python/kateshell/mainwindow.py:168 msgid "Show Path" msgstr "Amosar a ruta" -#: ../python/kateshell/mainwindow.py:168 +#: ../python/kateshell/mainwindow.py:171 msgid "Show Document Tabs" msgstr "Amosar separadores do documento" -#: ../python/kateshell/mainwindow.py:186 +#: ../python/kateshell/mainwindow.py:188 msgid "&Tool Views" msgstr "Vistas de ferramen&tas" -#: ../python/kateshell/mainwindow.py:277 +#: ../python/kateshell/mainwindow.py:278 msgid "Please select some text first." msgstr "Seleccione primeiro algo de texto." -#: ../python/kateshell/mainwindow.py:327 +#: ../python/kateshell/mainwindow.py:328 msgid "modified" msgstr "modificado" -#: ../python/kateshell/mainwindow.py:337 +#: ../python/kateshell/mainwindow.py:338 msgid "Line: %1 Col: %2" msgstr "Liña: %1 Columna: %2" -#: ../python/kateshell/mainwindow.py:346 +#: ../python/kateshell/mainwindow.py:347 msgid "BLOCK" msgstr "BLOQUE" -#: ../python/kateshell/mainwindow.py:346 +#: ../python/kateshell/mainwindow.py:347 msgid "Block selection mode" msgstr "Modo de selección de bloques" -#: ../python/kateshell/mainwindow.py:348 +#: ../python/kateshell/mainwindow.py:349 msgid "LINE" msgstr "LIÑA" -#: ../python/kateshell/mainwindow.py:348 +#: ../python/kateshell/mainwindow.py:349 msgid "Line selection mode" msgstr "Modo de selección de liñas" -#: ../python/kateshell/mainwindow.py:386 -#: ../python/frescobaldi_app/blankpaper.py:335 +#: ../python/kateshell/mainwindow.py:393 +#: ../python/frescobaldi_app/blankpaper.py:331 msgid "All Files" msgstr "Todos os ficheiros" -#: ../python/kateshell/mainwindow.py:387 +#: ../python/kateshell/mainwindow.py:394 msgid "Open File" msgstr "Abrir ficheiro" @@ -448,7 +456,7 @@ msgid "Right-click for tab options" msgstr "Clic dereito para opcións dos separadores" -#: ../python/kateshell/mainwindow.py:870 +#: ../python/kateshell/mainwindow.py:871 msgid "Move To" msgstr "Mover a" @@ -464,7 +472,7 @@ msgid "Please install %1" msgstr "Instale %1" -#: ../python/frescobaldi_app/actions.py:55 +#: ../python/frescobaldi_app/actions.py:56 msgid "Open %1 in external viewer" msgstr "Abrir %1 nun visor externo" @@ -472,44 +480,44 @@ msgid "Print %1" msgstr "Imprimir %1" -#: ../python/frescobaldi_app/actions.py:66 +#: ../python/frescobaldi_app/actions.py:65 msgid "Play %1" msgstr "Reproducir %1" -#: ../python/frescobaldi_app/actions.py:95 +#: ../python/frescobaldi_app/actions.py:91 msgid "Open PDF" msgstr "Abrir PDF" -#: ../python/frescobaldi_app/actions.py:96 +#: ../python/frescobaldi_app/actions.py:92 msgid "Print" msgstr "Imprimir" -#: ../python/frescobaldi_app/actions.py:98 +#: ../python/frescobaldi_app/actions.py:94 msgid "Play MIDI" msgstr "Reproducir MIDI" -#: ../python/frescobaldi_app/actions.py:101 -#: ../python/frescobaldi_app/mainapp.py:712 +#: ../python/frescobaldi_app/actions.py:97 +#: ../python/frescobaldi_app/mainapp.py:726 msgid "Email..." msgstr "Correo-e..." -#: ../python/frescobaldi_app/actions.py:154 +#: ../python/frescobaldi_app/actions.py:149 msgid "There are no files to send via email." msgstr "Non hai ningún ficheiro para enviar por correo-e." -#: ../python/frescobaldi_app/actions.py:155 +#: ../python/frescobaldi_app/actions.py:150 msgid "No files to send" msgstr "Non hai ningún ficheiro que enviar" -#: ../python/frescobaldi_app/actions.py:163 +#: ../python/frescobaldi_app/actions.py:158 msgid "Email documents" msgstr "Documentos por correo electrónico" -#: ../python/frescobaldi_app/actions.py:167 +#: ../python/frescobaldi_app/actions.py:162 msgid "Please select the files you want to send:" msgstr "Seleccione os ficheiros que quere enviar:" -#: ../python/frescobaldi_app/actions.py:172 +#: ../python/frescobaldi_app/actions.py:166 msgid "" "These are the files that are up-to-date (i.e. newer than the LilyPond source " "document). Also LilyPond files included by the source document are shown." @@ -518,7 +526,7 @@ "recentes que o documento fonte de LilyPond). Tamén se amosan os ficheiros de " "LilyPond incluídos polo documento fonte." -#: ../python/frescobaldi_app/actions.py:182 +#: ../python/frescobaldi_app/actions.py:176 msgid "" "Note: this PDF file has been created with embedded point-and-click URLs " "(preview mode), which increases the file size dramatically. Please consider " @@ -540,15 +548,15 @@ "ficheiro. Considere a posibilidade de volver construír os ficheiros no modo " "publicación, porque os ficheiros PDF son moito máis pequenos." -#: ../python/frescobaldi_app/actions.py:283 +#: ../python/frescobaldi_app/actions.py:273 msgid "Printing failed: %1" msgstr "Fallou a impresión: %1" -#: ../python/frescobaldi_app/actions.py:286 +#: ../python/frescobaldi_app/actions.py:276 msgid "The document has been sent to the printer." msgstr "Enviouse o documento á impresora." -#: ../python/frescobaldi_app/actions.py:289 +#: ../python/frescobaldi_app/actions.py:279 msgid "" "Printing failed: %1\n" "\n" @@ -558,179 +566,162 @@ "\n" "A orde de impresión %2 é posible que non exista. Comprobe a configuración." -#: ../python/frescobaldi_app/actions.py:294 +#: ../python/frescobaldi_app/actions.py:284 msgid "The print command contains errors. Please check your settings." msgstr "A orde de imprimir ten erros. Comprobe a configuración." -#: ../python/frescobaldi_app/blankpaper.py:55 -#: ../python/frescobaldi_app/mainapp.py:738 +#: ../python/frescobaldi_app/blankpaper.py:56 +#: ../python/frescobaldi_app/mainapp.py:753 msgid "Create blank staff paper" msgstr "Crear papel de música en branco" -#: ../python/frescobaldi_app/blankpaper.py:69 +#: ../python/frescobaldi_app/blankpaper.py:70 msgid "Type:" msgstr "Tipo:" -#: ../python/frescobaldi_app/blankpaper.py:72 +#: ../python/frescobaldi_app/blankpaper.py:73 msgid "Action:" msgstr "Acción:" -#: ../python/frescobaldi_app/blankpaper.py:78 +#: ../python/frescobaldi_app/blankpaper.py:79 msgid "Choose what kind of empty staves you want to create." msgstr "Seleccione o número de pautas baleiras que quere crear." -#: ../python/frescobaldi_app/blankpaper.py:80 +#: ../python/frescobaldi_app/blankpaper.py:81 msgid "Choose which action happens when clicking \"Ok\"." msgstr "Seleccione a acción que vai suceder ao premer en \"Aceptar\"." -#: ../python/frescobaldi_app/blankpaper.py:82 +#: ../python/frescobaldi_app/blankpaper.py:83 msgid "Preview the empty staff paper." msgstr "Vista previa do papel de música baleiro." -#: ../python/frescobaldi_app/blankpaper.py:84 +#: ../python/frescobaldi_app/blankpaper.py:85 msgid "Click to see more settings." msgstr "Prema para ver máis opcións." -#: ../python/frescobaldi_app/blankpaper.py:87 +#: ../python/frescobaldi_app/blankpaper.py:88 msgid "Paper" msgstr "Papel" -#: ../python/frescobaldi_app/blankpaper.py:89 +#: ../python/frescobaldi_app/blankpaper.py:90 msgid "Settings" msgstr "Configuración" -#: ../python/frescobaldi_app/blankpaper.py:95 -#: ../python/frescobaldi_app/scorewiz/__init__.py:509 +#: ../python/frescobaldi_app/blankpaper.py:96 +#: ../python/frescobaldi_app/scorewiz/__init__.py:496 msgid "Paper size:" msgstr "Tamaño do papel:" -#: ../python/frescobaldi_app/blankpaper.py:99 -#: ../python/frescobaldi_app/scorewiz/__init__.py:448 -#: ../python/frescobaldi_app/scorewiz/__init__.py:513 -#: ../python/frescobaldi_app/scorewiz/__init__.py:547 -#: ../python/frescobaldi_app/scorewiz/parts.py:180 -#: ../python/frescobaldi_app/scorewiz/parts.py:436 +#: ../python/frescobaldi_app/blankpaper.py:100 +#: ../python/frescobaldi_app/scorewiz/__init__.py:441 +#: ../python/frescobaldi_app/scorewiz/__init__.py:500 +#: ../python/frescobaldi_app/scorewiz/__init__.py:532 +#: ../python/frescobaldi_app/scorewiz/parts.py:183 +#: ../python/frescobaldi_app/scorewiz/parts.py:439 msgid "Default" msgstr "Predeterminado" -#: ../python/frescobaldi_app/blankpaper.py:103 +#: ../python/frescobaldi_app/blankpaper.py:104 msgid "Staff Size:" msgstr "Tamaño do pentagrama" -#: ../python/frescobaldi_app/blankpaper.py:110 +#: ../python/frescobaldi_app/blankpaper.py:111 msgid "Page count:" msgstr "Número de páxinas:" -#: ../python/frescobaldi_app/blankpaper.py:116 -#: ../python/frescobaldi_app/scorewiz/__init__.py:486 +#: ../python/frescobaldi_app/blankpaper.py:117 +#: ../python/frescobaldi_app/scorewiz/__init__.py:468 msgid "Remove default tagline" msgstr "Eliminar o pé de páxina predeterminado" -#: ../python/frescobaldi_app/blankpaper.py:121 +#: ../python/frescobaldi_app/blankpaper.py:122 msgid "Print Bar Lines" msgstr "Imprimir liñas divisorias" -#: ../python/frescobaldi_app/blankpaper.py:123 +#: ../python/frescobaldi_app/blankpaper.py:124 msgid "Bars per line:" msgstr "Compases por liña:" -#: ../python/frescobaldi_app/blankpaper.py:130 +#: ../python/frescobaldi_app/blankpaper.py:131 msgid "Print Page Numbers" msgstr "Imprimir os números de páxina" -#: ../python/frescobaldi_app/blankpaper.py:132 +#: ../python/frescobaldi_app/blankpaper.py:133 msgid "Start with:" msgstr "Comezar en:" -#: ../python/frescobaldi_app/blankpaper.py:289 +#: ../python/frescobaldi_app/blankpaper.py:285 msgid "Blank staff paper preview" msgstr "Vista previa do papel pautado" -#: ../python/frescobaldi_app/blankpaper.py:308 +#: ../python/frescobaldi_app/blankpaper.py:304 msgid "No PDF was created." msgstr "Non se creou ningún PDF." -#: ../python/frescobaldi_app/blankpaper.py:319 +#: ../python/frescobaldi_app/blankpaper.py:315 msgid "Open in PDF viewer" msgstr "Abrir no visor de PDF" -#: ../python/frescobaldi_app/blankpaper.py:328 +#: ../python/frescobaldi_app/blankpaper.py:324 msgid "Save PDF As..." msgstr "Gardar PDF como..." -#: ../python/frescobaldi_app/blankpaper.py:335 +#: ../python/frescobaldi_app/blankpaper.py:331 msgid "PDF Files" msgstr "Ficheiros PDF" -#: ../python/frescobaldi_app/blankpaper.py:337 +#: ../python/frescobaldi_app/blankpaper.py:333 msgid "Save PDF" msgstr "Gardar PDF" -#: ../python/frescobaldi_app/blankpaper.py:355 -#: ../python/frescobaldi_app/runlily.py:375 -msgid "" -"A file named \"%1\" already exists. Are you sure you want to overwrite it?" -msgstr "" -"Xa existe un ficheiro chamado \"%1\". Est´a seguro de querer sobrescribilo?" - -#: ../python/frescobaldi_app/blankpaper.py:358 -#: ../python/frescobaldi_app/runlily.py:378 -msgid "Overwrite File?" -msgstr "Sobrescribir ficheiro?" - -#: ../python/frescobaldi_app/blankpaper.py:358 -#: ../python/frescobaldi_app/runlily.py:378 -msgid "&Overwrite" -msgstr "&Sobreescribir" - -#: ../python/frescobaldi_app/blankpaper.py:380 +#: ../python/frescobaldi_app/blankpaper.py:357 msgid "Directly print on default printer" msgstr "Imprimir directamente na impresora predeterminada" -#: ../python/frescobaldi_app/blankpaper.py:389 +#: ../python/frescobaldi_app/blankpaper.py:366 msgid "Copy LilyPond code to editor" msgstr "Copiar o código de LilyPond ao editor" -#: ../python/frescobaldi_app/blankpaper.py:488 +#: ../python/frescobaldi_app/blankpaper.py:465 msgid "Staves per page:" msgstr "Pentagramas por páxina:" -#: ../python/frescobaldi_app/blankpaper.py:493 -#: ../python/frescobaldi_app/blankpaper.py:828 +#: ../python/frescobaldi_app/blankpaper.py:470 +#: ../python/frescobaldi_app/blankpaper.py:803 msgid "Clef:" msgstr "Clave:" -#: ../python/frescobaldi_app/blankpaper.py:499 +#: ../python/frescobaldi_app/blankpaper.py:476 msgid "Single Staff" msgstr "Pentagrama sinxelo" -#: ../python/frescobaldi_app/blankpaper.py:519 -#: ../python/frescobaldi_app/blankpaper.py:575 -#: ../python/frescobaldi_app/blankpaper.py:671 +#: ../python/frescobaldi_app/blankpaper.py:496 +#: ../python/frescobaldi_app/blankpaper.py:552 +#: ../python/frescobaldi_app/blankpaper.py:647 msgid "Systems per page:" msgstr "Sistemas por páxina:" -#: ../python/frescobaldi_app/blankpaper.py:523 +#: ../python/frescobaldi_app/blankpaper.py:500 msgid "Clefs" msgstr "Claves" -#: ../python/frescobaldi_app/blankpaper.py:527 +#: ../python/frescobaldi_app/blankpaper.py:504 msgid "Piano Staff" msgstr "Sistema para piano" -#: ../python/frescobaldi_app/blankpaper.py:547 +#: ../python/frescobaldi_app/blankpaper.py:524 msgid "Organ Staff" msgstr "Sistema para órgano" -#: ../python/frescobaldi_app/blankpaper.py:571 +#: ../python/frescobaldi_app/blankpaper.py:548 msgid "Staves per system:" msgstr "Pentagramas por sistema:" -#: ../python/frescobaldi_app/blankpaper.py:582 +#: ../python/frescobaldi_app/blankpaper.py:559 msgid "Clefs:" msgstr "Claves:" -#: ../python/frescobaldi_app/blankpaper.py:589 +#: ../python/frescobaldi_app/blankpaper.py:566 msgid "" "Enter as many letters (S, A, T or B) as there are staves.\n" "See \"What's This\" for more information." @@ -738,7 +729,7 @@ "Introduza tantas letras (S, A, T ou B) como pentagramas haxa.\n" "Consulte \"Que é isto\" para máis información." -#: ../python/frescobaldi_app/blankpaper.py:592 +#: ../python/frescobaldi_app/blankpaper.py:569 msgid "" "To configure clefs, first set the number of staves per system. Then enter as " "many letters (S, A, T or B) as there are staves.\n" @@ -763,49 +754,55 @@ "voces, estableza primeiro o número de pentagramas por sistema a 4 e logo " "escriba \"SATB\" (sen as comiñas)." -#: ../python/frescobaldi_app/blankpaper.py:606 +#: ../python/frescobaldi_app/blankpaper.py:582 msgid "Choir Staff" msgstr "Sistema para coro" -#: ../python/frescobaldi_app/blankpaper.py:613 -#: ../python/frescobaldi_app/scorewiz/__init__.py:395 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/blankpaper.py:589 +#: ../python/frescobaldi_app/lqi.py:159 +#: ../python/frescobaldi_app/scorewiz/__init__.py:388 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "None" msgstr "Ningún" -#: ../python/frescobaldi_app/blankpaper.py:759 +#: ../python/frescobaldi_app/blankpaper.py:734 msgid "Custom Staff" msgstr "Pentagrama personalizado" -#: ../python/frescobaldi_app/blankpaper.py:818 +#: ../python/frescobaldi_app/blankpaper.py:793 msgid "Staff" msgstr "Pentagrama" -#: ../python/frescobaldi_app/blankpaper.py:841 -msgid "Space above:" -msgstr "Espazo por enriba:" - -#: ../python/frescobaldi_app/blankpaper.py:844 +#: ../python/frescobaldi_app/blankpaper.py:812 msgid "Space below:" msgstr "Espazo por debaixo:" -#: ../python/frescobaldi_app/blankpaper.py:879 +#: ../python/frescobaldi_app/blankpaper.py:852 msgid "Brace" msgstr "Chave curva" -#: ../python/frescobaldi_app/blankpaper.py:904 +#: ../python/frescobaldi_app/blankpaper.py:877 msgid "Bracket" msgstr "Corchete" -#: ../python/frescobaldi_app/blankpaper.py:913 +#: ../python/frescobaldi_app/blankpaper.py:886 msgid "Square Bracket" msgstr "Corchete" -#: ../python/frescobaldi_app/blankpaper.py:915 +#: ../python/frescobaldi_app/blankpaper.py:888 msgid "Connect bar lines" msgstr "Conectar as liñas divisorias" -#: ../python/frescobaldi_app/document.py:66 +#: ../python/frescobaldi_app/charselect.py:41 +#: ../python/frescobaldi_app/mainapp.py:871 +msgid "Special Characters" +msgstr "" + +#: ../python/frescobaldi_app/charselect.py:85 +msgid "unknown" +msgstr "" + +#: ../python/frescobaldi_app/document.py:68 msgid "" "Can't perform the requested translation.\n" "\n" @@ -817,7 +814,7 @@ "A música contén alteracións de cuartos de ton, pero non están dispoñibles no " "idioma de notas \"%1\"." -#: ../python/frescobaldi_app/document.py:81 +#: ../python/frescobaldi_app/document.py:82 msgid "" "The pitch language of the selected text has been updated, but you need to " "manually add the following command to your document:" @@ -825,29 +822,29 @@ "Actualizouse o idioma de notas do texto seleccionado, pero debe engadir " "manualmente a seguinte orde ao documento:" -#: ../python/frescobaldi_app/document.py:84 -#: ../python/frescobaldi_app/mainapp.py:561 +#: ../python/frescobaldi_app/document.py:85 +#: ../python/frescobaldi_app/mainapp.py:572 msgid "Pitch Name Language" msgstr "Idioma das notas" -#: ../python/frescobaldi_app/document.py:139 +#: ../python/frescobaldi_app/document.py:140 msgid "Please enter the name for the variable to assign the selected text to:" msgstr "Introduza o nome da variábel para asignarlle o texto seleccionado:" -#: ../python/frescobaldi_app/document.py:140 -#: ../python/frescobaldi_app/mainapp.py:455 +#: ../python/frescobaldi_app/document.py:141 +#: ../python/frescobaldi_app/mainapp.py:461 msgid "Cut and Assign" msgstr "Cortar e asignar" -#: ../python/frescobaldi_app/document.py:452 +#: ../python/frescobaldi_app/document.py:451 msgid "Open %1" msgstr "Abrir %1" -#: ../python/frescobaldi_app/document.py:707 +#: ../python/frescobaldi_app/document.py:705 msgid "Please select a music expression, enclosed in << ... >> or { ... }." msgstr "Seleccione unha expresión musical, pechada entre << ... >> ou { ... }." -#: ../python/frescobaldi_app/document.py:727 +#: ../python/frescobaldi_app/document.py:725 msgid "" "Could not understand the entered pitches.\n" "\n" @@ -857,7 +854,7 @@ "\n" "Asegúrese que emprega nomes de notas no idioma \"%1\"." -#: ../python/frescobaldi_app/document.py:735 +#: ../python/frescobaldi_app/document.py:733 msgid "" "Can't perform the requested transposition.\n" "\n" @@ -869,47 +866,47 @@ "A música contén alteracións de cuartos de ton que non están dispoñibles no " "idioma das notas \"%1\"." -#: ../python/frescobaldi_app/document.py:748 +#: ../python/frescobaldi_app/document.py:746 msgid "Transpose" msgstr "Transportar" -#: ../python/frescobaldi_app/document.py:755 +#: ../python/frescobaldi_app/document.py:753 msgid "Please enter a start pitch and a destination pitch:" msgstr "Introduza unha nota de orixe e unha nota de destino:" -#: ../python/frescobaldi_app/document.py:759 +#: ../python/frescobaldi_app/document.py:757 msgid "Transpose from:" msgstr "Transportar desde:" -#: ../python/frescobaldi_app/document.py:763 +#: ../python/frescobaldi_app/document.py:761 msgid "to:" msgstr "a:" -#: ../python/frescobaldi_app/expand.py:147 -#: ../python/frescobaldi_app/mainapp.py:786 +#: ../python/frescobaldi_app/expand.py:149 +#: ../python/frescobaldi_app/mainapp.py:870 msgid "Expansion Manager" msgstr "Xestor de expansións" -#: ../python/frescobaldi_app/expand.py:161 -#: ../python/frescobaldi_app/lilydoc.py:125 +#: ../python/frescobaldi_app/expand.py:163 +#: ../python/frescobaldi_app/lilydoc.py:127 msgid "Search..." msgstr "Procurar..." -#: ../python/frescobaldi_app/expand.py:170 -#: ../python/frescobaldi_app/rumor.py:507 +#: ../python/frescobaldi_app/expand.py:172 +#: ../python/frescobaldi_app/rumor.py:505 msgid "Name" msgstr "Nome" -#: ../python/frescobaldi_app/expand.py:170 -#: ../python/frescobaldi_app/rumor.py:507 +#: ../python/frescobaldi_app/expand.py:172 +#: ../python/frescobaldi_app/rumor.py:505 msgid "Description" msgstr "Descrición" -#: ../python/frescobaldi_app/expand.py:170 +#: ../python/frescobaldi_app/expand.py:172 msgid "Shortcut" msgstr "Atallo" -#: ../python/frescobaldi_app/expand.py:193 +#: ../python/frescobaldi_app/expand.py:195 msgid "" "This is the list of defined expansions.\n" "\n" @@ -937,7 +934,7 @@ "predeterminado é Ctrl+.), seleccione a expansión da lista e prema Enter ou " "prema Aceptar." -#: ../python/frescobaldi_app/expand.py:213 +#: ../python/frescobaldi_app/expand.py:214 msgid "" "This is the text associated with the selected shortcut. Some characters have " "special meaning:" @@ -945,19 +942,19 @@ "Este é o texto asociado á abreviatura seleccionada. Algúns caracteres teñen " "un significado especial:" -#: ../python/frescobaldi_app/expand.py:215 +#: ../python/frescobaldi_app/expand.py:216 msgid "Place the cursor on this spot." msgstr "Situar o cursor sobre este punto." -#: ../python/frescobaldi_app/expand.py:216 +#: ../python/frescobaldi_app/expand.py:217 msgid "Translate the following pitch." msgstr "Traducir a seguinte nota." -#: ../python/frescobaldi_app/expand.py:268 +#: ../python/frescobaldi_app/expand.py:265 msgid "New Item" msgstr "Elemento novo" -#: ../python/frescobaldi_app/expand.py:348 +#: ../python/frescobaldi_app/expand.py:345 msgid "" "Another expansion already uses this name.\n" "\n" @@ -967,58 +964,66 @@ "\n" "Empregue un nome distinto." -#: ../python/frescobaldi_app/expand.py:354 +#: ../python/frescobaldi_app/expand.py:351 msgid "" "Please only use letters, numbers and the underscore character in the " "expansion name." msgstr "Empregue só letras, números e o guión baixo no nome da expansión." -#: ../python/frescobaldi_app/expand.py:381 +#: ../python/frescobaldi_app/expand.py:376 msgid "Please don't leave the description empty." msgstr "Non deixe baleira a descrición." -#: ../python/frescobaldi_app/hyphen.py:123 -#: ../python/frescobaldi_app/mainapp.py:676 +#: ../python/frescobaldi_app/hyphen.py:119 +msgid "" +"Could not find any hyphenation dictionaries.\n" +"\n" +"Please install a package containing some and/or or configure the search path " +"to find them in the Frescobaldi settings under \"Paths.\"" +msgstr "" + +#: ../python/frescobaldi_app/hyphen.py:132 +#: ../python/frescobaldi_app/mainapp.py:686 msgid "Hyphenate Lyrics Text" msgstr "Guionizar o texto da letra" -#: ../python/frescobaldi_app/hyphen.py:127 +#: ../python/frescobaldi_app/hyphen.py:136 msgid "Please select a language:" msgstr "Seleccione un idioma:" -#: ../python/frescobaldi_app/lilydoc.py:99 +#: ../python/frescobaldi_app/lilydoc.py:101 msgid "Home" msgstr "Inicio" -#: ../python/frescobaldi_app/lilydoc.py:100 +#: ../python/frescobaldi_app/lilydoc.py:102 msgid "Larger text" msgstr "Texto máis grande" -#: ../python/frescobaldi_app/lilydoc.py:101 +#: ../python/frescobaldi_app/lilydoc.py:103 msgid "Smaller text" msgstr "Texto máis pequeno" -#: ../python/frescobaldi_app/lilydoc.py:110 +#: ../python/frescobaldi_app/lilydoc.py:112 msgid "First Page" msgstr "Primeira páxina" -#: ../python/frescobaldi_app/lilydoc.py:111 +#: ../python/frescobaldi_app/lilydoc.py:113 msgid "Previous" msgstr "Anterior" -#: ../python/frescobaldi_app/lilydoc.py:112 +#: ../python/frescobaldi_app/lilydoc.py:114 msgid "Up one level" msgstr "Subir un nivel" -#: ../python/frescobaldi_app/lilydoc.py:113 +#: ../python/frescobaldi_app/lilydoc.py:115 msgid "Next" msgstr "Seguinte" -#: ../python/frescobaldi_app/lilydoc.py:114 +#: ../python/frescobaldi_app/lilydoc.py:116 msgid "Table of contents" msgstr "Táboa de contidos" -#: ../python/frescobaldi_app/lilydoc.py:115 +#: ../python/frescobaldi_app/lilydoc.py:117 msgid "Index" msgstr "Índice" @@ -1030,84 +1035,84 @@ msgid "Open Link in &New Window" msgstr "Abrir a ligazón nunha &nova fiestra" -#: ../python/frescobaldi_app/lilydoc.py:322 -#: ../python/frescobaldi_app/runlily.py:339 +#: ../python/frescobaldi_app/lilydoc.py:321 +#: ../python/frescobaldi_app/runlily.py:508 msgid "&Copy" msgstr "&Copiar" -#: ../python/frescobaldi_app/lilydoc.py:325 +#: ../python/frescobaldi_app/lilydoc.py:324 msgid "Open Document in &New Window" msgstr "Abrir o documento nunha &nova fiestra" -#: ../python/frescobaldi_app/lilydoc.py:677 +#: ../python/frescobaldi_app/lilydoc.py:675 msgid "Loading..." msgstr "A cargar..." -#: ../python/frescobaldi_app/lilydoc.py:684 +#: ../python/frescobaldi_app/lilydoc.py:682 msgid "Not available" msgstr "Non dispoñible" -#: ../python/frescobaldi_app/lilydoc.py:732 +#: ../python/frescobaldi_app/lilydoc.py:734 msgid "Notation Reference" msgstr "Referencia da notación" -#: ../python/frescobaldi_app/lilydoc.py:752 +#: ../python/frescobaldi_app/lilydoc.py:754 msgid "LilyPond Command Index" msgstr "Índice de ordes de LilyPond" -#: ../python/frescobaldi_app/lilydoc.py:772 +#: ../python/frescobaldi_app/lilydoc.py:780 msgid "Learning Manual" msgstr "Manual de aprendizaxe" -#: ../python/frescobaldi_app/lilydoc.py:792 +#: ../python/frescobaldi_app/lilydoc.py:800 msgid "Learning Manual Index" msgstr "Índice do manual de aprendizaxe" -#: ../python/frescobaldi_app/lilydoc.py:808 +#: ../python/frescobaldi_app/lilydoc.py:816 msgid "LilyPond &Help" msgstr "A&xuda de LilyPond" -#: ../python/frescobaldi_app/lqi.py:62 +#: ../python/frescobaldi_app/lqi.py:82 msgid "Articulations" msgstr "Articulacións" -#: ../python/frescobaldi_app/lqi.py:63 +#: ../python/frescobaldi_app/lqi.py:83 msgid "Different kinds of articulations and other signs." msgstr "Diferentes tipos de articulacións e outros símbolos." -#: ../python/frescobaldi_app/lqi.py:70 +#: ../python/frescobaldi_app/lqi.py:90 msgid "Allow shorthands" msgstr "Permitir abreviaturas" -#: ../python/frescobaldi_app/lqi.py:73 +#: ../python/frescobaldi_app/lqi.py:93 msgid "Use short notation for some articulations like staccato." msgstr "Empregar notación curta para certas articulacións como picado." -#: ../python/frescobaldi_app/lqi.py:79 +#: ../python/frescobaldi_app/lqi.py:99 msgid "Direction:" msgstr "Dirección:" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Up" msgstr "Arriba" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Neutral" msgstr "Neutro" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Down" msgstr "Abaixo" -#: ../python/frescobaldi_app/lqi.py:85 +#: ../python/frescobaldi_app/lqi.py:105 msgid "The direction to use for the articulations." msgstr "Dirección para usar nas articulacións." -#: ../python/frescobaldi_app/lqi.py:112 +#: ../python/frescobaldi_app/lqi.py:134 msgid "Click an articulation sign to add it to your document." msgstr "Prema sobre unha articulación para inserila no documento." -#: ../python/frescobaldi_app/lqi.py:113 +#: ../python/frescobaldi_app/lqi.py:135 msgid "" "If you select some music first, the articulation will be added to all notes " "in the selection." @@ -1115,88 +1120,95 @@ "Se selecciona un bloque de música primeiro, engádese a articulación a todas " "as notas da selección." -#: ../python/frescobaldi_app/mainapp.py:53 +#: ../python/frescobaldi_app/lqi.py:159 +msgid "Configure Keyboard Shortcut (%1)" +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:54 msgid "LilyPond files" msgstr "Ficheiros de LilyPond" -#: ../python/frescobaldi_app/mainapp.py:392 -#: ../python/frescobaldi_app/scorewiz/__init__.py:355 +#: ../python/frescobaldi_app/mainapp.py:424 +#: ../python/frescobaldi_app/settings.py:620 +#: ../python/frescobaldi_app/scorewiz/__init__.py:348 msgid "LilyPond" msgstr "LilyPond" -#: ../python/frescobaldi_app/mainapp.py:403 +#: ../python/frescobaldi_app/mainapp.py:435 msgid "Setup New Score..." msgstr "Configurar unha nova partitura..." -#: ../python/frescobaldi_app/mainapp.py:408 +#: ../python/frescobaldi_app/mainapp.py:440 msgid "Run LilyPond (preview)" msgstr "Executar LilyPond (vista previa)" -#: ../python/frescobaldi_app/mainapp.py:412 +#: ../python/frescobaldi_app/mainapp.py:444 msgid "Run LilyPond (publish)" msgstr "Executar LilyPond (publicar)" -#: ../python/frescobaldi_app/mainapp.py:418 -msgid "Can't process document" -msgstr "Non se pode procesar o documento" - -#: ../python/frescobaldi_app/mainapp.py:421 -msgid "There is already a LilyPond job running for this document." -msgstr "Xa está en execución unha tarefa de LilyPond para este documento." - -#: ../python/frescobaldi_app/mainapp.py:427 -msgid "Your document has been modified, please save first." -msgstr "O documento foi modificado, gárdeo primeiro" +#: ../python/frescobaldi_app/mainapp.py:448 +#, fuzzy +msgid "Run LilyPond (custom)..." +msgstr "Executar LilyPond (publicar)" -#: ../python/frescobaldi_app/mainapp.py:446 +#: ../python/frescobaldi_app/mainapp.py:452 msgid "Interrupt LilyPond Job" msgstr "Interromper a tarefa de LilyPond" -#: ../python/frescobaldi_app/mainapp.py:456 +#: ../python/frescobaldi_app/mainapp.py:462 msgid "Cut selection and assign it to a LilyPond variable." msgstr "Cortar a selección e asignala a unha variable de LilyPond." -#: ../python/frescobaldi_app/mainapp.py:460 +#: ../python/frescobaldi_app/mainapp.py:466 msgid "Repeat last note or chord" msgstr "Repetir a última nota ou acorde" -#: ../python/frescobaldi_app/mainapp.py:461 +#: ../python/frescobaldi_app/mainapp.py:467 msgid "Repeat the last music expression (note or chord)." msgstr "Repetir a última expresión musical (nota ou acorde)." -#: ../python/frescobaldi_app/mainapp.py:465 +#: ../python/frescobaldi_app/mainapp.py:471 msgid "Insert or Manage Expansions..." msgstr "Inserir ou xestionar expansións..." -#: ../python/frescobaldi_app/mainapp.py:466 +#: ../python/frescobaldi_app/mainapp.py:472 msgid "Expand last word or open the expansions dialog." msgstr "Expandir a última palabra ou abrir o diálogo de expansións." -#: ../python/frescobaldi_app/mainapp.py:471 +#: ../python/frescobaldi_app/mainapp.py:476 +msgid "Special Characters..." +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:477 +#, fuzzy +msgid "Insert special characters." +msgstr "Inserir par de chaves" + +#: ../python/frescobaldi_app/mainapp.py:482 msgid "Add to Expansions" msgstr "Engadir a expansións" -#: ../python/frescobaldi_app/mainapp.py:475 +#: ../python/frescobaldi_app/mainapp.py:486 msgid "Next blank line" msgstr "Liña en branco seguinte" -#: ../python/frescobaldi_app/mainapp.py:476 +#: ../python/frescobaldi_app/mainapp.py:487 msgid "Go to the next blank line." msgstr "Ir á seguinte liña en branco." -#: ../python/frescobaldi_app/mainapp.py:486 +#: ../python/frescobaldi_app/mainapp.py:497 msgid "Previous blank line" msgstr "Liña en branco anterior" -#: ../python/frescobaldi_app/mainapp.py:487 +#: ../python/frescobaldi_app/mainapp.py:498 msgid "Go to the previous blank line." msgstr "Ir á anterior liña en branco." -#: ../python/frescobaldi_app/mainapp.py:496 +#: ../python/frescobaldi_app/mainapp.py:507 msgid "Select to next blank line" msgstr "Seleccionar até a seguinte liña en branco" -#: ../python/frescobaldi_app/mainapp.py:498 +#: ../python/frescobaldi_app/mainapp.py:509 msgid "" "Selects text from the current position down to and including the next blank " "line." @@ -1204,11 +1216,11 @@ "Selecciona texto desde a posición actual ata a seguinte liña en branco " "incluída." -#: ../python/frescobaldi_app/mainapp.py:523 +#: ../python/frescobaldi_app/mainapp.py:534 msgid "Select to previous blank line" msgstr "Seleccionar até a liña en branco anterior" -#: ../python/frescobaldi_app/mainapp.py:525 +#: ../python/frescobaldi_app/mainapp.py:536 msgid "" "Selects text from the current position up to right after the previous blank " "line." @@ -1216,23 +1228,23 @@ "Selecciona texto desde a posición actual ata xusto antes da liña en branco " "anterior." -#: ../python/frescobaldi_app/mainapp.py:549 +#: ../python/frescobaldi_app/mainapp.py:560 msgid "Move selection to next blank line" msgstr "Mover á selección até a seguinte liña en branco" -#: ../python/frescobaldi_app/mainapp.py:550 +#: ../python/frescobaldi_app/mainapp.py:561 msgid "Moves selected block to next blank line." msgstr "Mover o bloque seleccionado ata a seguinte liña en branco." -#: ../python/frescobaldi_app/mainapp.py:554 +#: ../python/frescobaldi_app/mainapp.py:565 msgid "Move selection to previous blank line" msgstr "Mover a selección á liña anterior en branco" -#: ../python/frescobaldi_app/mainapp.py:555 +#: ../python/frescobaldi_app/mainapp.py:566 msgid "Moves selected block to previous blank line." msgstr "Mover o bloque seleccionado á liña anterior en branco." -#: ../python/frescobaldi_app/mainapp.py:562 +#: ../python/frescobaldi_app/mainapp.py:573 msgid "" "Change the LilyPond language used for pitch names in this document or in the " "selection." @@ -1240,11 +1252,11 @@ "Mudar o idioma de LilyPond que se emprega para os nomes das notas neste " "documento ou na selección." -#: ../python/frescobaldi_app/mainapp.py:569 +#: ../python/frescobaldi_app/mainapp.py:579 msgid "Convert Relative to &Absolute" msgstr "Converter relativo en &absoluto" -#: ../python/frescobaldi_app/mainapp.py:570 +#: ../python/frescobaldi_app/mainapp.py:580 msgid "" "Converts the notes in the document or selection from relative to absolute " "pitch." @@ -1252,11 +1264,11 @@ "Converte as notas do documento ou a selección de alturas relativas a " "absolutas." -#: ../python/frescobaldi_app/mainapp.py:574 +#: ../python/frescobaldi_app/mainapp.py:584 msgid "Convert Absolute to &Relative" msgstr "Converter absoluto a &relativo" -#: ../python/frescobaldi_app/mainapp.py:575 +#: ../python/frescobaldi_app/mainapp.py:585 msgid "" "Converts the notes in the document or selection from absolute to relative " "pitch." @@ -1264,77 +1276,77 @@ "Converte as notas do documento ou a selección de alturas absolutas a " "relativas." -#: ../python/frescobaldi_app/mainapp.py:579 +#: ../python/frescobaldi_app/mainapp.py:589 msgid "Transpose..." msgstr "Transportar..." -#: ../python/frescobaldi_app/mainapp.py:580 +#: ../python/frescobaldi_app/mainapp.py:590 msgid "Transposes all notes in the document or selection." msgstr "Transporta todas as notas do documento ou da selección." -#: ../python/frescobaldi_app/mainapp.py:585 +#: ../python/frescobaldi_app/mainapp.py:595 msgid "Double durations" msgstr "Duplicar duracións" -#: ../python/frescobaldi_app/mainapp.py:586 +#: ../python/frescobaldi_app/mainapp.py:596 msgid "Double all the durations in the selection." msgstr "Duplicar todas as duracións na selección." -#: ../python/frescobaldi_app/mainapp.py:591 +#: ../python/frescobaldi_app/mainapp.py:601 msgid "Halve durations" msgstr "Reducir á metade" -#: ../python/frescobaldi_app/mainapp.py:592 +#: ../python/frescobaldi_app/mainapp.py:602 msgid "Halve all the durations in the selection." msgstr "Reducir á metade todas as duracións na selección." -#: ../python/frescobaldi_app/mainapp.py:597 +#: ../python/frescobaldi_app/mainapp.py:607 msgid "Dot durations" msgstr "Duracións con punto" -#: ../python/frescobaldi_app/mainapp.py:598 +#: ../python/frescobaldi_app/mainapp.py:608 msgid "Add a dot to all the durations in the selection." msgstr "Engadir punto a todas as duracións na selección." -#: ../python/frescobaldi_app/mainapp.py:603 +#: ../python/frescobaldi_app/mainapp.py:613 msgid "Undot durations" msgstr "Quitar puntos" -#: ../python/frescobaldi_app/mainapp.py:604 +#: ../python/frescobaldi_app/mainapp.py:614 msgid "Remove one dot from all the durations in the selection." msgstr "Eliminar o punto de todas as duracións da selección." -#: ../python/frescobaldi_app/mainapp.py:609 +#: ../python/frescobaldi_app/mainapp.py:619 msgid "Remove scaling" msgstr "Eliminar escalado" -#: ../python/frescobaldi_app/mainapp.py:610 +#: ../python/frescobaldi_app/mainapp.py:620 msgid "Remove all scaling (*n/m) from the durations in the selection." msgstr "" "Eliminar todos os factores de escala (*n/m) das duracións da selección." -#: ../python/frescobaldi_app/mainapp.py:615 +#: ../python/frescobaldi_app/mainapp.py:625 msgid "Remove durations" msgstr "Eliminar duracións" -#: ../python/frescobaldi_app/mainapp.py:616 +#: ../python/frescobaldi_app/mainapp.py:626 msgid "Remove all durations from the selection." msgstr "Eliminar todas as duracións da selección." -#: ../python/frescobaldi_app/mainapp.py:621 +#: ../python/frescobaldi_app/mainapp.py:631 msgid "Make implicit" msgstr "Facer implícitas" -#: ../python/frescobaldi_app/mainapp.py:622 +#: ../python/frescobaldi_app/mainapp.py:632 msgid "Make durations implicit (remove repeated durations)." msgstr "" "Facer que as duracións sexan implícitas (eliminar as duracións repetidas)." -#: ../python/frescobaldi_app/mainapp.py:627 +#: ../python/frescobaldi_app/mainapp.py:637 msgid "Make explicit" msgstr "Facer explícitas" -#: ../python/frescobaldi_app/mainapp.py:628 +#: ../python/frescobaldi_app/mainapp.py:638 msgid "" "Make durations explicit (add duration to every note, even if it is the same " "as the preceding note)." @@ -1342,207 +1354,226 @@ "Facer explícitas as duracións (escribir a duración despois de cada nota, " "incluso cando é a mesma que a da nota anterior)." -#: ../python/frescobaldi_app/mainapp.py:634 +#: ../python/frescobaldi_app/mainapp.py:644 msgid "Apply rhythm..." msgstr "Aplicar ritmo..." -#: ../python/frescobaldi_app/mainapp.py:635 +#: ../python/frescobaldi_app/mainapp.py:645 msgid "Apply an entered rhythm to the selected music." msgstr "Aplicar unhas duracións dadas á música seleccionada." -#: ../python/frescobaldi_app/mainapp.py:639 +#: ../python/frescobaldi_app/mainapp.py:649 msgid "Copy rhythm" msgstr "Copiar duracións" -#: ../python/frescobaldi_app/mainapp.py:640 +#: ../python/frescobaldi_app/mainapp.py:650 msgid "Copy the rhythm of the selected music." msgstr "Copiar as duracións da música seleccionada." -#: ../python/frescobaldi_app/mainapp.py:646 +#: ../python/frescobaldi_app/mainapp.py:656 msgid "Paste rhythm" msgstr "Pegar duracións" -#: ../python/frescobaldi_app/mainapp.py:647 +#: ../python/frescobaldi_app/mainapp.py:657 msgid "Paste a rhythm to the selected music." msgstr "Pegar duracións á música seleccionada." -#: ../python/frescobaldi_app/mainapp.py:655 +#: ../python/frescobaldi_app/mainapp.py:665 msgid "Double bar line" msgstr "Dobre barra" -#: ../python/frescobaldi_app/mainapp.py:656 +#: ../python/frescobaldi_app/mainapp.py:666 msgid "Ending bar line" msgstr "Dobre barra final" -#: ../python/frescobaldi_app/mainapp.py:657 +#: ../python/frescobaldi_app/mainapp.py:667 msgid "Dotted bar line" msgstr "Barra con puntos de repetición" -#: ../python/frescobaldi_app/mainapp.py:658 +#: ../python/frescobaldi_app/mainapp.py:668 msgid "Dashed bar line" msgstr "Barra descontinua" -#: ../python/frescobaldi_app/mainapp.py:659 +#: ../python/frescobaldi_app/mainapp.py:669 msgid "Invisible bar line" msgstr "Barra invisible" -#: ../python/frescobaldi_app/mainapp.py:660 +#: ../python/frescobaldi_app/mainapp.py:670 msgid "Repeat start" msgstr "Inicio de repetición" -#: ../python/frescobaldi_app/mainapp.py:661 +#: ../python/frescobaldi_app/mainapp.py:671 msgid "Repeat both" msgstr "Repetición dobre" -#: ../python/frescobaldi_app/mainapp.py:662 +#: ../python/frescobaldi_app/mainapp.py:672 msgid "Repeat end" msgstr "Fin de repetición" -#: ../python/frescobaldi_app/mainapp.py:663 +#: ../python/frescobaldi_app/mainapp.py:673 msgid "Tick bar line" msgstr "Liña divisoria curta" -#: ../python/frescobaldi_app/mainapp.py:664 +#: ../python/frescobaldi_app/mainapp.py:674 msgid "Single bar line" msgstr "Liñas divisoria simple" -#: ../python/frescobaldi_app/mainapp.py:665 +#: ../python/frescobaldi_app/mainapp.py:675 msgid "Small-Wide-Small bar line" msgstr "Barra fina-grosa-fina" -#: ../python/frescobaldi_app/mainapp.py:666 +#: ../python/frescobaldi_app/mainapp.py:676 msgid "Wide-Small bar line" msgstr "Barra grosa-fina" -#: ../python/frescobaldi_app/mainapp.py:667 +#: ../python/frescobaldi_app/mainapp.py:677 msgid "Double wide bar line" msgstr "Barra grosa dobre" -#: ../python/frescobaldi_app/mainapp.py:668 +#: ../python/frescobaldi_app/mainapp.py:678 msgid "Repeat both (old)" msgstr "Repetición dobre (vella)" -#: ../python/frescobaldi_app/mainapp.py:669 +#: ../python/frescobaldi_app/mainapp.py:679 msgid "Repeat both (classic)" msgstr "Repetición dobre (clásica)" -#: ../python/frescobaldi_app/mainapp.py:681 +#: ../python/frescobaldi_app/mainapp.py:691 msgid "Remove hyphenation" msgstr "Eliminar a guionización" -#: ../python/frescobaldi_app/mainapp.py:686 +#: ../python/frescobaldi_app/mainapp.py:695 +msgid "Copy Lyrics with hyphenation removed" +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:700 msgid "Single Quote" msgstr "Comiña simple" -#: ../python/frescobaldi_app/mainapp.py:690 +#: ../python/frescobaldi_app/mainapp.py:704 msgid "Double Quote" msgstr "Comiña dobre" -#: ../python/frescobaldi_app/mainapp.py:694 +#: ../python/frescobaldi_app/mainapp.py:708 msgid "Align" msgstr "Aliñar" -#: ../python/frescobaldi_app/mainapp.py:698 +#: ../python/frescobaldi_app/mainapp.py:712 msgid "Insert LilyPond version" msgstr "Inserir a versión de LilyPond" -#: ../python/frescobaldi_app/mainapp.py:703 +#: ../python/frescobaldi_app/mainapp.py:717 msgid "Update with convert-ly" msgstr "Actualizar mediante convert-ly" -#: ../python/frescobaldi_app/mainapp.py:708 +#: ../python/frescobaldi_app/mainapp.py:722 msgid "Open Current Folder" msgstr "Abrir o cartafol actual" -#: ../python/frescobaldi_app/mainapp.py:722 +#: ../python/frescobaldi_app/mainapp.py:737 msgid "Repeat selected music" msgstr "Repetir a música seleccionada" -#: ../python/frescobaldi_app/mainapp.py:728 +#: ../python/frescobaldi_app/mainapp.py:743 msgid "Insert pair of braces" msgstr "Inserir par de chaves" -#: ../python/frescobaldi_app/mainapp.py:776 +#: ../python/frescobaldi_app/mainapp.py:794 +msgid "Can't process document" +msgstr "Non se pode procesar o documento" + +#: ../python/frescobaldi_app/mainapp.py:799 +msgid "Your document has been modified, please save first." +msgstr "O documento foi modificado, gárdeo primeiro" + +#: ../python/frescobaldi_app/mainapp.py:824 +msgid "There is already a LilyPond job running for this document." +msgstr "Xa está en execución unha tarefa de LilyPond para este documento." + +#: ../python/frescobaldi_app/mainapp.py:860 msgid "Abort the running LilyPond process" msgstr "Abortar o proceso de LilyPond en execución" -#: ../python/frescobaldi_app/mainapp.py:779 -msgid "Run LilyPond in preview mode" +#: ../python/frescobaldi_app/mainapp.py:863 +#, fuzzy +msgid "Run LilyPond in preview mode (Shift-click for custom dialog)" msgstr "Executar LilyPond en modo vista previa" -#: ../python/frescobaldi_app/mainapp.py:796 +#: ../python/frescobaldi_app/mainapp.py:872 +#: ../python/frescobaldi_app/mainapp.py:1088 +msgid "Quick Insert" +msgstr "Inserción rápida" + +#: ../python/frescobaldi_app/mainapp.py:882 msgid "Apply Rhythm" msgstr "Aplicar ritmo" -#: ../python/frescobaldi_app/mainapp.py:804 +#: ../python/frescobaldi_app/mainapp.py:890 msgid "Enter a rhythm:" msgstr "Introduza unhas duracións:" -#: ../python/frescobaldi_app/mainapp.py:807 +#: ../python/frescobaldi_app/mainapp.py:893 msgid "Enter a rhythm using space separated duration values (e.g. 8. 16 8 4 8)" msgstr "" "Introducir un ritmo empregando valores de duración separados por espazos " "(ex. 8. 16 8 4 8)" -#: ../python/frescobaldi_app/mainapp.py:862 +#: ../python/frescobaldi_app/mainapp.py:917 msgid "Terminal" msgstr "Terminal" -#: ../python/frescobaldi_app/mainapp.py:900 +#: ../python/frescobaldi_app/mainapp.py:948 msgid "S&ynchronize Terminal with Current Document" msgstr "&Sincronizar o terminal co documento actual" -#: ../python/frescobaldi_app/mainapp.py:921 -#: ../python/frescobaldi_app/runlily.py:629 +#: ../python/frescobaldi_app/mainapp.py:969 +#: ../python/frescobaldi_app/runlily.py:783 msgid "PDF Preview" msgstr "Vista previa do PDF" -#: ../python/frescobaldi_app/mainapp.py:950 +#: ../python/frescobaldi_app/mainapp.py:1026 msgid "Show PDF Navigation Panel" msgstr "Amosar o panel de navegación do PDF" -#: ../python/frescobaldi_app/mainapp.py:951 +#: ../python/frescobaldi_app/mainapp.py:1027 msgid "Show PDF minipager" msgstr "Amosar o mini-paxinador de PDF" -#: ../python/frescobaldi_app/mainapp.py:952 +#: ../python/frescobaldi_app/mainapp.py:1028 msgid "Configure Okular..." msgstr "Configurar Okular..." -#: ../python/frescobaldi_app/mainapp.py:955 +#: ../python/frescobaldi_app/mainapp.py:1031 msgid "S&ynchronize Preview with Current Document" msgstr "&Sincronizar a vista previa co documento actual" -#: ../python/frescobaldi_app/mainapp.py:956 +#: ../python/frescobaldi_app/mainapp.py:1032 msgid "Reload" msgstr "Cargar de novo" -#: ../python/frescobaldi_app/mainapp.py:1024 -msgid "Quick Insert" -msgstr "Inserción rápida" - -#: ../python/frescobaldi_app/mainapp.py:1036 -#: ../python/frescobaldi_app/runlily.py:334 +#: ../python/frescobaldi_app/mainapp.py:1100 +#: ../python/frescobaldi_app/runlily.py:503 msgid "LilyPond Log" msgstr "Rexistro de LilyPond" -#: ../python/frescobaldi_app/mainapp.py:1040 +#: ../python/frescobaldi_app/mainapp.py:1104 msgid "no log" msgstr "sen rexistro" -#: ../python/frescobaldi_app/mainapp.py:1079 +#: ../python/frescobaldi_app/mainapp.py:1141 msgid "Only show on errors" msgstr "Amosar só se hai erros" -#: ../python/frescobaldi_app/mainapp.py:1103 +#: ../python/frescobaldi_app/mainapp.py:1165 msgid "Rumor" msgstr "Rumor" -#: ../python/frescobaldi_app/mainapp.py:1115 +#: ../python/frescobaldi_app/mainapp.py:1177 +#: ../python/frescobaldi_app/settings.py:297 msgid "LilyPond Documentation" msgstr "Documentación de LilyPond" -#: ../python/frescobaldi_app/rumor.py:72 +#: ../python/frescobaldi_app/rumor.py:73 msgid "" "The meter to use. Leave 'Auto' to let Frescobaldi determine the meter from " "the LilyPond document." @@ -1550,31 +1581,31 @@ "Compás a empregar. Déixeo en 'Automático' para que Frescobladi determine o " "compás a partires do documento de LilyPond." -#: ../python/frescobaldi_app/rumor.py:79 +#: ../python/frescobaldi_app/rumor.py:80 msgid "Quantize:" msgstr "Cuantizar:" -#: ../python/frescobaldi_app/rumor.py:85 +#: ../python/frescobaldi_app/rumor.py:86 msgid "The shortest note duration to use." msgstr "Duración da nota máis curta que se vai usar." -#: ../python/frescobaldi_app/rumor.py:90 +#: ../python/frescobaldi_app/rumor.py:91 msgid "Step" msgstr "Pasos" -#: ../python/frescobaldi_app/rumor.py:92 +#: ../python/frescobaldi_app/rumor.py:93 msgid "Record LilyPond input note by note, without durations." msgstr "Gravar a entrada de LilyPond nota a nota, sen as duracións." -#: ../python/frescobaldi_app/rumor.py:96 +#: ../python/frescobaldi_app/rumor.py:97 msgid "Mono" msgstr "Mono" -#: ../python/frescobaldi_app/rumor.py:98 +#: ../python/frescobaldi_app/rumor.py:99 msgid "Record monophonic input, without chords." msgstr "Gravar unha entrada monofónica, sen acordes." -#: ../python/frescobaldi_app/rumor.py:107 +#: ../python/frescobaldi_app/rumor.py:108 msgid "" "The number of accidentals. A negative number designates flats. Leave 'Auto' " "to let Frescobaldi determine the key signature from the LilyPond document." @@ -1583,23 +1614,23 @@ "'Automático' para que Frescobaldi determine a tonalidade a partires do " "documento de LilyPond." -#: ../python/frescobaldi_app/rumor.py:113 +#: ../python/frescobaldi_app/rumor.py:114 msgid "Tempo:" msgstr "Tempo:" -#: ../python/frescobaldi_app/rumor.py:116 +#: ../python/frescobaldi_app/rumor.py:117 msgid "Meter:" msgstr "Compás:" -#: ../python/frescobaldi_app/rumor.py:119 +#: ../python/frescobaldi_app/rumor.py:120 msgid "Key:" msgstr "Tonalidade:" -#: ../python/frescobaldi_app/rumor.py:131 +#: ../python/frescobaldi_app/rumor.py:132 msgid "Configure..." msgstr "Configurar..." -#: ../python/frescobaldi_app/rumor.py:132 +#: ../python/frescobaldi_app/rumor.py:133 msgid "Adjust more settings, like MIDI input and output." msgstr "Configurar máis axustes, como a entrada e saída MIDI." @@ -1611,59 +1642,59 @@ msgid "Set these settings as default." msgstr "Establecer estes axustes como predeterminados." -#: ../python/frescobaldi_app/rumor.py:148 +#: ../python/frescobaldi_app/rumor.py:147 msgid "Found rumor version %1." msgstr "Atopouse a versión %1 de Rumor." -#: ../python/frescobaldi_app/rumor.py:151 +#: ../python/frescobaldi_app/rumor.py:150 msgid "Could not find Rumor: %1" msgstr "Non se atopou Rumor: %1" -#: ../python/frescobaldi_app/rumor.py:165 +#: ../python/frescobaldi_app/rumor.py:164 msgid "Settings have been saved." msgstr "Gardáronse os axustes." -#: ../python/frescobaldi_app/rumor.py:316 +#: ../python/frescobaldi_app/rumor.py:315 msgid "Record" msgstr "Gravar" -#: ../python/frescobaldi_app/rumor.py:318 +#: ../python/frescobaldi_app/rumor.py:317 msgid "Start or stop Rumor MIDI-recording." msgstr "Iniciar ou deter a gravación MIDI de Rumor." -#: ../python/frescobaldi_app/rumor.py:334 +#: ../python/frescobaldi_app/rumor.py:333 msgid "Rumor is recording, press ESC to stop." msgstr "Rumor está a gravar, prema ESC para deter." -#: ../python/frescobaldi_app/rumor.py:360 +#: ../python/frescobaldi_app/rumor.py:359 msgid "Rumor stopped." msgstr "Rumor detido." -#: ../python/frescobaldi_app/rumor.py:394 +#: ../python/frescobaldi_app/rumor.py:393 msgid "TiMidity" msgstr "TiMidity" -#: ../python/frescobaldi_app/rumor.py:395 +#: ../python/frescobaldi_app/rumor.py:394 msgid "Start or stop the TiMidity ALSA MIDI client." msgstr "Iniciar ou deter o cliente MIDI de ALSA TiMidity." -#: ../python/frescobaldi_app/rumor.py:415 +#: ../python/frescobaldi_app/rumor.py:413 msgid "Rumor Settings" msgstr "Configuración de Rumor" -#: ../python/frescobaldi_app/rumor.py:423 +#: ../python/frescobaldi_app/rumor.py:421 msgid "OSS device %1" msgstr "Dispositivo OSS %1" -#: ../python/frescobaldi_app/rumor.py:425 +#: ../python/frescobaldi_app/rumor.py:423 msgid "Keyboard" msgstr "Teclado" -#: ../python/frescobaldi_app/rumor.py:431 +#: ../python/frescobaldi_app/rumor.py:429 msgid "MIDI input:" msgstr "Entrada de MIDI:" -#: ../python/frescobaldi_app/rumor.py:435 +#: ../python/frescobaldi_app/rumor.py:433 msgid "" "MIDI input to use. Choose 'Keyboard' if you want to play on the keyboard of " "your computer." @@ -1671,28 +1702,28 @@ "A entrada MIDI que vai empregar. Escolla 'Teclado' se quere tocar no teclado " "do seu computador." -#: ../python/frescobaldi_app/rumor.py:441 +#: ../python/frescobaldi_app/rumor.py:439 msgid "MIDI output:" msgstr "Saída de MIDI:" -#: ../python/frescobaldi_app/rumor.py:445 +#: ../python/frescobaldi_app/rumor.py:443 msgid "MIDI output to use." msgstr "Saída MIDI para empregar." -#: ../python/frescobaldi_app/rumor.py:450 -#: ../python/frescobaldi_app/scorewiz/__init__.py:544 +#: ../python/frescobaldi_app/rumor.py:448 +#: ../python/frescobaldi_app/scorewiz/__init__.py:529 msgid "Language:" msgstr "Idioma:" -#: ../python/frescobaldi_app/rumor.py:455 +#: ../python/frescobaldi_app/rumor.py:453 msgid "The LilyPond language you want Rumor to output the pitches in." msgstr "O idioma de LilyPond no que quere que Rumor grave as notas." -#: ../python/frescobaldi_app/rumor.py:463 +#: ../python/frescobaldi_app/rumor.py:461 msgid "Explicit durations" msgstr "Duracións explícitas" -#: ../python/frescobaldi_app/rumor.py:465 +#: ../python/frescobaldi_app/rumor.py:463 msgid "" "Add a duration after every note, even if it is the same as the preceding " "note." @@ -1700,52 +1731,52 @@ "Engadir a duración despois de cada nota, aínda que sexa a mesma que a da " "nota anterior." -#: ../python/frescobaldi_app/rumor.py:470 +#: ../python/frescobaldi_app/rumor.py:468 msgid "Absolute pitch" msgstr "Altura absoluta" -#: ../python/frescobaldi_app/rumor.py:472 +#: ../python/frescobaldi_app/rumor.py:470 msgid "Use absolute pitches instead of relative." msgstr "Empregar alturas absolutas en vez de relativas." -#: ../python/frescobaldi_app/rumor.py:478 +#: ../python/frescobaldi_app/rumor.py:476 msgid "No barlines" msgstr "Sen liñas divisorias" -#: ../python/frescobaldi_app/rumor.py:480 +#: ../python/frescobaldi_app/rumor.py:478 msgid "Filter the barlines out of Rumor's output." msgstr "Filtrar as barras de compás da saída de Rumor." -#: ../python/frescobaldi_app/rumor.py:484 +#: ../python/frescobaldi_app/rumor.py:482 msgid "No dots" msgstr "Sen puntos" -#: ../python/frescobaldi_app/rumor.py:486 +#: ../python/frescobaldi_app/rumor.py:484 msgid "Do not use dotted notes, but ties instead." msgstr "" "Non empregar notas con punto, no seu lugar, empregar ligaduras de unión." -#: ../python/frescobaldi_app/rumor.py:490 +#: ../python/frescobaldi_app/rumor.py:488 msgid "Legato" msgstr "Legato" -#: ../python/frescobaldi_app/rumor.py:491 +#: ../python/frescobaldi_app/rumor.py:489 msgid "Do not use rests, but give all notes the maximum length." msgstr "Non usar silencios, todas as notas teñen a máxima lonxitude." -#: ../python/frescobaldi_app/rumor.py:496 +#: ../python/frescobaldi_app/rumor.py:494 msgid "Strip rests" msgstr "Quitar silencios" -#: ../python/frescobaldi_app/rumor.py:498 +#: ../python/frescobaldi_app/rumor.py:496 msgid "Strip leading and trialing rests from output." msgstr "Quitar os silencios inicial e final da saída." -#: ../python/frescobaldi_app/rumor.py:502 +#: ../python/frescobaldi_app/rumor.py:500 msgid "Guile scripts to load:" msgstr "Cargar scripts de Guile:" -#: ../python/frescobaldi_app/rumor.py:509 +#: ../python/frescobaldi_app/rumor.py:507 msgid "" "Here you can select which Guile scripts you want Rumor to load. Check " "\"What's this\" for more information." @@ -1753,7 +1784,7 @@ "Aquí pode elexir os scripts de Guile que quere que Rumor cargue. Comprobe a " "saída de \"Que é isto\" para obter máis información." -#: ../python/frescobaldi_app/rumor.py:513 +#: ../python/frescobaldi_app/rumor.py:511 msgid "" "Here you can select which Guile scripts you want Rumor to load. You can add " "your own scripts by putting them in %1. If the first line of your script " @@ -1763,55 +1794,132 @@ "engadir os seus propios scripts situándoos en %1. Se a primeira liña do " "script comeza por punto e coma (;), esa liña amosarase coma unha descrición." -#: ../python/frescobaldi_app/rumor.py:635 +#: ../python/frescobaldi_app/rumor.py:633 msgid "Auto" msgstr "Automático" -#: ../python/frescobaldi_app/runlily.py:88 +#: ../python/frescobaldi_app/runlily.py:101 msgid "preview mode" msgstr "Modo vista previa" -#: ../python/frescobaldi_app/runlily.py:88 +#: ../python/frescobaldi_app/runlily.py:101 msgid "publish mode" msgstr "Modo publicación" -#: ../python/frescobaldi_app/runlily.py:89 +#: ../python/frescobaldi_app/runlily.py:104 +msgid "LilyPond %1 [%2] starting (%3)..." +msgstr "LilyPond %1 [%2] iniciando (%3)..." + +#: ../python/frescobaldi_app/runlily.py:107 msgid "LilyPond [%1] starting (%2)..." msgstr "LilyPond [%1] iniciando (%2)..." -#: ../python/frescobaldi_app/runlily.py:95 +#: ../python/frescobaldi_app/runlily.py:131 msgid "LilyPond [%1] exited with return code %2." msgstr "LilyPond [%1] devolveu ao saír o código %2." -#: ../python/frescobaldi_app/runlily.py:98 +#: ../python/frescobaldi_app/runlily.py:134 msgid "LilyPond [%1] exited with exit status %2." msgstr "LilyPond [%1] devolveu ao saír o código %2." -#: ../python/frescobaldi_app/runlily.py:107 +#: ../python/frescobaldi_app/runlily.py:140 msgid "LilyPond [%1] finished (%2)." msgstr "LilyPond [%1] rematou (%2)." -#: ../python/frescobaldi_app/runlily.py:115 +#: ../python/frescobaldi_app/runlily.py:150 msgid "Could not start LilyPond. Please check path and permissions." msgstr "Non se puido iniciar LilyPond. Comprobe a ruta e os permisos." -#: ../python/frescobaldi_app/runlily.py:118 +#: ../python/frescobaldi_app/runlily.py:153 msgid "Could not read from the LilyPond process." msgstr "Non se puido ler a partires do proceso LilyPond." -#: ../python/frescobaldi_app/runlily.py:121 +#: ../python/frescobaldi_app/runlily.py:156 msgid "An unknown error occured." msgstr "Houbo un erro descoñecido." -#: ../python/frescobaldi_app/runlily.py:323 +#: ../python/frescobaldi_app/runlily.py:229 +#: ../python/frescobaldi_app/runlily.py:232 +#, fuzzy +msgid "Run LilyPond" +msgstr "LilyPond" + +#: ../python/frescobaldi_app/runlily.py:239 +#, fuzzy +msgid "Select which LilyPond version you want to run:" +msgstr "Seleccione os ficheiros que quere enviar:" + +#: ../python/frescobaldi_app/runlily.py:247 +#, fuzzy +msgid "Run LilyPond in preview mode (with Point and Click)" +msgstr "Executar LilyPond en modo vista previa" + +#: ../python/frescobaldi_app/runlily.py:250 +#: ../python/frescobaldi_app/settings.py:150 +msgid "Run LilyPond with verbose output" +msgstr "Executar LilyPond con saída detallada" + +#: ../python/frescobaldi_app/runlily.py:292 +#, fuzzy +msgid "Command" +msgstr "Orde de impresión:" + +#: ../python/frescobaldi_app/runlily.py:299 +#, fuzzy +msgid "LilyPond %1" +msgstr "LilyPond" + +#: ../python/frescobaldi_app/runlily.py:300 +#, fuzzy +msgid "Use LilyPond version %1" +msgstr "Inserir a versión de LilyPond" + +#: ../python/frescobaldi_app/runlily.py:303 +#: ../python/frescobaldi_app/settings.py:601 +#, fuzzy +msgid "default" +msgstr "Predeterminado" + +#: ../python/frescobaldi_app/runlily.py:304 +#, fuzzy +msgid "Default LilyPond Version." +msgstr "Inserir a versión de LilyPond" + +#: ../python/frescobaldi_app/runlily.py:306 +msgid "automatic" +msgstr "" + +#: ../python/frescobaldi_app/runlily.py:307 +#, fuzzy +msgid "Automatic LilyPond Version (determined from document)." +msgstr "A versión de LilyPond que se vai empregar para os documentos novos" + +#: ../python/frescobaldi_app/runlily.py:312 +#, fuzzy +msgid "Path: %1" +msgstr "Reproducir %1" + +#: ../python/frescobaldi_app/runlily.py:316 +#, fuzzy +msgid "LilyPond (version unknown)" +msgstr "Inserir a versión de LilyPond" + +#: ../python/frescobaldi_app/runlily.py:317 +#, fuzzy +msgid "" +"Use LilyPond (version unknown)\n" +"Path: %1" +msgstr "Inserir a versión de LilyPond" + +#: ../python/frescobaldi_app/runlily.py:491 msgid "Click to edit this file" msgstr "Prema para editar este ficheiro" -#: ../python/frescobaldi_app/runlily.py:355 +#: ../python/frescobaldi_app/runlily.py:524 msgid "Save LilyPond Log as" msgstr "Gardar rexistro de LilyPond como" -#: ../python/frescobaldi_app/runlily.py:392 +#: ../python/frescobaldi_app/runlily.py:540 msgid "" "Could not save LilyPond log:\n" "\n" @@ -1821,108 +1929,96 @@ "\n" "%1" -#: ../python/frescobaldi_app/settings.py:49 +#: ../python/frescobaldi_app/settings.py:54 msgid "Configure" msgstr "Configurar" -#: ../python/frescobaldi_app/settings.py:104 +#: ../python/frescobaldi_app/settings.py:110 msgid "Editor Component" msgstr "Compoñente do editor" -#: ../python/frescobaldi_app/settings.py:105 +#: ../python/frescobaldi_app/settings.py:111 msgid "Editor Component Options" msgstr "Opcións do compoñente do editor" -#: ../python/frescobaldi_app/settings.py:134 +#: ../python/frescobaldi_app/settings.py:140 msgid "General Preferences" msgstr "Preferencias xerais" -#: ../python/frescobaldi_app/settings.py:135 +#: ../python/frescobaldi_app/settings.py:141 msgid "General Frescobaldi Preferences" msgstr "Preferencias xerais de Frescobaldi" -#: ../python/frescobaldi_app/settings.py:140 +#: ../python/frescobaldi_app/settings.py:146 msgid "Save document when LilyPond is run" msgstr "Gardar o documento ao executar LilyPond" -#: ../python/frescobaldi_app/settings.py:142 +#: ../python/frescobaldi_app/settings.py:148 msgid "Let LilyPond delete intermediate output files" msgstr "Permitir a LilyPond eliminar os ficheiros de saída intermedios" -#: ../python/frescobaldi_app/settings.py:144 -msgid "Run LilyPond with verbose output" -msgstr "Executar LilyPond con saída detallada" - -#: ../python/frescobaldi_app/settings.py:146 +#: ../python/frescobaldi_app/settings.py:152 msgid "Remember cursor position, bookmarks, etc." msgstr "Lembrar a posición do cursor, marcadores, etc." -#: ../python/frescobaldi_app/settings.py:148 +#: ../python/frescobaldi_app/settings.py:154 msgid "Disable the built-in PDF preview" msgstr "Desactivar a vista previa de PDF incorporada" -#: ../python/frescobaldi_app/settings.py:165 +#: ../python/frescobaldi_app/settings.py:170 msgid "LilyPond version number to use for new documents" msgstr "A versión de LilyPond que se vai empregar para os documentos novos" -#: ../python/frescobaldi_app/settings.py:167 +#: ../python/frescobaldi_app/settings.py:172 msgid "Use version number of installed LilyPond" msgstr "Usar o número da versión de LilyPond instalada" -#: ../python/frescobaldi_app/settings.py:168 +#: ../python/frescobaldi_app/settings.py:173 msgid "Use version number of last convert-ly rule" msgstr "Usar o número da versión da última regra de convert-ly" -#: ../python/frescobaldi_app/settings.py:169 +#: ../python/frescobaldi_app/settings.py:174 msgid "Use custom version number:" msgstr "Usar número de versión personalizado:" -#: ../python/frescobaldi_app/settings.py:175 +#: ../python/frescobaldi_app/settings.py:179 msgid "Enter a valid LilyPond version number, e.g. 2.12.0" msgstr "Escriba o número de versión de LilyPond válido, ex. 2.12.0" -#: ../python/frescobaldi_app/settings.py:233 +#: ../python/frescobaldi_app/settings.py:234 msgid "Paths" msgstr "Rutas" -#: ../python/frescobaldi_app/settings.py:234 +#: ../python/frescobaldi_app/settings.py:235 msgid "Paths to programs or data used by Frescobaldi" msgstr "Rutas a programas ou a datos usados por Frescobaldi" -#: ../python/frescobaldi_app/settings.py:244 -msgid "Name or full path of the LilyPond program." -msgstr "O nome ou a ruta completa do aplicativo LilyPond." - -#: ../python/frescobaldi_app/settings.py:246 -msgid "Name or full path of the convert-ly program." -msgstr "O nome ou a ruta completa do aplicativo convert-ly." - -#: ../python/frescobaldi_app/settings.py:247 +#: ../python/frescobaldi_app/settings.py:249 msgid "PDF Viewer:" msgstr "Visor de PDF:" -#: ../python/frescobaldi_app/settings.py:248 +#: ../python/frescobaldi_app/settings.py:250 msgid "PDF Viewer" msgstr "Visor de PDF" -#: ../python/frescobaldi_app/settings.py:249 -#: ../python/frescobaldi_app/settings.py:252 +#: ../python/frescobaldi_app/settings.py:251 +#: ../python/frescobaldi_app/settings.py:254 msgid "(leave empty for operating system default)" msgstr "(deixar baleiro para a opción predeterminada do sistema operativo)" -#: ../python/frescobaldi_app/settings.py:250 +#: ../python/frescobaldi_app/settings.py:252 msgid "MIDI Player:" msgstr "Reprodutor MIDI:" -#: ../python/frescobaldi_app/settings.py:251 +#: ../python/frescobaldi_app/settings.py:253 msgid "MIDI Player" msgstr "Reprodutor MIDI" -#: ../python/frescobaldi_app/settings.py:253 +#: ../python/frescobaldi_app/settings.py:255 msgid "Printcommand:" msgstr "Orde de impresión:" -#: ../python/frescobaldi_app/settings.py:254 +#: ../python/frescobaldi_app/settings.py:256 msgid "" "Command to print a PDF file, for example lpr or kprinter. You may add some " "arguments, e.g. lpr -P myprinter." @@ -1930,23 +2026,23 @@ "Orde para imprimir un ficheiro PDF, por exemplo, lpr ou kprinter. Pode " "engadirlle argumentos, ex. lpr -P a_miña_impresora." -#: ../python/frescobaldi_app/settings.py:270 +#: ../python/frescobaldi_app/settings.py:272 msgid "Default directory:" msgstr "Directorio predeterminado:" -#: ../python/frescobaldi_app/settings.py:275 +#: ../python/frescobaldi_app/settings.py:277 msgid "The default folder for your LilyPond documents (optional)." msgstr "O cartafol predeterminado para os documentos de LilyPond (opcional)." -#: ../python/frescobaldi_app/settings.py:287 +#: ../python/frescobaldi_app/settings.py:288 msgid "LilyPond documentation:" msgstr "Documentación de LilyPond:" -#: ../python/frescobaldi_app/settings.py:292 +#: ../python/frescobaldi_app/settings.py:294 msgid "Url or path to the LilyPond documentation." msgstr "Url ou ruta da documentación de Lilypond" -#: ../python/frescobaldi_app/settings.py:304 +#: ../python/frescobaldi_app/settings.py:305 msgid "" "Paths to search for hyphenation dictionaries of OpenOffice.org, Scribus, " "KOffice, etc, one per line. If you leave out the starting slash, the " @@ -1956,23 +2052,23 @@ "Scribus, KOffice, etc, un por cada liña. Se deixa a barra inicial, poñeranse " "diante os prefixos collidos da variable de contorno KDEDIRS." -#: ../python/frescobaldi_app/settings.py:363 +#: ../python/frescobaldi_app/settings.py:366 msgid "Rumor MIDI input" msgstr "Entrada MIDI de Rumor" -#: ../python/frescobaldi_app/settings.py:364 +#: ../python/frescobaldi_app/settings.py:367 msgid "Rumor MIDI input plugin settings" msgstr "Axustes da extensión de entrada MIDI Rumor" -#: ../python/frescobaldi_app/settings.py:369 +#: ../python/frescobaldi_app/settings.py:372 msgid "Commands used by the Rumor MIDI input module" msgstr "Ordes empregadas polo módulo de entrada MIDI Rumor" -#: ../python/frescobaldi_app/settings.py:376 +#: ../python/frescobaldi_app/settings.py:379 msgid "Name or full path of the Rumor program." msgstr "Nome ou ruta completa do aplicativo Rumor." -#: ../python/frescobaldi_app/settings.py:378 +#: ../python/frescobaldi_app/settings.py:381 msgid "" "Name or full path of the aconnect program (part of ALSA, for MIDI input and " "playback using Rumor)." @@ -1980,23 +2076,80 @@ "Nome e ruta do programa aconnect (parte de ALSA, para a entrada e " "reprodución MIDI utilizando Rumor)." -#: ../python/frescobaldi_app/settings.py:382 +#: ../python/frescobaldi_app/settings.py:385 msgid "" "Full command to start Timidity (or any other program) as an ALSA MIDI client." msgstr "" "Orde completa para iniciar Timidity (ou calquera outro programa) coma un " "cliente de MIDI ALSA." -#: ../python/frescobaldi_app/version.py:55 +#: ../python/frescobaldi_app/settings.py:421 +#, fuzzy +msgid "LilyPond versions to use:" +msgstr "Inserir a versión de LilyPond" + +#: ../python/frescobaldi_app/settings.py:432 +msgid "" +"Enable automatic version selection (choose LilyPond version from document)" +msgstr "" + +#: ../python/frescobaldi_app/settings.py:558 +msgid "Convert-ly:" +msgstr "" + +#: ../python/frescobaldi_app/settings.py:559 +#, fuzzy +msgid "Lilypond-book:" +msgstr "LilyPond" + +#: ../python/frescobaldi_app/settings.py:595 +#, fuzzy +msgid "Path" +msgstr "Rutas" + +#: ../python/frescobaldi_app/settings.py:596 +#, fuzzy +msgid "Version" +msgstr "Versión:" + +#: ../python/frescobaldi_app/settings.py:599 +#, fuzzy +msgid "Can't determine LilyPond version." +msgstr "Inserir a versión de LilyPond" + +#: ../python/frescobaldi_app/settings.py:624 +#, fuzzy +msgid "LilyPond Command:" +msgstr "Índice de ordes de LilyPond" + +#: ../python/frescobaldi_app/settings.py:628 +msgid "Name or full path of the LilyPond program." +msgstr "O nome ou a ruta completa do aplicativo LilyPond." + +#: ../python/frescobaldi_app/settings.py:629 +#, fuzzy +msgid "LilyPond Command" +msgstr "Índice de ordes de LilyPond" + +#: ../python/frescobaldi_app/settings.py:642 +#, fuzzy +msgid "Set as default" +msgstr "Establecer estes axustes como predeterminados." + +#: ../python/frescobaldi_app/settings.py:644 +msgid "Include in automatic version selection" +msgstr "" + +#: ../python/frescobaldi_app/version.py:61 msgid "Your document has already a LilyPond version statement." msgstr "O documento xa ten unha declaración da versión de LilyPond." -#: ../python/frescobaldi_app/version.py:56 +#: ../python/frescobaldi_app/version.py:62 msgid "Version already set" msgstr "Versión xa definida" -#: ../python/frescobaldi_app/version.py:64 -#: ../python/frescobaldi_app/version.py:82 +#: ../python/frescobaldi_app/version.py:70 +#: ../python/frescobaldi_app/version.py:88 msgid "" "Can't determine the version of LilyPond. Please check your LilyPond " "installation." @@ -2004,7 +2157,7 @@ "Non se pode determinar a versión de LilyPond. Revise a instalación de " "LilyPond." -#: ../python/frescobaldi_app/version.py:78 +#: ../python/frescobaldi_app/version.py:84 msgid "" "Can't determine the LilyPond version of the current document. Please add a " "\\version statement with the correct version." @@ -2012,11 +2165,11 @@ "Non é posible determinar a versión de LilyPond do documento actual. Escriba " "unha declaración \\version coa versión correcta." -#: ../python/frescobaldi_app/version.py:86 +#: ../python/frescobaldi_app/version.py:92 msgid "This LilyPond document is already up-to-date." msgstr "Este documento de LilyPond xa está actualizado." -#: ../python/frescobaldi_app/version.py:100 +#: ../python/frescobaldi_app/version.py:105 msgid "" "The document has been processed with convert-ly. You'll find the messages of " "convert-ly in a comment block at the end. You still may have to edit some " @@ -2026,7 +2179,7 @@ "convert-ly nun bloque de comentario ao final. Igual ten que editar algunhas " "partes de xeito manual." -#: ../python/frescobaldi_app/version.py:106 +#: ../python/frescobaldi_app/version.py:111 msgid "" "The document has been processed with convert-ly, but remained unchanged. " "This is the message given by convert-ly: %1" @@ -2034,183 +2187,183 @@ "O documento foi procesado con convert-ly, pero permaneceu sen modificacións. " "Esta é a mensaxe que deu convert-ly: %1" -#: ../python/frescobaldi_app/version.py:111 +#: ../python/frescobaldi_app/version.py:116 msgid "Could not start convert-ly: %1" msgstr "Non foi posible iniciar convert-ly: %1" -#: ../python/frescobaldi_app/widgets.py:46 +#: ../python/frescobaldi_app/widgets.py:47 msgid "Tap" msgstr "Marcar" -#: ../python/frescobaldi_app/widgets.py:52 +#: ../python/frescobaldi_app/widgets.py:53 msgid "Click this button a few times to set the tempo." msgstr "Prema neste botón varias veces para establecer o tempo." -#: ../python/frescobaldi_app/widgets.py:178 +#: ../python/frescobaldi_app/widgets.py:179 msgid "The tempo in beats per minute." msgstr "O tempo en pulsos por minuto." -#: ../python/frescobaldi_app/widgets.py:290 +#: ../python/frescobaldi_app/widgets.py:288 msgid "Treble" msgstr "Tiple" -#: ../python/frescobaldi_app/widgets.py:291 -#: ../python/frescobaldi_app/scorewiz/parts.py:809 +#: ../python/frescobaldi_app/widgets.py:289 +#: ../python/frescobaldi_app/scorewiz/parts.py:812 msgid "Alto" msgstr "Alto" -#: ../python/frescobaldi_app/widgets.py:292 -#: ../python/frescobaldi_app/scorewiz/parts.py:815 +#: ../python/frescobaldi_app/widgets.py:290 +#: ../python/frescobaldi_app/scorewiz/parts.py:818 msgid "Tenor" msgstr "Tenor" -#: ../python/frescobaldi_app/widgets.py:293 +#: ../python/frescobaldi_app/widgets.py:291 msgid "Treble 8" msgstr "Tiple 8" -#: ../python/frescobaldi_app/widgets.py:294 -#: ../python/frescobaldi_app/scorewiz/parts.py:585 -#: ../python/frescobaldi_app/scorewiz/parts.py:822 +#: ../python/frescobaldi_app/widgets.py:292 +#: ../python/frescobaldi_app/scorewiz/parts.py:588 +#: ../python/frescobaldi_app/scorewiz/parts.py:825 msgid "Bass" msgstr "Baixo" -#: ../python/frescobaldi_app/widgets.py:295 -#: ../python/frescobaldi_app/scorewiz/parts.py:1402 +#: ../python/frescobaldi_app/widgets.py:293 +#: ../python/frescobaldi_app/scorewiz/parts.py:1512 msgid "Percussion" msgstr "Percusión" -#: ../python/frescobaldi_app/widgets.py:298 +#: ../python/frescobaldi_app/widgets.py:296 msgid "Tab clef" msgstr "Clave de tabulatura" -#: ../python/frescobaldi_app/widgets.py:300 +#: ../python/frescobaldi_app/widgets.py:298 msgid "No Clef" msgstr "Sen clave" -#: ../python/frescobaldi_app/scorewiz/__init__.py:68 +#: ../python/frescobaldi_app/scorewiz/__init__.py:62 msgid "Score Setup Wizard" msgstr "Asistente de configuración de partitura" -#: ../python/frescobaldi_app/scorewiz/__init__.py:137 +#: ../python/frescobaldi_app/scorewiz/__init__.py:133 msgid "Titles and Headers" msgstr "Títulos e encabezamentos" -#: ../python/frescobaldi_app/scorewiz/__init__.py:155 +#: ../python/frescobaldi_app/scorewiz/__init__.py:151 msgid "Click to enter a value." msgstr "Prema para introducir un valor." -#: ../python/frescobaldi_app/scorewiz/__init__.py:157 +#: ../python/frescobaldi_app/scorewiz/__init__.py:153 msgid "bottom of first page" msgstr "final da primeira páxina" -#: ../python/frescobaldi_app/scorewiz/__init__.py:158 +#: ../python/frescobaldi_app/scorewiz/__init__.py:154 msgid "bottom of last page" msgstr "final de última páxina" -#: ../python/frescobaldi_app/scorewiz/__init__.py:201 +#: ../python/frescobaldi_app/scorewiz/__init__.py:194 msgid "Parts" msgstr "Partes" -#: ../python/frescobaldi_app/scorewiz/__init__.py:206 +#: ../python/frescobaldi_app/scorewiz/__init__.py:199 msgid "Available parts:" msgstr "Partes dispoñibles:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:209 +#: ../python/frescobaldi_app/scorewiz/__init__.py:202 msgid "Add selected part to your score." msgstr "Engadir a parte seleccionada á partitura." -#: ../python/frescobaldi_app/scorewiz/__init__.py:214 +#: ../python/frescobaldi_app/scorewiz/__init__.py:207 msgid "Score:" msgstr "Partitura:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:348 -#: ../python/frescobaldi_app/scorewiz/__init__.py:353 +#: ../python/frescobaldi_app/scorewiz/__init__.py:341 +#: ../python/frescobaldi_app/scorewiz/__init__.py:346 msgid "Score settings" msgstr "Configuración da partitura" -#: ../python/frescobaldi_app/scorewiz/__init__.py:360 +#: ../python/frescobaldi_app/scorewiz/__init__.py:353 msgid "General preferences" msgstr "Preferencias xerais" -#: ../python/frescobaldi_app/scorewiz/__init__.py:362 +#: ../python/frescobaldi_app/scorewiz/__init__.py:355 msgid "Instrument names" msgstr "Nomes de instrumentos" -#: ../python/frescobaldi_app/scorewiz/__init__.py:369 +#: ../python/frescobaldi_app/scorewiz/__init__.py:362 msgid "Key signature:" msgstr "Armadura da tonalidade:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:377 +#: ../python/frescobaldi_app/scorewiz/__init__.py:370 msgid "Time signature:" msgstr "Compás:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:393 +#: ../python/frescobaldi_app/scorewiz/__init__.py:386 msgid "Pickup measure:" msgstr "Compás de anacruse:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:405 +#: ../python/frescobaldi_app/scorewiz/__init__.py:398 msgid "Metronome mark:" msgstr "Marca de metrónomo:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:434 +#: ../python/frescobaldi_app/scorewiz/__init__.py:427 msgid "Tempo indication:" msgstr "Indicación de tempo:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:438 +#: ../python/frescobaldi_app/scorewiz/__init__.py:431 msgid "A tempo indication, e.g. \"Allegro.\"" msgstr "Unha indicación de tempo, ex. \"Allegro\"." -#: ../python/frescobaldi_app/scorewiz/__init__.py:444 +#: ../python/frescobaldi_app/scorewiz/__init__.py:437 msgid "Pitch name language:" msgstr "Idioma dos nomes de nota:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:452 +#: ../python/frescobaldi_app/scorewiz/__init__.py:445 msgid "The LilyPond language you want to use for the pitch names." msgstr "Idioma de Lilypond no que quere escribir os nomes das notas." -#: ../python/frescobaldi_app/scorewiz/__init__.py:469 +#: ../python/frescobaldi_app/scorewiz/__init__.py:451 msgid "Version:" msgstr "Versión:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:478 +#: ../python/frescobaldi_app/scorewiz/__init__.py:460 msgid "The LilyPond version you will be using for this document." msgstr "A versión de LilyPond que se vai empregar para este documento." -#: ../python/frescobaldi_app/scorewiz/__init__.py:482 +#: ../python/frescobaldi_app/scorewiz/__init__.py:464 msgid "Use typographical quotes" msgstr "Empregar comiñas tipográficas" -#: ../python/frescobaldi_app/scorewiz/__init__.py:484 +#: ../python/frescobaldi_app/scorewiz/__init__.py:466 msgid "Replace normal quotes in titles with nice typographical quotes." msgstr "Substituír as comiñas normais polas vistosas comiñas tipográficas." -#: ../python/frescobaldi_app/scorewiz/__init__.py:488 +#: ../python/frescobaldi_app/scorewiz/__init__.py:470 msgid "Suppress the default tagline output by LilyPond." msgstr "Eliminar o pé de páxina predeterminado que LilyPond produce." -#: ../python/frescobaldi_app/scorewiz/__init__.py:490 +#: ../python/frescobaldi_app/scorewiz/__init__.py:472 msgid "Remove bar numbers" msgstr "Eliminar números de compás" -#: ../python/frescobaldi_app/scorewiz/__init__.py:492 +#: ../python/frescobaldi_app/scorewiz/__init__.py:474 msgid "" "Suppress the display of measure numbers at the beginning of every system." msgstr "" "Eliminar a numeración de compases que se amosa á esquerda dos sistemas." -#: ../python/frescobaldi_app/scorewiz/__init__.py:495 +#: ../python/frescobaldi_app/scorewiz/__init__.py:477 msgid "Create MIDI output" msgstr "Crear saída de MIDI" -#: ../python/frescobaldi_app/scorewiz/__init__.py:497 +#: ../python/frescobaldi_app/scorewiz/__init__.py:479 msgid "Create a MIDI file in addition to the PDF file." msgstr "Crear un ficheiro MIDI ademais do ficheiro PDF." -#: ../python/frescobaldi_app/scorewiz/__init__.py:499 +#: ../python/frescobaldi_app/scorewiz/__init__.py:481 msgid "Show metronome mark" msgstr "Amosar marca de metrónomo" -#: ../python/frescobaldi_app/scorewiz/__init__.py:501 +#: ../python/frescobaldi_app/scorewiz/__init__.py:483 msgid "" "If checked, show the metronome mark at the beginning of the score. The MIDI " "output also uses the metronome setting." @@ -2218,154 +2371,162 @@ "Se está seleccionado, imprimir unha marca de metrónomo ao comezo da " "partitura. A saída MIDI tamén usa este axuste metronómico." -#: ../python/frescobaldi_app/scorewiz/__init__.py:512 +#: ../python/frescobaldi_app/scorewiz/__init__.py:487 +msgid "Wrap score in \\book block" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/__init__.py:489 +msgid "If checked, wraps the \\score block inside a \\book block." +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/__init__.py:499 msgid "Landscape" msgstr "Apaisado" -#: ../python/frescobaldi_app/scorewiz/__init__.py:526 +#: ../python/frescobaldi_app/scorewiz/__init__.py:511 msgid "First system:" msgstr "Primeiro sistema:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:529 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/scorewiz/__init__.py:514 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "Long" msgstr "Completo" -#: ../python/frescobaldi_app/scorewiz/__init__.py:529 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/scorewiz/__init__.py:514 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "Short" msgstr "Breve" -#: ../python/frescobaldi_app/scorewiz/__init__.py:531 +#: ../python/frescobaldi_app/scorewiz/__init__.py:516 msgid "Use long or short instrument names before the first system." msgstr "" "Empregar un nome curto ou longo para o instrumento antes do primeiro sistema." -#: ../python/frescobaldi_app/scorewiz/__init__.py:535 +#: ../python/frescobaldi_app/scorewiz/__init__.py:520 msgid "Other systems:" msgstr "Outros sistemas:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:540 +#: ../python/frescobaldi_app/scorewiz/__init__.py:525 msgid "Use short, long or no instrument names before the next systems." msgstr "" "Empregar os nomes de instrumento curto, longo ou ningún á esquerda dos " "seguintes sistemas:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:548 +#: ../python/frescobaldi_app/scorewiz/__init__.py:533 msgid "Which language to use for the instrument names." msgstr "Idioma que desexa empregar para os nomes de instrumento." -#: ../python/frescobaldi_app/scorewiz/__init__.py:726 +#: ../python/frescobaldi_app/scorewiz/__init__.py:736 msgid "Remove default LilyPond tagline" msgstr "Eliminar o pé de páxina predeterminado de LilyPond" -#: ../python/frescobaldi_app/scorewiz/__init__.py:1040 +#: ../python/frescobaldi_app/scorewiz/__init__.py:1077 msgid "No settings available." msgstr "Non hai axustes dispoñibles." -#: ../python/frescobaldi_app/scorewiz/parts.py:50 +#: ../python/frescobaldi_app/scorewiz/parts.py:54 msgid "Voices:" msgstr "Voces:" -#: ../python/frescobaldi_app/scorewiz/parts.py:55 +#: ../python/frescobaldi_app/scorewiz/parts.py:59 msgid "How many voices to put in this staff." msgstr "Cantas voces se poñen neste pentagrama." -#: ../python/frescobaldi_app/scorewiz/parts.py:93 +#: ../python/frescobaldi_app/scorewiz/parts.py:97 msgid "Music follows here." msgstr "A música continúa aquí." -#: ../python/frescobaldi_app/scorewiz/parts.py:160 +#: ../python/frescobaldi_app/scorewiz/parts.py:164 msgid "Staff type:" msgstr "Tipo de pentagrama:" -#: ../python/frescobaldi_app/scorewiz/parts.py:164 +#: ../python/frescobaldi_app/scorewiz/parts.py:168 msgid "Normal staff" msgstr "Normal" -#: ../python/frescobaldi_app/scorewiz/parts.py:165 +#: ../python/frescobaldi_app/scorewiz/parts.py:169 msgid "Tablature" msgstr "Tabulatura" -#: ../python/frescobaldi_app/scorewiz/parts.py:166 +#: ../python/frescobaldi_app/scorewiz/parts.py:170 msgid "Both" msgstr "Ambos" -#: ../python/frescobaldi_app/scorewiz/parts.py:177 +#: ../python/frescobaldi_app/scorewiz/parts.py:180 msgid "Tuning:" msgstr "Afinación:" -#: ../python/frescobaldi_app/scorewiz/parts.py:298 +#: ../python/frescobaldi_app/scorewiz/parts.py:301 msgid "Lyrics follow here." msgstr "A letra segue aquí." -#: ../python/frescobaldi_app/scorewiz/parts.py:309 +#: ../python/frescobaldi_app/scorewiz/parts.py:312 msgid "Stanzas:" msgstr "Estrofas:" -#: ../python/frescobaldi_app/scorewiz/parts.py:313 +#: ../python/frescobaldi_app/scorewiz/parts.py:316 msgid "The number of stanzas." msgstr "Número de estrofas." -#: ../python/frescobaldi_app/scorewiz/parts.py:316 +#: ../python/frescobaldi_app/scorewiz/parts.py:319 msgid "Ambitus" msgstr "Ámbito" -#: ../python/frescobaldi_app/scorewiz/parts.py:319 +#: ../python/frescobaldi_app/scorewiz/parts.py:322 msgid "Show the pitch range of the voice at the beginning of the staff." msgstr "Amosar a tesitura da voz ao principio do pentagrama." -#: ../python/frescobaldi_app/scorewiz/parts.py:383 +#: ../python/frescobaldi_app/scorewiz/parts.py:386 msgid "Adjust how many separate voices you want on each staff." msgstr "Configurar o número de voces distintas desexado en cada pentagrama." -#: ../python/frescobaldi_app/scorewiz/parts.py:384 +#: ../python/frescobaldi_app/scorewiz/parts.py:387 msgid "This is primarily useful when you write polyphonic music like a fuge." msgstr "" "Isto é moi útil sobre todo ao escribir música polifónica como unha fuga." -#: ../python/frescobaldi_app/scorewiz/parts.py:388 +#: ../python/frescobaldi_app/scorewiz/parts.py:391 msgid "Right hand:" msgstr "Man dereita:" -#: ../python/frescobaldi_app/scorewiz/parts.py:389 +#: ../python/frescobaldi_app/scorewiz/parts.py:392 msgid "Left hand:" msgstr "Man esquerda:" -#: ../python/frescobaldi_app/scorewiz/parts.py:408 -#: ../python/frescobaldi_app/scorewiz/parts.py:895 +#: ../python/frescobaldi_app/scorewiz/parts.py:411 +#: ../python/frescobaldi_app/scorewiz/parts.py:898 msgid "Chord names" msgstr "Nomes de acorde" -#: ../python/frescobaldi_app/scorewiz/parts.py:420 +#: ../python/frescobaldi_app/scorewiz/parts.py:423 msgid "Chords follow here." msgstr "Os acordes continúa aquí." -#: ../python/frescobaldi_app/scorewiz/parts.py:432 +#: ../python/frescobaldi_app/scorewiz/parts.py:435 msgid "Chord style:" msgstr "Estilo de acordes:" -#: ../python/frescobaldi_app/scorewiz/parts.py:437 +#: ../python/frescobaldi_app/scorewiz/parts.py:440 msgid "German" msgstr "Alemán" -#: ../python/frescobaldi_app/scorewiz/parts.py:438 +#: ../python/frescobaldi_app/scorewiz/parts.py:441 msgid "Semi-German" msgstr "Semi-alemán" -#: ../python/frescobaldi_app/scorewiz/parts.py:439 +#: ../python/frescobaldi_app/scorewiz/parts.py:442 msgid "Italian" msgstr "Italiano" -#: ../python/frescobaldi_app/scorewiz/parts.py:440 +#: ../python/frescobaldi_app/scorewiz/parts.py:443 msgid "French" msgstr "Francés" -#: ../python/frescobaldi_app/scorewiz/parts.py:441 +#: ../python/frescobaldi_app/scorewiz/parts.py:444 msgid "Guitar fret diagrams" msgstr "Diagramas de posición de acorde" -#: ../python/frescobaldi_app/scorewiz/parts.py:443 +#: ../python/frescobaldi_app/scorewiz/parts.py:446 msgid "" "Show predefined guitar fret diagrams below the chord names (LilyPond 2.12 " "and above)." @@ -2373,392 +2534,392 @@ "Amosar os diagramas de posicións de guitarra predeterminados debaixo dos " "nomes de acorde (LilyPond 2.12 ou superior)." -#: ../python/frescobaldi_app/scorewiz/parts.py:449 +#: ../python/frescobaldi_app/scorewiz/parts.py:452 msgid "Figured Bass" msgstr "Baixo cifrado" -#: ../python/frescobaldi_app/scorewiz/parts.py:457 -#: ../python/frescobaldi_app/scorewiz/parts.py:516 +#: ../python/frescobaldi_app/scorewiz/parts.py:460 +#: ../python/frescobaldi_app/scorewiz/parts.py:519 msgid "Figures follow here." msgstr "As cifras van aquí." -#: ../python/frescobaldi_app/scorewiz/parts.py:464 +#: ../python/frescobaldi_app/scorewiz/parts.py:467 msgid "Use extender lines" msgstr "Usar liñas de extensión" -#: ../python/frescobaldi_app/scorewiz/parts.py:469 +#: ../python/frescobaldi_app/scorewiz/parts.py:472 msgid "Violin" msgstr "Violín" -#: ../python/frescobaldi_app/scorewiz/parts.py:470 +#: ../python/frescobaldi_app/scorewiz/parts.py:473 msgid "Violin|Vl." msgstr "Violín|Vl." -#: ../python/frescobaldi_app/scorewiz/parts.py:475 +#: ../python/frescobaldi_app/scorewiz/parts.py:478 msgid "Viola" msgstr "Viola" -#: ../python/frescobaldi_app/scorewiz/parts.py:476 +#: ../python/frescobaldi_app/scorewiz/parts.py:479 msgid "Viola|Vla." msgstr "Viola|Vla." -#: ../python/frescobaldi_app/scorewiz/parts.py:483 +#: ../python/frescobaldi_app/scorewiz/parts.py:486 msgid "Cello" msgstr "Violoncello" -#: ../python/frescobaldi_app/scorewiz/parts.py:484 +#: ../python/frescobaldi_app/scorewiz/parts.py:487 msgid "Cello|Cl." msgstr "Violoncello|Vclo." -#: ../python/frescobaldi_app/scorewiz/parts.py:491 +#: ../python/frescobaldi_app/scorewiz/parts.py:494 msgid "Contrabass" msgstr "Contrabaixo" -#: ../python/frescobaldi_app/scorewiz/parts.py:492 +#: ../python/frescobaldi_app/scorewiz/parts.py:495 msgid "Contrabass|Cb." msgstr "Contrabaixo|Cb." -#: ../python/frescobaldi_app/scorewiz/parts.py:499 +#: ../python/frescobaldi_app/scorewiz/parts.py:502 msgid "Basso continuo" msgstr "Baixo continuo" -#: ../python/frescobaldi_app/scorewiz/parts.py:500 +#: ../python/frescobaldi_app/scorewiz/parts.py:503 msgid "Basso Continuo|B.c." msgstr "Baixo continuo|B.c." -#: ../python/frescobaldi_app/scorewiz/parts.py:522 +#: ../python/frescobaldi_app/scorewiz/parts.py:525 msgid "Mandolin" msgstr "Mandolina" -#: ../python/frescobaldi_app/scorewiz/parts.py:523 +#: ../python/frescobaldi_app/scorewiz/parts.py:526 msgid "Mandolin|Mdl." msgstr "Mandolina|Mna." -#: ../python/frescobaldi_app/scorewiz/parts.py:526 +#: ../python/frescobaldi_app/scorewiz/parts.py:529 msgid "Mandolin tuning" msgstr "Afinación da mandolina" -#: ../python/frescobaldi_app/scorewiz/parts.py:531 +#: ../python/frescobaldi_app/scorewiz/parts.py:534 msgid "Banjo" msgstr "Banxo" -#: ../python/frescobaldi_app/scorewiz/parts.py:532 +#: ../python/frescobaldi_app/scorewiz/parts.py:535 msgid "Banjo|Bj." msgstr "Banxo|Bxo." -#: ../python/frescobaldi_app/scorewiz/parts.py:536 +#: ../python/frescobaldi_app/scorewiz/parts.py:539 msgid "Open G-tuning (aDGBD)" msgstr "Afinación de Sol ao aire (la-Re-Sol-Si-Re)" -#: ../python/frescobaldi_app/scorewiz/parts.py:537 +#: ../python/frescobaldi_app/scorewiz/parts.py:540 msgid "C-tuning (gCGBD)" msgstr "Afinación de Do (sol-Do-Sol-Si-Re)" -#: ../python/frescobaldi_app/scorewiz/parts.py:538 +#: ../python/frescobaldi_app/scorewiz/parts.py:541 msgid "Modal tuning (gDGCD)" msgstr "Afinación modal (sol-Re-Sol-Do-Re)" -#: ../python/frescobaldi_app/scorewiz/parts.py:539 +#: ../python/frescobaldi_app/scorewiz/parts.py:542 msgid "Open D-tuning (aDF#AD)" msgstr "Afinación de re maior ao aire (la-Re-Fa#-La-Re)" -#: ../python/frescobaldi_app/scorewiz/parts.py:540 +#: ../python/frescobaldi_app/scorewiz/parts.py:543 msgid "Open Dm-tuning (aDFAD)" msgstr "Afinación de re menor ao aire (la-Re-Fa-La-Re)" -#: ../python/frescobaldi_app/scorewiz/parts.py:544 +#: ../python/frescobaldi_app/scorewiz/parts.py:547 msgid "Four strings (instead of five)" msgstr "Catro cordas (en vez de cinco)" -#: ../python/frescobaldi_app/scorewiz/parts.py:561 +#: ../python/frescobaldi_app/scorewiz/parts.py:564 msgid "Classical guitar" msgstr "Guitarra clásica" -#: ../python/frescobaldi_app/scorewiz/parts.py:562 +#: ../python/frescobaldi_app/scorewiz/parts.py:565 msgid "Guitar|Gt." msgstr "Guitarra|Gt." -#: ../python/frescobaldi_app/scorewiz/parts.py:566 +#: ../python/frescobaldi_app/scorewiz/parts.py:569 msgid "Guitar tuning" msgstr "Afinación da guitarra" -#: ../python/frescobaldi_app/scorewiz/parts.py:567 +#: ../python/frescobaldi_app/scorewiz/parts.py:570 msgid "Open G-tuning" msgstr "Afinación de sol ao aire" -#: ../python/frescobaldi_app/scorewiz/parts.py:579 +#: ../python/frescobaldi_app/scorewiz/parts.py:582 msgid "Jazz guitar" msgstr "Guitarra de jazz" -#: ../python/frescobaldi_app/scorewiz/parts.py:580 +#: ../python/frescobaldi_app/scorewiz/parts.py:583 msgid "Jazz guitar|J.Gt." msgstr "Guitarra de jazz|G.jz." -#: ../python/frescobaldi_app/scorewiz/parts.py:586 +#: ../python/frescobaldi_app/scorewiz/parts.py:589 msgid "Bass|Bs." msgstr "Baixo|Bx." -#: ../python/frescobaldi_app/scorewiz/parts.py:591 +#: ../python/frescobaldi_app/scorewiz/parts.py:594 msgid "Bass tuning" msgstr "Afinación do baixo" -#: ../python/frescobaldi_app/scorewiz/parts.py:596 +#: ../python/frescobaldi_app/scorewiz/parts.py:599 msgid "Electric bass" msgstr "Baixo eléctrico" -#: ../python/frescobaldi_app/scorewiz/parts.py:597 +#: ../python/frescobaldi_app/scorewiz/parts.py:600 msgid "Electric bass|E.Bs." msgstr "Baixo eléctrico|E. Bx." -#: ../python/frescobaldi_app/scorewiz/parts.py:602 +#: ../python/frescobaldi_app/scorewiz/parts.py:605 msgid "Harp" msgstr "Arpa" -#: ../python/frescobaldi_app/scorewiz/parts.py:603 +#: ../python/frescobaldi_app/scorewiz/parts.py:606 msgid "Harp|Hp." msgstr "Arpa|Ar." -#: ../python/frescobaldi_app/scorewiz/parts.py:618 +#: ../python/frescobaldi_app/scorewiz/parts.py:621 msgid "Upper staff:" msgstr "Pentagrama superior:" -#: ../python/frescobaldi_app/scorewiz/parts.py:619 +#: ../python/frescobaldi_app/scorewiz/parts.py:622 msgid "Lower staff:" msgstr "Pentagrama inferior" -#: ../python/frescobaldi_app/scorewiz/parts.py:623 +#: ../python/frescobaldi_app/scorewiz/parts.py:626 msgid "Flute" msgstr "Frauta" -#: ../python/frescobaldi_app/scorewiz/parts.py:624 +#: ../python/frescobaldi_app/scorewiz/parts.py:627 msgid "Flute|Fl." msgstr "Frauta|Fr." -#: ../python/frescobaldi_app/scorewiz/parts.py:629 +#: ../python/frescobaldi_app/scorewiz/parts.py:632 msgid "Piccolo" msgstr "Frautín" -#: ../python/frescobaldi_app/scorewiz/parts.py:630 +#: ../python/frescobaldi_app/scorewiz/parts.py:633 msgid "Piccolo|Pic." msgstr "Frautín|Frtn." -#: ../python/frescobaldi_app/scorewiz/parts.py:636 +#: ../python/frescobaldi_app/scorewiz/parts.py:639 msgid "Bass flute" msgstr "Frauta baixa" -#: ../python/frescobaldi_app/scorewiz/parts.py:637 +#: ../python/frescobaldi_app/scorewiz/parts.py:640 msgid "Bass flute|Bfl." msgstr "Frauta baixa|Fr.B." -#: ../python/frescobaldi_app/scorewiz/parts.py:643 +#: ../python/frescobaldi_app/scorewiz/parts.py:646 msgid "Oboe" msgstr "Óboe" -#: ../python/frescobaldi_app/scorewiz/parts.py:644 +#: ../python/frescobaldi_app/scorewiz/parts.py:647 msgid "Oboe|Ob." msgstr "Óboe|Ób" -#: ../python/frescobaldi_app/scorewiz/parts.py:649 +#: ../python/frescobaldi_app/scorewiz/parts.py:652 msgid "Oboe d'Amore" msgstr "Óboe d'amore" -#: ../python/frescobaldi_app/scorewiz/parts.py:650 +#: ../python/frescobaldi_app/scorewiz/parts.py:653 msgid "Oboe d'amore|Ob.d'am." msgstr "Óboe d'amore|Ób.d'am." -#: ../python/frescobaldi_app/scorewiz/parts.py:656 +#: ../python/frescobaldi_app/scorewiz/parts.py:659 msgid "English Horn" msgstr "Corno inglés" -#: ../python/frescobaldi_app/scorewiz/parts.py:657 +#: ../python/frescobaldi_app/scorewiz/parts.py:660 msgid "English horn|Eng.h." msgstr "Corno inglés|Cor.Ing." -#: ../python/frescobaldi_app/scorewiz/parts.py:663 +#: ../python/frescobaldi_app/scorewiz/parts.py:666 msgid "Bassoon" msgstr "Fagot" -#: ../python/frescobaldi_app/scorewiz/parts.py:664 +#: ../python/frescobaldi_app/scorewiz/parts.py:667 msgid "Bassoon|Bn." msgstr "Fagot|Fg." -#: ../python/frescobaldi_app/scorewiz/parts.py:671 +#: ../python/frescobaldi_app/scorewiz/parts.py:674 msgid "Contrabassoon" msgstr "Contrafagot" -#: ../python/frescobaldi_app/scorewiz/parts.py:672 +#: ../python/frescobaldi_app/scorewiz/parts.py:675 msgid "Contrabassoon|C.Bn." msgstr "Contrafagot|Cfg." -#: ../python/frescobaldi_app/scorewiz/parts.py:680 +#: ../python/frescobaldi_app/scorewiz/parts.py:683 msgid "Clarinet" msgstr "Clarinete" -#: ../python/frescobaldi_app/scorewiz/parts.py:681 +#: ../python/frescobaldi_app/scorewiz/parts.py:684 msgid "Clarinet|Cl." msgstr "Clarinete|Cl." -#: ../python/frescobaldi_app/scorewiz/parts.py:687 +#: ../python/frescobaldi_app/scorewiz/parts.py:690 msgid "Sopranino Sax" msgstr "Saxofón sopranino" -#: ../python/frescobaldi_app/scorewiz/parts.py:688 +#: ../python/frescobaldi_app/scorewiz/parts.py:691 msgid "Sopranino Sax|SiSx." msgstr "Saxofón sopranino|SxSn." -#: ../python/frescobaldi_app/scorewiz/parts.py:694 +#: ../python/frescobaldi_app/scorewiz/parts.py:697 msgid "Soprano Sax" msgstr "Saxofón soprano" -#: ../python/frescobaldi_app/scorewiz/parts.py:695 +#: ../python/frescobaldi_app/scorewiz/parts.py:698 msgid "Soprano Sax|SoSx." msgstr "Saxofón soprano|SxSo." -#: ../python/frescobaldi_app/scorewiz/parts.py:701 +#: ../python/frescobaldi_app/scorewiz/parts.py:704 msgid "Alto Sax" msgstr "Saxofón alto" -#: ../python/frescobaldi_app/scorewiz/parts.py:702 +#: ../python/frescobaldi_app/scorewiz/parts.py:705 msgid "Alto Sax|ASx." msgstr "Saxofón alto|SxA." -#: ../python/frescobaldi_app/scorewiz/parts.py:708 +#: ../python/frescobaldi_app/scorewiz/parts.py:711 msgid "Tenor Sax" msgstr "Saxofón tenor" -#: ../python/frescobaldi_app/scorewiz/parts.py:709 +#: ../python/frescobaldi_app/scorewiz/parts.py:712 msgid "Tenor Sax|TSx." msgstr "Saxofón tenor|SxT." -#: ../python/frescobaldi_app/scorewiz/parts.py:715 +#: ../python/frescobaldi_app/scorewiz/parts.py:718 msgid "Baritone Sax" msgstr "Saxofón barítono" -#: ../python/frescobaldi_app/scorewiz/parts.py:716 +#: ../python/frescobaldi_app/scorewiz/parts.py:719 msgid "Baritone Sax|BSx." msgstr "Saxofón barítono|SxB." -#: ../python/frescobaldi_app/scorewiz/parts.py:722 +#: ../python/frescobaldi_app/scorewiz/parts.py:725 msgid "Bass Sax" msgstr "Saxofón baixo" -#: ../python/frescobaldi_app/scorewiz/parts.py:723 +#: ../python/frescobaldi_app/scorewiz/parts.py:726 msgid "Bass Sax|BsSx." msgstr "Saxofón bajo|SxBx." -#: ../python/frescobaldi_app/scorewiz/parts.py:729 +#: ../python/frescobaldi_app/scorewiz/parts.py:732 msgid "Soprano recorder" msgstr "Frauta doce soprano" -#: ../python/frescobaldi_app/scorewiz/parts.py:730 +#: ../python/frescobaldi_app/scorewiz/parts.py:733 msgid "Soprano recorder|S.rec." msgstr "Frauta doce soprano|Fr.d.s." -#: ../python/frescobaldi_app/scorewiz/parts.py:736 +#: ../python/frescobaldi_app/scorewiz/parts.py:739 msgid "Alto recorder" msgstr "Frauta doce alto" -#: ../python/frescobaldi_app/scorewiz/parts.py:737 +#: ../python/frescobaldi_app/scorewiz/parts.py:740 msgid "Alto recorder|A.rec." msgstr "Frauta doce alto|Fr.d.A." -#: ../python/frescobaldi_app/scorewiz/parts.py:742 +#: ../python/frescobaldi_app/scorewiz/parts.py:745 msgid "Tenor recorder" msgstr "Frauta doce tenor" -#: ../python/frescobaldi_app/scorewiz/parts.py:743 +#: ../python/frescobaldi_app/scorewiz/parts.py:746 msgid "Tenor recorder|T.rec." msgstr "Frauta doce tenor|Fr.d.T." -#: ../python/frescobaldi_app/scorewiz/parts.py:748 +#: ../python/frescobaldi_app/scorewiz/parts.py:751 msgid "Bass recorder" msgstr "Frauta doce baixo" -#: ../python/frescobaldi_app/scorewiz/parts.py:749 +#: ../python/frescobaldi_app/scorewiz/parts.py:752 msgid "Bass recorder|B.rec." msgstr "Frauta doce baixo|Fr.d.B." -#: ../python/frescobaldi_app/scorewiz/parts.py:756 +#: ../python/frescobaldi_app/scorewiz/parts.py:759 msgid "Horn in F" msgstr "Trompa en Fa" -#: ../python/frescobaldi_app/scorewiz/parts.py:757 +#: ../python/frescobaldi_app/scorewiz/parts.py:760 msgid "Horn in F|Hn.F." msgstr "Trompa en Fa|Tpa." -#: ../python/frescobaldi_app/scorewiz/parts.py:763 +#: ../python/frescobaldi_app/scorewiz/parts.py:766 msgid "Trumpet in C" msgstr "Trompeta en Do" -#: ../python/frescobaldi_app/scorewiz/parts.py:764 +#: ../python/frescobaldi_app/scorewiz/parts.py:767 msgid "Trumpet in C|Tr.C" msgstr "Trompeta en Do|Tpta.Do" -#: ../python/frescobaldi_app/scorewiz/parts.py:769 +#: ../python/frescobaldi_app/scorewiz/parts.py:772 msgid "Trumpet in Bb" msgstr "Trompeta en Sib" -#: ../python/frescobaldi_app/scorewiz/parts.py:770 +#: ../python/frescobaldi_app/scorewiz/parts.py:773 msgid "Trumpet in Bb|Tr.Bb" msgstr "Trompeta en Sib|Tpta.Sib" -#: ../python/frescobaldi_app/scorewiz/parts.py:775 +#: ../python/frescobaldi_app/scorewiz/parts.py:778 msgid "Trombone" msgstr "Trombón" -#: ../python/frescobaldi_app/scorewiz/parts.py:776 +#: ../python/frescobaldi_app/scorewiz/parts.py:779 msgid "Trombone|Trb." msgstr "Trombón|Tbn." -#: ../python/frescobaldi_app/scorewiz/parts.py:783 +#: ../python/frescobaldi_app/scorewiz/parts.py:786 msgid "Tuba" msgstr "Tuba" -#: ../python/frescobaldi_app/scorewiz/parts.py:784 +#: ../python/frescobaldi_app/scorewiz/parts.py:787 msgid "Tuba|Tb." msgstr "Tuba|Tb." -#: ../python/frescobaldi_app/scorewiz/parts.py:790 +#: ../python/frescobaldi_app/scorewiz/parts.py:793 msgid "Bass Tuba" msgstr "Tuba baixa" -#: ../python/frescobaldi_app/scorewiz/parts.py:791 +#: ../python/frescobaldi_app/scorewiz/parts.py:794 msgid "Bass Tuba|B.Tb." msgstr "Tuba baixa|Tba.B." -#: ../python/frescobaldi_app/scorewiz/parts.py:799 +#: ../python/frescobaldi_app/scorewiz/parts.py:802 msgid "Soprano" msgstr "Soprano" -#: ../python/frescobaldi_app/scorewiz/parts.py:800 +#: ../python/frescobaldi_app/scorewiz/parts.py:803 msgid "Soprano|S." msgstr "Soprano|S." -#: ../python/frescobaldi_app/scorewiz/parts.py:804 +#: ../python/frescobaldi_app/scorewiz/parts.py:807 msgid "Mezzo soprano" msgstr "Mezzosoprano" -#: ../python/frescobaldi_app/scorewiz/parts.py:805 +#: ../python/frescobaldi_app/scorewiz/parts.py:808 msgid "Mezzo-soprano|Ms." msgstr "Mezzosoprano|Mezz." -#: ../python/frescobaldi_app/scorewiz/parts.py:810 +#: ../python/frescobaldi_app/scorewiz/parts.py:813 msgid "Alto|A." msgstr "Alto|A." -#: ../python/frescobaldi_app/scorewiz/parts.py:816 +#: ../python/frescobaldi_app/scorewiz/parts.py:819 msgid "Tenor|T." msgstr "Tenor|T." -#: ../python/frescobaldi_app/scorewiz/parts.py:823 +#: ../python/frescobaldi_app/scorewiz/parts.py:826 msgid "Bass|B." msgstr "Baixo|B." -#: ../python/frescobaldi_app/scorewiz/parts.py:829 +#: ../python/frescobaldi_app/scorewiz/parts.py:832 msgid "Lead sheet" msgstr "Folla guía de acordes" -#: ../python/frescobaldi_app/scorewiz/parts.py:891 +#: ../python/frescobaldi_app/scorewiz/parts.py:894 msgid "" "The Lead Sheet provides a staff with chord names above and lyrics below it. " "A second staff is optional." @@ -2766,11 +2927,11 @@ "A folla guía fornece un pentagrama con nomes de acorde enriba e letra " "debaixo. É opcional un segundo pentagrama." -#: ../python/frescobaldi_app/scorewiz/parts.py:902 +#: ../python/frescobaldi_app/scorewiz/parts.py:905 msgid "Add accompaniment staff" msgstr "Engadir pentagrama de acompañamento" -#: ../python/frescobaldi_app/scorewiz/parts.py:904 +#: ../python/frescobaldi_app/scorewiz/parts.py:907 msgid "" "Adds an accompaniment staff and also puts an accompaniment voice in the " "upper staff." @@ -2778,11 +2939,11 @@ "Engade un pentagrama de acompañamento e pon unha voz de acompañamento no " "pentagrama superior." -#: ../python/frescobaldi_app/scorewiz/parts.py:911 +#: ../python/frescobaldi_app/scorewiz/parts.py:914 msgid "Choir" msgstr "Coro" -#: ../python/frescobaldi_app/scorewiz/parts.py:915 +#: ../python/frescobaldi_app/scorewiz/parts.py:918 msgid "" "Please select the voices for the choir. Use the letters S, A, T, or B. A " "hyphen denotes a new staff." @@ -2790,36 +2951,38 @@ "Seleccione as voces para o coro. Empregue as letras S, A, T ou B. Un guión " "indica un pentagrama novo." -#: ../python/frescobaldi_app/scorewiz/parts.py:917 +#: ../python/frescobaldi_app/scorewiz/parts.py:920 msgid "Hint: For a double choir you can use two choir parts." msgstr "Suxestión: para dobre coro pode empregar dúas partes de coro." -#: ../python/frescobaldi_app/scorewiz/parts.py:922 +#: ../python/frescobaldi_app/scorewiz/parts.py:925 msgid "Voicing:" msgstr "Canto:" -#: ../python/frescobaldi_app/scorewiz/parts.py:936 -msgid "Lyrics" +#: ../python/frescobaldi_app/scorewiz/parts.py:942 +#, fuzzy +msgid "Lyrics:" msgstr "Letra" -#: ../python/frescobaldi_app/scorewiz/parts.py:940 +#: ../python/frescobaldi_app/scorewiz/parts.py:946 msgid "All voices same lyrics" msgstr "Mesma letra en todas as voces" -#: ../python/frescobaldi_app/scorewiz/parts.py:943 -msgid "One set of the same lyrics is placed between all staves." +#: ../python/frescobaldi_app/scorewiz/parts.py:947 +#, fuzzy +msgid "A set of the same lyrics is placed between all staves." msgstr "Colócase un bloque de letra único entre todos os pentagramas." -#: ../python/frescobaldi_app/scorewiz/parts.py:945 +#: ../python/frescobaldi_app/scorewiz/parts.py:948 msgid "Every voice same lyrics" msgstr "Mesma letra todas as voces" -#: ../python/frescobaldi_app/scorewiz/parts.py:947 +#: ../python/frescobaldi_app/scorewiz/parts.py:949 msgid "" "Every voice gets its own lyrics, using the same text as the other voices." msgstr "Cada voz ten a súa letra, emprégase o mesmo texto ca as outras voces." -#: ../python/frescobaldi_app/scorewiz/parts.py:950 +#: ../python/frescobaldi_app/scorewiz/parts.py:951 msgid "Every voice different lyrics" msgstr "Cada voz ten diferente letra" @@ -2827,186 +2990,227 @@ msgid "Every voice gets a different set of lyrics." msgstr "Cada unha das voces recibe un bloque de letras distinto." -#: ../python/frescobaldi_app/scorewiz/parts.py:956 +#: ../python/frescobaldi_app/scorewiz/parts.py:953 +msgid "Distribute stanzas" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:954 +#, fuzzy +msgid "One set of stanzas is distributed across the staves." +msgstr "Colócase un bloque de letra único entre todos os pentagramas." + +#: ../python/frescobaldi_app/scorewiz/parts.py:959 msgid "Piano reduction" msgstr "Redución de piano" -#: ../python/frescobaldi_app/scorewiz/parts.py:958 +#: ../python/frescobaldi_app/scorewiz/parts.py:961 msgid "Adds an automatically generated piano reduction." msgstr "Engade unha redución de piano xerada automaticamente." -#: ../python/frescobaldi_app/scorewiz/parts.py:983 +#: ../python/frescobaldi_app/scorewiz/parts.py:963 +msgid "Rehearsal MIDI files" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:965 +msgid "" +"Creates a rehearsal MIDI file for every voice, even if no MIDI output is " +"generated for the main score." +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:1017 msgid "Choir|Ch." msgstr "Coro|Co." -#: ../python/frescobaldi_app/scorewiz/parts.py:1199 +#: ../python/frescobaldi_app/scorewiz/parts.py:1262 +msgid "Rehearsal MIDI files:" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:1309 msgid "Piano" msgstr "Piano" -#: ../python/frescobaldi_app/scorewiz/parts.py:1200 +#: ../python/frescobaldi_app/scorewiz/parts.py:1310 msgid "Piano|Pno." msgstr "Piano|Pno." -#: ../python/frescobaldi_app/scorewiz/parts.py:1205 +#: ../python/frescobaldi_app/scorewiz/parts.py:1315 msgid "Harpsichord" msgstr "Clave" -#: ../python/frescobaldi_app/scorewiz/parts.py:1206 +#: ../python/frescobaldi_app/scorewiz/parts.py:1316 msgid "Harpsichord|Hs." msgstr "Clave|Clav." -#: ../python/frescobaldi_app/scorewiz/parts.py:1211 +#: ../python/frescobaldi_app/scorewiz/parts.py:1321 msgid "Clavichord" msgstr "Clavicordio" -#: ../python/frescobaldi_app/scorewiz/parts.py:1212 +#: ../python/frescobaldi_app/scorewiz/parts.py:1322 msgid "Clavichord|Clv." msgstr "Clavicordio|Clvc." -#: ../python/frescobaldi_app/scorewiz/parts.py:1217 +#: ../python/frescobaldi_app/scorewiz/parts.py:1327 msgid "Organ" msgstr "Órgano" -#: ../python/frescobaldi_app/scorewiz/parts.py:1218 +#: ../python/frescobaldi_app/scorewiz/parts.py:1328 msgid "Organ|Org." msgstr "Órgano|Org." -#: ../python/frescobaldi_app/scorewiz/parts.py:1223 +#: ../python/frescobaldi_app/scorewiz/parts.py:1333 msgid "Pedal:" msgstr "Pedal:" -#: ../python/frescobaldi_app/scorewiz/parts.py:1224 +#: ../python/frescobaldi_app/scorewiz/parts.py:1334 msgid "Set to 0 to disable the pedal altogether." msgstr "Estableza a 0 para desactivar o pedal." -#: ../python/frescobaldi_app/scorewiz/parts.py:1234 +#: ../python/frescobaldi_app/scorewiz/parts.py:1344 msgid "Celesta" msgstr "Celesta" -#: ../python/frescobaldi_app/scorewiz/parts.py:1235 +#: ../python/frescobaldi_app/scorewiz/parts.py:1345 msgid "Celesta|Cel." msgstr "Celesta|Cel." -#: ../python/frescobaldi_app/scorewiz/parts.py:1240 +#: ../python/frescobaldi_app/scorewiz/parts.py:1350 msgid "Timpani" msgstr "Timbais" -#: ../python/frescobaldi_app/scorewiz/parts.py:1241 +#: ../python/frescobaldi_app/scorewiz/parts.py:1351 msgid "Timpani|Tmp." msgstr "Timbais|Tmb." -#: ../python/frescobaldi_app/scorewiz/parts.py:1248 +#: ../python/frescobaldi_app/scorewiz/parts.py:1358 msgid "Xylophone" msgstr "Xilófono" -#: ../python/frescobaldi_app/scorewiz/parts.py:1249 +#: ../python/frescobaldi_app/scorewiz/parts.py:1359 msgid "Xylophone|Xyl." msgstr "Xilófono|Xil." -#: ../python/frescobaldi_app/scorewiz/parts.py:1254 +#: ../python/frescobaldi_app/scorewiz/parts.py:1364 msgid "Marimba" msgstr "Marimba" -#: ../python/frescobaldi_app/scorewiz/parts.py:1255 +#: ../python/frescobaldi_app/scorewiz/parts.py:1365 msgid "Marimba|Mar." msgstr "Marimba|Mar." -#: ../python/frescobaldi_app/scorewiz/parts.py:1260 +#: ../python/frescobaldi_app/scorewiz/parts.py:1370 msgid "Vibraphone" msgstr "Vibráfono" -#: ../python/frescobaldi_app/scorewiz/parts.py:1261 +#: ../python/frescobaldi_app/scorewiz/parts.py:1371 msgid "Vibraphone|Vib." msgstr "Vibráfono|Vib." -#: ../python/frescobaldi_app/scorewiz/parts.py:1266 +#: ../python/frescobaldi_app/scorewiz/parts.py:1376 msgid "Tubular bells" msgstr "Campás tubulares" -#: ../python/frescobaldi_app/scorewiz/parts.py:1267 +#: ../python/frescobaldi_app/scorewiz/parts.py:1377 msgid "Tubular bells|Tub." msgstr "Campás tubulares|Tub." -#: ../python/frescobaldi_app/scorewiz/parts.py:1272 +#: ../python/frescobaldi_app/scorewiz/parts.py:1382 msgid "Glockenspiel" msgstr "Carillón" -#: ../python/frescobaldi_app/scorewiz/parts.py:1273 +#: ../python/frescobaldi_app/scorewiz/parts.py:1383 msgid "Glockenspiel|Gls." msgstr "Carillón|Car." -#: ../python/frescobaldi_app/scorewiz/parts.py:1278 +#: ../python/frescobaldi_app/scorewiz/parts.py:1388 msgid "Drums" msgstr "Percusión" -#: ../python/frescobaldi_app/scorewiz/parts.py:1279 +#: ../python/frescobaldi_app/scorewiz/parts.py:1389 msgid "Drums|Dr." msgstr "Percusión|Perc." -#: ../python/frescobaldi_app/scorewiz/parts.py:1289 +#: ../python/frescobaldi_app/scorewiz/parts.py:1399 msgid "Drums follow here." msgstr "A percusión continúa aquí." -#: ../python/frescobaldi_app/scorewiz/parts.py:1315 +#: ../python/frescobaldi_app/scorewiz/parts.py:1424 msgid "keep some distance." msgstr "gardar algunha distancia." -#: ../python/frescobaldi_app/scorewiz/parts.py:1322 +#: ../python/frescobaldi_app/scorewiz/parts.py:1432 msgid "Style:" msgstr "Estilo:" -#: ../python/frescobaldi_app/scorewiz/parts.py:1326 +#: ../python/frescobaldi_app/scorewiz/parts.py:1436 msgid "Drums (5 lines, default)" msgstr "Percusión (5 liñas, predeterminado)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1327 +#: ../python/frescobaldi_app/scorewiz/parts.py:1437 msgid "Timbales-style (2 lines)" msgstr "Estilo timbais (2 liñas)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1328 +#: ../python/frescobaldi_app/scorewiz/parts.py:1438 msgid "Congas-style (2 lines)" msgstr "Estilo congas (2 liñas)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1329 +#: ../python/frescobaldi_app/scorewiz/parts.py:1439 msgid "Bongos-style (2 lines)" msgstr "Estilo bongos (2 liñas)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1330 +#: ../python/frescobaldi_app/scorewiz/parts.py:1440 msgid "Percussion-style (1 line)" msgstr "Estilo-percusión (1 liña)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1331 +#: ../python/frescobaldi_app/scorewiz/parts.py:1441 msgid "Remove stems" msgstr "Eliminar as plicas" -#: ../python/frescobaldi_app/scorewiz/parts.py:1332 +#: ../python/frescobaldi_app/scorewiz/parts.py:1442 msgid "Remove the stems from the drum notes." msgstr "Eliminar as plicas das notas de percusión." -#: ../python/frescobaldi_app/scorewiz/parts.py:1341 +#: ../python/frescobaldi_app/scorewiz/parts.py:1451 msgid "Strings" msgstr "Instrumentos de corda" -#: ../python/frescobaldi_app/scorewiz/parts.py:1348 +#: ../python/frescobaldi_app/scorewiz/parts.py:1458 msgid "Plucked strings" msgstr "Corda pulsada" -#: ../python/frescobaldi_app/scorewiz/parts.py:1357 +#: ../python/frescobaldi_app/scorewiz/parts.py:1467 msgid "Woodwinds" msgstr "Vento madeira" -#: ../python/frescobaldi_app/scorewiz/parts.py:1378 +#: ../python/frescobaldi_app/scorewiz/parts.py:1488 msgid "Brass" msgstr "Vento metal" -#: ../python/frescobaldi_app/scorewiz/parts.py:1386 +#: ../python/frescobaldi_app/scorewiz/parts.py:1496 msgid "Vocal" msgstr "Vocal" -#: ../python/frescobaldi_app/scorewiz/parts.py:1395 +#: ../python/frescobaldi_app/scorewiz/parts.py:1505 msgid "Keyboard instruments" msgstr "Teclados" -#: ../python/frescobaldi_app/scorewiz/parts.py:1411 +#: ../python/frescobaldi_app/scorewiz/parts.py:1521 msgid "Special" msgstr "Especial" + +#~ msgid "Space above:" +#~ msgstr "Espazo por enriba:" + +#~ msgid "" +#~ "A file named \"%1\" already exists. Are you sure you want to overwrite it?" +#~ msgstr "" +#~ "Xa existe un ficheiro chamado \"%1\". Est´a seguro de querer " +#~ "sobrescribilo?" + +#~ msgid "Overwrite File?" +#~ msgstr "Sobrescribir ficheiro?" + +#~ msgid "&Overwrite" +#~ msgstr "&Sobreescribir" + +#~ msgid "Name or full path of the convert-ly program." +#~ msgstr "O nome ou a ruta completa do aplicativo convert-ly." Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/po/it.mo and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/po/it.mo differ diff -Nru frescobaldi-1.0.2/po/it.po frescobaldi-1.1.1/po/it.po --- frescobaldi-1.0.2/po/it.po 2010-02-18 08:12:03.000000000 +0000 +++ frescobaldi-1.1.1/po/it.po 2010-05-03 19:31:55.000000000 +0100 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: it\n" "Report-Msgid-Bugs-To: info@frescobaldi.org\n" -"POT-Creation-Date: 2010-02-16 10:04+0100\n" +"POT-Creation-Date: 2010-05-03 20:28+0200\n" "PO-Revision-Date: 2009-12-02 17:29+0100\n" "Last-Translator: Gianluca D'Orazio \n" "Language-Team: Italian <>\n" @@ -19,54 +19,53 @@ "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Lokalize 1.0\n" -#: ../frescobaldi.py:32 dummy.py:16 +#: ../frescobaldi.py:37 dummy.py:16 msgid "Frescobaldi" msgstr "Frescobaldi" -#: ../frescobaldi.py:34 dummy.py:17 +#: ../frescobaldi.py:39 dummy.py:17 msgid "LilyPond Music Editor" msgstr "Editor musicale per LilyPond" -#: ../frescobaldi.py:36 -#, fuzzy +#: ../frescobaldi.py:41 msgid "Copyright (c) 2008-2010, Wilbert Berendsen" -msgstr "Copyright (c) 2008-2009, Wilbert Berendsen" +msgstr "Copyright (c) 2008-2010, Wilbert Berendsen" -#: ../frescobaldi.py:45 +#: ../frescobaldi.py:50 msgctxt "NAME OF TRANSLATORS" msgid "Your name" msgstr "Gianluca D'Orazio" -#: ../frescobaldi.py:46 +#: ../frescobaldi.py:51 msgctxt "EMAIL OF TRANSLATORS" msgid "i18n@frescobaldi.org" msgstr "gianluca.dorazio@gmail.com" -#: ../frescobaldi.py:52 +#: ../frescobaldi.py:57 msgid "Session to start" msgstr "Sessione da avviare" -#: ../frescobaldi.py:53 +#: ../frescobaldi.py:58 msgid "Start a new instance" msgstr "Avvia una nuova istanza" -#: ../frescobaldi.py:54 +#: ../frescobaldi.py:59 msgid "Encoding to use" msgstr "Codifica da usare" -#: ../frescobaldi.py:55 +#: ../frescobaldi.py:60 msgid "Line number to go to, starting at 1" msgstr "Numero di riga a cui andare, partendo da 1" -#: ../frescobaldi.py:56 +#: ../frescobaldi.py:61 msgid "Column to go to, starting at 0" msgstr "Colonna a cui andare, partendo da 0" -#: ../frescobaldi.py:57 +#: ../frescobaldi.py:62 msgid "Try to use smart line and column numbers" msgstr "Prova ad usare la numerazione intelligente per righe e colonne" -#: ../frescobaldi.py:58 +#: ../frescobaldi.py:63 msgid "LilyPond files to open, may also be textedit URLs" msgstr "Documenti LilyPond da aprire, possono essere anche URL textedit" @@ -106,344 +105,353 @@ msgid "&Extra Tools" msgstr "&Altri strumenti" -#: ../python/ly/__init__.py:94 +#: ../python/ly/__init__.py:81 msgid "Dedication" msgstr "Dedica" -#: ../python/ly/__init__.py:95 +#: ../python/ly/__init__.py:82 msgid "Title" msgstr "Titolo" -#: ../python/ly/__init__.py:96 +#: ../python/ly/__init__.py:83 msgid "Subtitle" msgstr "Sottotitolo" -#: ../python/ly/__init__.py:97 +#: ../python/ly/__init__.py:84 msgid "Subsubtitle" msgstr "Sotto-sottotitolo" -#: ../python/ly/__init__.py:98 +#: ../python/ly/__init__.py:85 msgid "Instrument" msgstr "Strumento" -#: ../python/ly/__init__.py:99 +#: ../python/ly/__init__.py:86 msgid "Composer" msgstr "Compositore" -#: ../python/ly/__init__.py:100 +#: ../python/ly/__init__.py:87 msgid "Arranger" msgstr "Arrangiatore" -#: ../python/ly/__init__.py:101 +#: ../python/ly/__init__.py:88 msgid "Poet" msgstr "Paroliere" -#: ../python/ly/__init__.py:102 +#: ../python/ly/__init__.py:89 msgid "Meter" msgstr "Metro" -#: ../python/ly/__init__.py:103 +#: ../python/ly/__init__.py:90 msgid "Piece" msgstr "Brano" -#: ../python/ly/__init__.py:104 +#: ../python/ly/__init__.py:91 msgid "Opus" msgstr "Opera" -#: ../python/ly/__init__.py:105 +#: ../python/ly/__init__.py:92 msgid "Copyright" msgstr "Copyright" -#: ../python/ly/__init__.py:106 +#: ../python/ly/__init__.py:93 msgid "Tagline" msgstr "Tagline" -#: ../python/ly/__init__.py:114 +#: ../python/ly/__init__.py:101 msgid "Major" msgstr "Maggiore" -#: ../python/ly/__init__.py:115 +#: ../python/ly/__init__.py:102 msgid "Minor" msgstr "Minore" -#: ../python/ly/__init__.py:116 +#: ../python/ly/__init__.py:103 msgid "Ionian" msgstr "Ionico" -#: ../python/ly/__init__.py:117 +#: ../python/ly/__init__.py:104 msgid "Dorian" msgstr "Dorico" -#: ../python/ly/__init__.py:118 +#: ../python/ly/__init__.py:105 msgid "Phrygian" msgstr "Frigio" -#: ../python/ly/__init__.py:119 +#: ../python/ly/__init__.py:106 msgid "Lydian" msgstr "Lidio" -#: ../python/ly/__init__.py:120 +#: ../python/ly/__init__.py:107 msgid "Mixolydian" msgstr "Misolidio" -#: ../python/ly/__init__.py:121 +#: ../python/ly/__init__.py:108 msgid "Aeolian" msgstr "Eolio" -#: ../python/ly/__init__.py:122 +#: ../python/ly/__init__.py:109 msgid "Locrian" msgstr "Ipofrigio" -#: ../python/ly/articulation.py:33 +#: ../python/ly/articulation.py:35 msgid "Articulation" msgstr "Fraseggio" -#: ../python/ly/articulation.py:34 +#: ../python/ly/articulation.py:36 msgid "Accent" msgstr "Accento" -#: ../python/ly/articulation.py:35 +#: ../python/ly/articulation.py:37 msgid "Marcato" msgstr "Marcato" -#: ../python/ly/articulation.py:36 +#: ../python/ly/articulation.py:38 msgid "Staccatissimo" msgstr "Staccatissimo" -#: ../python/ly/articulation.py:37 +#: ../python/ly/articulation.py:39 msgid "Staccato" msgstr "Staccato" -#: ../python/ly/articulation.py:38 +#: ../python/ly/articulation.py:40 msgid "Portato" msgstr "Portato" -#: ../python/ly/articulation.py:39 +#: ../python/ly/articulation.py:41 msgid "Tenuto" msgstr "Tenuto" -#: ../python/ly/articulation.py:40 +#: ../python/ly/articulation.py:42 msgid "Espressivo" msgstr "Espressivo" -#: ../python/ly/articulation.py:42 +#: ../python/ly/articulation.py:44 msgid "Ornaments" msgstr "Abbellimenti" -#: ../python/ly/articulation.py:43 +#: ../python/ly/articulation.py:45 msgid "Trill" msgstr "Trillo" -#: ../python/ly/articulation.py:44 +#: ../python/ly/articulation.py:46 msgid "Prall" msgstr "Mordente superiore" -#: ../python/ly/articulation.py:45 +#: ../python/ly/articulation.py:47 msgid "Mordent" msgstr "Mordente inferiore" -#: ../python/ly/articulation.py:46 +#: ../python/ly/articulation.py:48 msgid "Turn" msgstr "Gruppetto" -#: ../python/ly/articulation.py:47 +#: ../python/ly/articulation.py:49 msgid "Prall prall" msgstr "Doppio mordente" -#: ../python/ly/articulation.py:48 +#: ../python/ly/articulation.py:50 msgid "Prall mordent" msgstr "Doppio mordente" -#: ../python/ly/articulation.py:49 +#: ../python/ly/articulation.py:51 msgid "Up prall" msgstr "Mordente dal basso" -#: ../python/ly/articulation.py:50 +#: ../python/ly/articulation.py:52 msgid "Down prall" msgstr "Mordente dall'acuto" -#: ../python/ly/articulation.py:51 +#: ../python/ly/articulation.py:53 msgid "Up mordent" msgstr "Mordente inf. dal basso" -#: ../python/ly/articulation.py:52 +#: ../python/ly/articulation.py:54 msgid "Down mordent" msgstr "Mordente inf. dall'acuto" -#: ../python/ly/articulation.py:53 +#: ../python/ly/articulation.py:55 msgid "Prall up" msgstr "Mordente con risoluzione" -#: ../python/ly/articulation.py:54 +#: ../python/ly/articulation.py:56 msgid "Prall down" msgstr "Mordente con risoluzione" -#: ../python/ly/articulation.py:55 +#: ../python/ly/articulation.py:57 msgid "Line prall" msgstr "Mordente con appoggiatura" -#: ../python/ly/articulation.py:56 +#: ../python/ly/articulation.py:58 msgid "Reverse turn" msgstr "Gruppetto rovesciato" -#: ../python/ly/articulation.py:58 +#: ../python/ly/articulation.py:60 msgid "Signs" msgstr "Segni di abbreviazione" -#: ../python/ly/articulation.py:59 +#: ../python/ly/articulation.py:61 msgid "Fermata" msgstr "Corona" -#: ../python/ly/articulation.py:60 +#: ../python/ly/articulation.py:62 msgid "Short fermata" msgstr "Corona breve" -#: ../python/ly/articulation.py:61 +#: ../python/ly/articulation.py:63 msgid "Long fermata" msgstr "Corona lunga" -#: ../python/ly/articulation.py:62 +#: ../python/ly/articulation.py:64 msgid "Very long fermata" msgstr "Corona lunghissima" -#: ../python/ly/articulation.py:63 +#: ../python/ly/articulation.py:65 msgid "Segno" msgstr "Segno" -#: ../python/ly/articulation.py:64 +#: ../python/ly/articulation.py:66 msgid "Coda" msgstr "Coda" -#: ../python/ly/articulation.py:65 +#: ../python/ly/articulation.py:67 msgid "Varcoda" msgstr "Var. Coda" -#: ../python/ly/articulation.py:66 +#: ../python/ly/articulation.py:68 msgid "Signumcongruentiae" msgstr "Signum congruentiae" -#: ../python/ly/articulation.py:68 +#: ../python/ly/articulation.py:70 msgid "Other" msgstr "Altro" -#: ../python/ly/articulation.py:69 +#: ../python/ly/articulation.py:71 msgid "Upbow" msgstr "Arcata in su" -#: ../python/ly/articulation.py:70 +#: ../python/ly/articulation.py:72 msgid "Downbow" msgstr "Arcata in giù" -#: ../python/ly/articulation.py:71 +#: ../python/ly/articulation.py:73 +msgid "Snappizzicato" +msgstr "" + +#: ../python/ly/articulation.py:74 msgid "Open (e.g. brass)" msgstr "Aperto (come per gli ottoni, ad. es.)" -#: ../python/ly/articulation.py:72 +#: ../python/ly/articulation.py:75 msgid "Stopped (e.g. brass)" msgstr "Chiuso (come per gli ottoni, ad. es.)" -#: ../python/ly/articulation.py:73 +#: ../python/ly/articulation.py:76 msgid "Flageolet" msgstr "Flageolet" -#: ../python/ly/articulation.py:74 +#: ../python/ly/articulation.py:77 msgid "Thumb" msgstr "Pollice" -#: ../python/ly/articulation.py:75 +#: ../python/ly/articulation.py:78 msgid "Left heel" msgstr "Tacco sinistro" -#: ../python/ly/articulation.py:76 +#: ../python/ly/articulation.py:79 msgid "Right heel" msgstr "Tacco destro" -#: ../python/ly/articulation.py:77 +#: ../python/ly/articulation.py:80 msgid "Left toe" msgstr "Punta sinistra" -#: ../python/ly/articulation.py:78 +#: ../python/ly/articulation.py:81 msgid "Right toe" msgstr "Punta destra" -#: ../python/kateshell/exception.py:42 +#: ../python/ly/articulation.py:82 +#, fuzzy +msgid "Half open (e.g. hi-hat)" +msgstr "Aperto (come per gli ottoni, ad. es.)" + +#: ../python/kateshell/exception.py:43 msgid "An internal error has occurred:" msgstr "Si è verificato un errore interno:" -#: ../python/kateshell/exception.py:45 +#: ../python/kateshell/exception.py:46 msgid "Internal Error" msgstr "Errore interno" -#: ../python/kateshell/exception.py:51 +#: ../python/kateshell/exception.py:52 msgid "Email Bug Report..." msgstr "Spedisci una segnalazione di bug..." -#: ../python/kateshell/exception.py:64 +#: ../python/kateshell/exception.py:65 msgid "Optionally describe what you were doing below:" msgstr "È possibile descrivere sotto quel che si stava facendo:" -#: ../python/kateshell/mainwindow.py:91 +#: ../python/kateshell/mainwindow.py:94 msgid "Left Sidebar" msgstr "Barra sinistra" -#: ../python/kateshell/mainwindow.py:95 +#: ../python/kateshell/mainwindow.py:98 msgid "Right Sidebar" msgstr "Barra destra" -#: ../python/kateshell/mainwindow.py:107 +#: ../python/kateshell/mainwindow.py:110 msgid "Top Sidebar" msgstr "Barra superiore" -#: ../python/kateshell/mainwindow.py:120 +#: ../python/kateshell/mainwindow.py:123 msgid "Bottom Sidebar" msgstr "Barra inferiore" -#: ../python/kateshell/mainwindow.py:165 +#: ../python/kateshell/mainwindow.py:168 msgid "Show Path" msgstr "Mostra percorso" -#: ../python/kateshell/mainwindow.py:168 +#: ../python/kateshell/mainwindow.py:171 msgid "Show Document Tabs" msgstr "Mostra le linguette dei documenti" -#: ../python/kateshell/mainwindow.py:186 +#: ../python/kateshell/mainwindow.py:188 msgid "&Tool Views" msgstr "&Finestre degli strumenti" -#: ../python/kateshell/mainwindow.py:277 +#: ../python/kateshell/mainwindow.py:278 msgid "Please select some text first." msgstr "Selezionare il testo prima." -#: ../python/kateshell/mainwindow.py:327 +#: ../python/kateshell/mainwindow.py:328 msgid "modified" msgstr "modificato" -#: ../python/kateshell/mainwindow.py:337 +#: ../python/kateshell/mainwindow.py:338 msgid "Line: %1 Col: %2" msgstr "Riga: %1 Col: %2" -#: ../python/kateshell/mainwindow.py:346 +#: ../python/kateshell/mainwindow.py:347 msgid "BLOCK" msgstr "BLOCCO" -#: ../python/kateshell/mainwindow.py:346 +#: ../python/kateshell/mainwindow.py:347 msgid "Block selection mode" msgstr "Modalità di selezione a blocchi" -#: ../python/kateshell/mainwindow.py:348 +#: ../python/kateshell/mainwindow.py:349 msgid "LINE" msgstr "RIGA" -#: ../python/kateshell/mainwindow.py:348 +#: ../python/kateshell/mainwindow.py:349 msgid "Line selection mode" msgstr "Modalità di selezione a righe" -#: ../python/kateshell/mainwindow.py:386 -#: ../python/frescobaldi_app/blankpaper.py:335 +#: ../python/kateshell/mainwindow.py:393 +#: ../python/frescobaldi_app/blankpaper.py:331 msgid "All Files" msgstr "Tutti i file" -#: ../python/kateshell/mainwindow.py:387 +#: ../python/kateshell/mainwindow.py:394 msgid "Open File" msgstr "Apri file" @@ -451,7 +459,7 @@ msgid "Right-click for tab options" msgstr "Click destro per le opzioni delle linguette" -#: ../python/kateshell/mainwindow.py:870 +#: ../python/kateshell/mainwindow.py:871 msgid "Move To" msgstr "Sposta" @@ -467,7 +475,7 @@ msgid "Please install %1" msgstr "Installare %1" -#: ../python/frescobaldi_app/actions.py:55 +#: ../python/frescobaldi_app/actions.py:56 msgid "Open %1 in external viewer" msgstr "Apri %1 in un visualizzatore esterno" @@ -475,44 +483,44 @@ msgid "Print %1" msgstr "Stampa %1" -#: ../python/frescobaldi_app/actions.py:66 +#: ../python/frescobaldi_app/actions.py:65 msgid "Play %1" msgstr "Suona %1" -#: ../python/frescobaldi_app/actions.py:95 +#: ../python/frescobaldi_app/actions.py:91 msgid "Open PDF" msgstr "Apri PDF" -#: ../python/frescobaldi_app/actions.py:96 +#: ../python/frescobaldi_app/actions.py:92 msgid "Print" msgstr "Stampa" -#: ../python/frescobaldi_app/actions.py:98 +#: ../python/frescobaldi_app/actions.py:94 msgid "Play MIDI" msgstr "Esegui MIDI" -#: ../python/frescobaldi_app/actions.py:101 -#: ../python/frescobaldi_app/mainapp.py:712 +#: ../python/frescobaldi_app/actions.py:97 +#: ../python/frescobaldi_app/mainapp.py:726 msgid "Email..." msgstr "Spedisci..." -#: ../python/frescobaldi_app/actions.py:154 +#: ../python/frescobaldi_app/actions.py:149 msgid "There are no files to send via email." msgstr "Non ci sono documenti da spedire." -#: ../python/frescobaldi_app/actions.py:155 +#: ../python/frescobaldi_app/actions.py:150 msgid "No files to send" msgstr "Nessun documento da spedire" -#: ../python/frescobaldi_app/actions.py:163 +#: ../python/frescobaldi_app/actions.py:158 msgid "Email documents" msgstr "Spedisci documenti" -#: ../python/frescobaldi_app/actions.py:167 +#: ../python/frescobaldi_app/actions.py:162 msgid "Please select the files you want to send:" msgstr "Scegliere i documenti da spedire:" -#: ../python/frescobaldi_app/actions.py:172 +#: ../python/frescobaldi_app/actions.py:166 msgid "" "These are the files that are up-to-date (i.e. newer than the LilyPond source " "document). Also LilyPond files included by the source document are shown." @@ -521,7 +529,7 @@ "sorgente). Inoltre sono visualizzati anche i file inclusi tramite il " "documento sorgente." -#: ../python/frescobaldi_app/actions.py:182 +#: ../python/frescobaldi_app/actions.py:176 msgid "" "Note: this PDF file has been created with embedded point-and-click URLs " "(preview mode), which increases the file size dramatically. Please consider " @@ -543,15 +551,15 @@ "documenti senza link per il point-and-click (modalità pubblicazione) perché " "sono molto piú piccoli. Continuare comunque?" -#: ../python/frescobaldi_app/actions.py:283 +#: ../python/frescobaldi_app/actions.py:273 msgid "Printing failed: %1" msgstr "Stampa non riuscita: %1" -#: ../python/frescobaldi_app/actions.py:286 +#: ../python/frescobaldi_app/actions.py:276 msgid "The document has been sent to the printer." msgstr "Il documento è stato inviato alla stampante." -#: ../python/frescobaldi_app/actions.py:289 +#: ../python/frescobaldi_app/actions.py:279 msgid "" "Printing failed: %1\n" "\n" @@ -562,178 +570,162 @@ "Il comando di stampa %2 probabilmente non è installato. Controllare le " "impostazioni." -#: ../python/frescobaldi_app/actions.py:294 +#: ../python/frescobaldi_app/actions.py:284 msgid "The print command contains errors. Please check your settings." msgstr "Ci sono errori nel comando di stampa. Controllare le impostazioni." -#: ../python/frescobaldi_app/blankpaper.py:55 -#: ../python/frescobaldi_app/mainapp.py:738 +#: ../python/frescobaldi_app/blankpaper.py:56 +#: ../python/frescobaldi_app/mainapp.py:753 msgid "Create blank staff paper" msgstr "Crea foglio di carta da musica" -#: ../python/frescobaldi_app/blankpaper.py:69 +#: ../python/frescobaldi_app/blankpaper.py:70 msgid "Type:" msgstr "Tipo:" -#: ../python/frescobaldi_app/blankpaper.py:72 +#: ../python/frescobaldi_app/blankpaper.py:73 msgid "Action:" msgstr "Azione:" -#: ../python/frescobaldi_app/blankpaper.py:78 +#: ../python/frescobaldi_app/blankpaper.py:79 msgid "Choose what kind of empty staves you want to create." msgstr "Scegliere il tipo di righi da creare." -#: ../python/frescobaldi_app/blankpaper.py:80 +#: ../python/frescobaldi_app/blankpaper.py:81 msgid "Choose which action happens when clicking \"Ok\"." msgstr "Scegliere come proseguire dopo aver fatto click su \"Ok\"." -#: ../python/frescobaldi_app/blankpaper.py:82 +#: ../python/frescobaldi_app/blankpaper.py:83 msgid "Preview the empty staff paper." msgstr "Anteprima della carta da musica." -#: ../python/frescobaldi_app/blankpaper.py:84 +#: ../python/frescobaldi_app/blankpaper.py:85 msgid "Click to see more settings." msgstr "Fare click per vedere ulteriori impostazioni." -#: ../python/frescobaldi_app/blankpaper.py:87 +#: ../python/frescobaldi_app/blankpaper.py:88 msgid "Paper" msgstr "Carta" -#: ../python/frescobaldi_app/blankpaper.py:89 +#: ../python/frescobaldi_app/blankpaper.py:90 msgid "Settings" msgstr "Impostazioni" -#: ../python/frescobaldi_app/blankpaper.py:95 -#: ../python/frescobaldi_app/scorewiz/__init__.py:509 +#: ../python/frescobaldi_app/blankpaper.py:96 +#: ../python/frescobaldi_app/scorewiz/__init__.py:496 msgid "Paper size:" msgstr "Dimensione del foglio:" -#: ../python/frescobaldi_app/blankpaper.py:99 -#: ../python/frescobaldi_app/scorewiz/__init__.py:448 -#: ../python/frescobaldi_app/scorewiz/__init__.py:513 -#: ../python/frescobaldi_app/scorewiz/__init__.py:547 -#: ../python/frescobaldi_app/scorewiz/parts.py:180 -#: ../python/frescobaldi_app/scorewiz/parts.py:436 +#: ../python/frescobaldi_app/blankpaper.py:100 +#: ../python/frescobaldi_app/scorewiz/__init__.py:441 +#: ../python/frescobaldi_app/scorewiz/__init__.py:500 +#: ../python/frescobaldi_app/scorewiz/__init__.py:532 +#: ../python/frescobaldi_app/scorewiz/parts.py:183 +#: ../python/frescobaldi_app/scorewiz/parts.py:439 msgid "Default" msgstr "Predefinita" -#: ../python/frescobaldi_app/blankpaper.py:103 +#: ../python/frescobaldi_app/blankpaper.py:104 msgid "Staff Size:" msgstr "Dimensione del rigo:" -#: ../python/frescobaldi_app/blankpaper.py:110 +#: ../python/frescobaldi_app/blankpaper.py:111 msgid "Page count:" msgstr "Numero di pagine:" -#: ../python/frescobaldi_app/blankpaper.py:116 -#: ../python/frescobaldi_app/scorewiz/__init__.py:486 +#: ../python/frescobaldi_app/blankpaper.py:117 +#: ../python/frescobaldi_app/scorewiz/__init__.py:468 msgid "Remove default tagline" msgstr "Togli la tagline predefinita" -#: ../python/frescobaldi_app/blankpaper.py:121 +#: ../python/frescobaldi_app/blankpaper.py:122 msgid "Print Bar Lines" msgstr "Stampa le stanghette" -#: ../python/frescobaldi_app/blankpaper.py:123 +#: ../python/frescobaldi_app/blankpaper.py:124 msgid "Bars per line:" msgstr "Battute per rigo:" -#: ../python/frescobaldi_app/blankpaper.py:130 +#: ../python/frescobaldi_app/blankpaper.py:131 msgid "Print Page Numbers" msgstr "Stampa i numeri di pagina" -#: ../python/frescobaldi_app/blankpaper.py:132 +#: ../python/frescobaldi_app/blankpaper.py:133 msgid "Start with:" msgstr "Inizia da:" -#: ../python/frescobaldi_app/blankpaper.py:289 +#: ../python/frescobaldi_app/blankpaper.py:285 msgid "Blank staff paper preview" msgstr "Anteprima della carta da musica:" -#: ../python/frescobaldi_app/blankpaper.py:308 +#: ../python/frescobaldi_app/blankpaper.py:304 msgid "No PDF was created." msgstr "Non è stato generato nessun PDF." -#: ../python/frescobaldi_app/blankpaper.py:319 +#: ../python/frescobaldi_app/blankpaper.py:315 msgid "Open in PDF viewer" msgstr "Apri il PDF con il visualizzatore" -#: ../python/frescobaldi_app/blankpaper.py:328 +#: ../python/frescobaldi_app/blankpaper.py:324 msgid "Save PDF As..." msgstr "Salva il PDF come..." -#: ../python/frescobaldi_app/blankpaper.py:335 +#: ../python/frescobaldi_app/blankpaper.py:331 msgid "PDF Files" msgstr "File PDF" -#: ../python/frescobaldi_app/blankpaper.py:337 +#: ../python/frescobaldi_app/blankpaper.py:333 msgid "Save PDF" msgstr "Salva il PDF" -#: ../python/frescobaldi_app/blankpaper.py:355 -#: ../python/frescobaldi_app/runlily.py:375 -msgid "" -"A file named \"%1\" already exists. Are you sure you want to overwrite it?" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:358 -#: ../python/frescobaldi_app/runlily.py:378 -msgid "Overwrite File?" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:358 -#: ../python/frescobaldi_app/runlily.py:378 -msgid "&Overwrite" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:380 +#: ../python/frescobaldi_app/blankpaper.py:357 msgid "Directly print on default printer" msgstr "Stampa direttamente con la stampante predefinita" -#: ../python/frescobaldi_app/blankpaper.py:389 +#: ../python/frescobaldi_app/blankpaper.py:366 msgid "Copy LilyPond code to editor" msgstr "Copia il codice LilyPond nell'editor" -#: ../python/frescobaldi_app/blankpaper.py:488 +#: ../python/frescobaldi_app/blankpaper.py:465 msgid "Staves per page:" msgstr "Righi per pagina:" -#: ../python/frescobaldi_app/blankpaper.py:493 -#: ../python/frescobaldi_app/blankpaper.py:828 +#: ../python/frescobaldi_app/blankpaper.py:470 +#: ../python/frescobaldi_app/blankpaper.py:803 msgid "Clef:" msgstr "Chiave:" -#: ../python/frescobaldi_app/blankpaper.py:499 +#: ../python/frescobaldi_app/blankpaper.py:476 msgid "Single Staff" msgstr "Rigo singolo" -#: ../python/frescobaldi_app/blankpaper.py:519 -#: ../python/frescobaldi_app/blankpaper.py:575 -#: ../python/frescobaldi_app/blankpaper.py:671 +#: ../python/frescobaldi_app/blankpaper.py:496 +#: ../python/frescobaldi_app/blankpaper.py:552 +#: ../python/frescobaldi_app/blankpaper.py:647 msgid "Systems per page:" msgstr "Sistemi per pagina:" -#: ../python/frescobaldi_app/blankpaper.py:523 +#: ../python/frescobaldi_app/blankpaper.py:500 msgid "Clefs" msgstr "Chiavi" -#: ../python/frescobaldi_app/blankpaper.py:527 +#: ../python/frescobaldi_app/blankpaper.py:504 msgid "Piano Staff" msgstr "Rigo per pianoforte" -#: ../python/frescobaldi_app/blankpaper.py:547 +#: ../python/frescobaldi_app/blankpaper.py:524 msgid "Organ Staff" msgstr "Rigo per organo" -#: ../python/frescobaldi_app/blankpaper.py:571 +#: ../python/frescobaldi_app/blankpaper.py:548 msgid "Staves per system:" msgstr "Righi per sistema:" -#: ../python/frescobaldi_app/blankpaper.py:582 +#: ../python/frescobaldi_app/blankpaper.py:559 msgid "Clefs:" msgstr "Chiavi:" -#: ../python/frescobaldi_app/blankpaper.py:589 +#: ../python/frescobaldi_app/blankpaper.py:566 msgid "" "Enter as many letters (S, A, T or B) as there are staves.\n" "See \"What's This\" for more information." @@ -741,7 +733,7 @@ "Inserire una lettera (S, A, T o B) per ogni rigo.\n" "Vedere \"Che cos'è?\" per ulteriori informazioni." -#: ../python/frescobaldi_app/blankpaper.py:592 +#: ../python/frescobaldi_app/blankpaper.py:569 msgid "" "To configure clefs, first set the number of staves per system. Then enter as " "many letters (S, A, T or B) as there are staves.\n" @@ -765,49 +757,55 @@ "voci miste, fissare prima a 4 il numero di righi per sistema,poi digitare " "\"SATB\" (senza virgole) qui." -#: ../python/frescobaldi_app/blankpaper.py:606 +#: ../python/frescobaldi_app/blankpaper.py:582 msgid "Choir Staff" msgstr "Rigo per coro" -#: ../python/frescobaldi_app/blankpaper.py:613 -#: ../python/frescobaldi_app/scorewiz/__init__.py:395 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/blankpaper.py:589 +#: ../python/frescobaldi_app/lqi.py:159 +#: ../python/frescobaldi_app/scorewiz/__init__.py:388 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "None" msgstr "Niente" -#: ../python/frescobaldi_app/blankpaper.py:759 +#: ../python/frescobaldi_app/blankpaper.py:734 msgid "Custom Staff" msgstr "Rigo personalizzato" -#: ../python/frescobaldi_app/blankpaper.py:818 +#: ../python/frescobaldi_app/blankpaper.py:793 msgid "Staff" msgstr "Rigo" -#: ../python/frescobaldi_app/blankpaper.py:841 -msgid "Space above:" -msgstr "Spazio sopra:" - -#: ../python/frescobaldi_app/blankpaper.py:844 +#: ../python/frescobaldi_app/blankpaper.py:812 msgid "Space below:" msgstr "Spazio sotto:" -#: ../python/frescobaldi_app/blankpaper.py:879 +#: ../python/frescobaldi_app/blankpaper.py:852 msgid "Brace" msgstr "Graffa" -#: ../python/frescobaldi_app/blankpaper.py:904 +#: ../python/frescobaldi_app/blankpaper.py:877 msgid "Bracket" msgstr "Quadra" -#: ../python/frescobaldi_app/blankpaper.py:913 +#: ../python/frescobaldi_app/blankpaper.py:886 msgid "Square Bracket" msgstr "Quadra dritta" -#: ../python/frescobaldi_app/blankpaper.py:915 +#: ../python/frescobaldi_app/blankpaper.py:888 msgid "Connect bar lines" msgstr "Unisci le stanghette" -#: ../python/frescobaldi_app/document.py:66 +#: ../python/frescobaldi_app/charselect.py:41 +#: ../python/frescobaldi_app/mainapp.py:871 +msgid "Special Characters" +msgstr "" + +#: ../python/frescobaldi_app/charselect.py:85 +msgid "unknown" +msgstr "" + +#: ../python/frescobaldi_app/document.py:68 msgid "" "Can't perform the requested translation.\n" "\n" @@ -819,7 +817,7 @@ "La musica contiene alterazioni da un quarto di tono che non sono disponibili " "nella lingua selezionata: \"%1\"." -#: ../python/frescobaldi_app/document.py:81 +#: ../python/frescobaldi_app/document.py:82 msgid "" "The pitch language of the selected text has been updated, but you need to " "manually add the following command to your document:" @@ -827,29 +825,29 @@ "I nomi delle note nel testo selezionato sono stati aggiornati, ma è " "necessario aggiungere a mano nel documento il seguente comando:" -#: ../python/frescobaldi_app/document.py:84 -#: ../python/frescobaldi_app/mainapp.py:561 +#: ../python/frescobaldi_app/document.py:85 +#: ../python/frescobaldi_app/mainapp.py:572 msgid "Pitch Name Language" msgstr "Lingua per i nomi delle note" -#: ../python/frescobaldi_app/document.py:139 +#: ../python/frescobaldi_app/document.py:140 msgid "Please enter the name for the variable to assign the selected text to:" msgstr "Inserire il nome della variabile a cui assegnare il testo selezionato:" -#: ../python/frescobaldi_app/document.py:140 -#: ../python/frescobaldi_app/mainapp.py:455 +#: ../python/frescobaldi_app/document.py:141 +#: ../python/frescobaldi_app/mainapp.py:461 msgid "Cut and Assign" msgstr "Taglia e assegna" -#: ../python/frescobaldi_app/document.py:452 +#: ../python/frescobaldi_app/document.py:451 msgid "Open %1" msgstr "Apri %1" -#: ../python/frescobaldi_app/document.py:707 +#: ../python/frescobaldi_app/document.py:705 msgid "Please select a music expression, enclosed in << ... >> or { ... }." msgstr "Selezionare un'espressione musicale racchiusa tra << ... >> o { ... }." -#: ../python/frescobaldi_app/document.py:727 +#: ../python/frescobaldi_app/document.py:725 msgid "" "Could not understand the entered pitches.\n" "\n" @@ -859,7 +857,7 @@ "\n" "Controllare di aver usato i nomi nella lingua \"%1\"." -#: ../python/frescobaldi_app/document.py:735 +#: ../python/frescobaldi_app/document.py:733 msgid "" "Can't perform the requested transposition.\n" "\n" @@ -871,47 +869,47 @@ "La musica trasposta conterrebbe alterazioni da un quarto di tono che non " "sono disponibili nella lingua \"%1\" delle note." -#: ../python/frescobaldi_app/document.py:748 +#: ../python/frescobaldi_app/document.py:746 msgid "Transpose" msgstr "Trasporre" -#: ../python/frescobaldi_app/document.py:755 +#: ../python/frescobaldi_app/document.py:753 msgid "Please enter a start pitch and a destination pitch:" msgstr "Inserire la nota di partenza e la nota di arrivo:" -#: ../python/frescobaldi_app/document.py:759 +#: ../python/frescobaldi_app/document.py:757 msgid "Transpose from:" msgstr "Trasporre da:" -#: ../python/frescobaldi_app/document.py:763 +#: ../python/frescobaldi_app/document.py:761 msgid "to:" msgstr "a:" -#: ../python/frescobaldi_app/expand.py:147 -#: ../python/frescobaldi_app/mainapp.py:786 +#: ../python/frescobaldi_app/expand.py:149 +#: ../python/frescobaldi_app/mainapp.py:870 msgid "Expansion Manager" msgstr "Gestore delle scorciatoie" -#: ../python/frescobaldi_app/expand.py:161 -#: ../python/frescobaldi_app/lilydoc.py:125 +#: ../python/frescobaldi_app/expand.py:163 +#: ../python/frescobaldi_app/lilydoc.py:127 msgid "Search..." msgstr "Cerca..." -#: ../python/frescobaldi_app/expand.py:170 -#: ../python/frescobaldi_app/rumor.py:507 +#: ../python/frescobaldi_app/expand.py:172 +#: ../python/frescobaldi_app/rumor.py:505 msgid "Name" msgstr "Nome" -#: ../python/frescobaldi_app/expand.py:170 -#: ../python/frescobaldi_app/rumor.py:507 +#: ../python/frescobaldi_app/expand.py:172 +#: ../python/frescobaldi_app/rumor.py:505 msgid "Description" msgstr "Descrizione" -#: ../python/frescobaldi_app/expand.py:170 +#: ../python/frescobaldi_app/expand.py:172 msgid "Shortcut" msgstr "Scorciatoia" -#: ../python/frescobaldi_app/expand.py:193 +#: ../python/frescobaldi_app/expand.py:195 msgid "" "This is the list of defined expansions.\n" "\n" @@ -940,7 +938,7 @@ "scorciatoie (sempre con Ctrl+.), scegliere la scorciatoia dall'elenco e " "premere Invio o fare clic su Ok." -#: ../python/frescobaldi_app/expand.py:213 +#: ../python/frescobaldi_app/expand.py:214 msgid "" "This is the text associated with the selected shortcut. Some characters have " "special meaning:" @@ -948,19 +946,19 @@ "Questo è il testo associato all'abbreviazione selezionata. Alcuni caratteri " "hanno un significato particolare:" -#: ../python/frescobaldi_app/expand.py:215 +#: ../python/frescobaldi_app/expand.py:216 msgid "Place the cursor on this spot." msgstr "Mette il cursore in questo punto." -#: ../python/frescobaldi_app/expand.py:216 +#: ../python/frescobaldi_app/expand.py:217 msgid "Translate the following pitch." msgstr "Traduce il nome della nota che segue." -#: ../python/frescobaldi_app/expand.py:268 +#: ../python/frescobaldi_app/expand.py:265 msgid "New Item" msgstr "Nuovo elemento" -#: ../python/frescobaldi_app/expand.py:348 +#: ../python/frescobaldi_app/expand.py:345 msgid "" "Another expansion already uses this name.\n" "\n" @@ -970,7 +968,7 @@ "\n" "Sceglierne una diversa." -#: ../python/frescobaldi_app/expand.py:354 +#: ../python/frescobaldi_app/expand.py:351 msgid "" "Please only use letters, numbers and the underscore character in the " "expansion name." @@ -978,52 +976,60 @@ "Nell'abbreviazione della scorciatoia si possono usare solo lettere, numeri e " "il trattino basso (underscore)." -#: ../python/frescobaldi_app/expand.py:381 +#: ../python/frescobaldi_app/expand.py:376 msgid "Please don't leave the description empty." msgstr "Non lasciare vuota la descrizione." -#: ../python/frescobaldi_app/hyphen.py:123 -#: ../python/frescobaldi_app/mainapp.py:676 +#: ../python/frescobaldi_app/hyphen.py:119 +msgid "" +"Could not find any hyphenation dictionaries.\n" +"\n" +"Please install a package containing some and/or or configure the search path " +"to find them in the Frescobaldi settings under \"Paths.\"" +msgstr "" + +#: ../python/frescobaldi_app/hyphen.py:132 +#: ../python/frescobaldi_app/mainapp.py:686 msgid "Hyphenate Lyrics Text" msgstr "Dividi in sillabe le parole" -#: ../python/frescobaldi_app/hyphen.py:127 +#: ../python/frescobaldi_app/hyphen.py:136 msgid "Please select a language:" msgstr "Scegliere la lingua:" -#: ../python/frescobaldi_app/lilydoc.py:99 +#: ../python/frescobaldi_app/lilydoc.py:101 msgid "Home" msgstr "Home" -#: ../python/frescobaldi_app/lilydoc.py:100 +#: ../python/frescobaldi_app/lilydoc.py:102 msgid "Larger text" msgstr "Ingrandisci caratteri" -#: ../python/frescobaldi_app/lilydoc.py:101 +#: ../python/frescobaldi_app/lilydoc.py:103 msgid "Smaller text" msgstr "Riduci caratteri" -#: ../python/frescobaldi_app/lilydoc.py:110 +#: ../python/frescobaldi_app/lilydoc.py:112 msgid "First Page" msgstr "Prima pagina" -#: ../python/frescobaldi_app/lilydoc.py:111 +#: ../python/frescobaldi_app/lilydoc.py:113 msgid "Previous" msgstr "Indietro" -#: ../python/frescobaldi_app/lilydoc.py:112 +#: ../python/frescobaldi_app/lilydoc.py:114 msgid "Up one level" msgstr "Su di un livello" -#: ../python/frescobaldi_app/lilydoc.py:113 +#: ../python/frescobaldi_app/lilydoc.py:115 msgid "Next" msgstr "Avanti" -#: ../python/frescobaldi_app/lilydoc.py:114 +#: ../python/frescobaldi_app/lilydoc.py:116 msgid "Table of contents" msgstr "Indice" -#: ../python/frescobaldi_app/lilydoc.py:115 +#: ../python/frescobaldi_app/lilydoc.py:117 msgid "Index" msgstr "Indice analitico" @@ -1035,84 +1041,84 @@ msgid "Open Link in &New Window" msgstr "Apri il collegamento in una &nuova finestra" -#: ../python/frescobaldi_app/lilydoc.py:322 -#: ../python/frescobaldi_app/runlily.py:339 +#: ../python/frescobaldi_app/lilydoc.py:321 +#: ../python/frescobaldi_app/runlily.py:508 msgid "&Copy" msgstr "&Copia" -#: ../python/frescobaldi_app/lilydoc.py:325 +#: ../python/frescobaldi_app/lilydoc.py:324 msgid "Open Document in &New Window" msgstr "Apri il documento in una &nuova finestra" -#: ../python/frescobaldi_app/lilydoc.py:677 +#: ../python/frescobaldi_app/lilydoc.py:675 msgid "Loading..." msgstr "Caricamento..." -#: ../python/frescobaldi_app/lilydoc.py:684 +#: ../python/frescobaldi_app/lilydoc.py:682 msgid "Not available" msgstr "Non disponibile" -#: ../python/frescobaldi_app/lilydoc.py:732 +#: ../python/frescobaldi_app/lilydoc.py:734 msgid "Notation Reference" msgstr "Guida all'inserimento delle note" -#: ../python/frescobaldi_app/lilydoc.py:752 +#: ../python/frescobaldi_app/lilydoc.py:754 msgid "LilyPond Command Index" msgstr "Indice dei comandi LilyPond" -#: ../python/frescobaldi_app/lilydoc.py:772 +#: ../python/frescobaldi_app/lilydoc.py:780 msgid "Learning Manual" msgstr "Guida di base" -#: ../python/frescobaldi_app/lilydoc.py:792 +#: ../python/frescobaldi_app/lilydoc.py:800 msgid "Learning Manual Index" msgstr "Indice della Guida di base" -#: ../python/frescobaldi_app/lilydoc.py:808 +#: ../python/frescobaldi_app/lilydoc.py:816 msgid "LilyPond &Help" msgstr "Aiuto su &LilyPond" -#: ../python/frescobaldi_app/lqi.py:62 +#: ../python/frescobaldi_app/lqi.py:82 msgid "Articulations" msgstr "Segni" -#: ../python/frescobaldi_app/lqi.py:63 +#: ../python/frescobaldi_app/lqi.py:83 msgid "Different kinds of articulations and other signs." msgstr "Vari tipi di indicazione per il fraseggio e altro." -#: ../python/frescobaldi_app/lqi.py:70 +#: ../python/frescobaldi_app/lqi.py:90 msgid "Allow shorthands" msgstr "Permetti abbreviazioni" -#: ../python/frescobaldi_app/lqi.py:73 +#: ../python/frescobaldi_app/lqi.py:93 msgid "Use short notation for some articulations like staccato." msgstr "Usa la forma breve per alcuni segni come lo staccato." -#: ../python/frescobaldi_app/lqi.py:79 +#: ../python/frescobaldi_app/lqi.py:99 msgid "Direction:" msgstr "Posizione:" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Up" msgstr "Sopra" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Neutral" msgstr "Indifferente" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Down" msgstr "Sotto" -#: ../python/frescobaldi_app/lqi.py:85 +#: ../python/frescobaldi_app/lqi.py:105 msgid "The direction to use for the articulations." msgstr "La posizione dei segni rispetto al rigo." -#: ../python/frescobaldi_app/lqi.py:112 +#: ../python/frescobaldi_app/lqi.py:134 msgid "Click an articulation sign to add it to your document." msgstr "Fare click su un segno per aggiungerlo al documento." -#: ../python/frescobaldi_app/lqi.py:113 +#: ../python/frescobaldi_app/lqi.py:135 msgid "" "If you select some music first, the articulation will be added to all notes " "in the selection." @@ -1120,88 +1126,95 @@ "Se si seleziona prima un passaggio, il segno sarà aggiunto a tutte le note " "selezionate." -#: ../python/frescobaldi_app/mainapp.py:53 +#: ../python/frescobaldi_app/lqi.py:159 +msgid "Configure Keyboard Shortcut (%1)" +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:54 msgid "LilyPond files" msgstr "Documenti LilyPond" -#: ../python/frescobaldi_app/mainapp.py:392 -#: ../python/frescobaldi_app/scorewiz/__init__.py:355 +#: ../python/frescobaldi_app/mainapp.py:424 +#: ../python/frescobaldi_app/settings.py:620 +#: ../python/frescobaldi_app/scorewiz/__init__.py:348 msgid "LilyPond" msgstr "LilyPond" -#: ../python/frescobaldi_app/mainapp.py:403 +#: ../python/frescobaldi_app/mainapp.py:435 msgid "Setup New Score..." msgstr "Crea un nuovo spartito..." -#: ../python/frescobaldi_app/mainapp.py:408 +#: ../python/frescobaldi_app/mainapp.py:440 msgid "Run LilyPond (preview)" msgstr "Esegui LilyPond (anteprima)" -#: ../python/frescobaldi_app/mainapp.py:412 +#: ../python/frescobaldi_app/mainapp.py:444 msgid "Run LilyPond (publish)" msgstr "Esegui LilyPond (pubblicazione)" -#: ../python/frescobaldi_app/mainapp.py:418 -msgid "Can't process document" -msgstr "Impossibile elaborare il documento" - -#: ../python/frescobaldi_app/mainapp.py:421 -msgid "There is already a LilyPond job running for this document." -msgstr "È già in esecuzione un processo LilyPond per questo documento." - -#: ../python/frescobaldi_app/mainapp.py:427 -msgid "Your document has been modified, please save first." -msgstr "Il documento è stato modificato, salvare prima." +#: ../python/frescobaldi_app/mainapp.py:448 +#, fuzzy +msgid "Run LilyPond (custom)..." +msgstr "Esegui LilyPond (pubblicazione)" -#: ../python/frescobaldi_app/mainapp.py:446 +#: ../python/frescobaldi_app/mainapp.py:452 msgid "Interrupt LilyPond Job" msgstr "Interrompi l'esecuzione di LilyPond" -#: ../python/frescobaldi_app/mainapp.py:456 +#: ../python/frescobaldi_app/mainapp.py:462 msgid "Cut selection and assign it to a LilyPond variable." msgstr "Taglia la selezione e la assegna ad una variabile LilyPond." -#: ../python/frescobaldi_app/mainapp.py:460 +#: ../python/frescobaldi_app/mainapp.py:466 msgid "Repeat last note or chord" msgstr "Ripeti l'ultima nota o l'ultimo accordo" -#: ../python/frescobaldi_app/mainapp.py:461 +#: ../python/frescobaldi_app/mainapp.py:467 msgid "Repeat the last music expression (note or chord)." msgstr "Ripete l'ultima espressione musicale (nota o accordo)." -#: ../python/frescobaldi_app/mainapp.py:465 +#: ../python/frescobaldi_app/mainapp.py:471 msgid "Insert or Manage Expansions..." msgstr "Aggiungi o modifica le scorciatoie..." -#: ../python/frescobaldi_app/mainapp.py:466 +#: ../python/frescobaldi_app/mainapp.py:472 msgid "Expand last word or open the expansions dialog." msgstr "Espande l'ultima parola o apre il Gestore delle scorciatoie." -#: ../python/frescobaldi_app/mainapp.py:471 +#: ../python/frescobaldi_app/mainapp.py:476 +msgid "Special Characters..." +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:477 +#, fuzzy +msgid "Insert special characters." +msgstr "Inserisci coppia di graffe" + +#: ../python/frescobaldi_app/mainapp.py:482 msgid "Add to Expansions" msgstr "Aggiungi alle scorciatoie" -#: ../python/frescobaldi_app/mainapp.py:475 +#: ../python/frescobaldi_app/mainapp.py:486 msgid "Next blank line" msgstr "Linea vuota successiva" -#: ../python/frescobaldi_app/mainapp.py:476 +#: ../python/frescobaldi_app/mainapp.py:487 msgid "Go to the next blank line." msgstr "Va alla prima linea vuota che segue." -#: ../python/frescobaldi_app/mainapp.py:486 +#: ../python/frescobaldi_app/mainapp.py:497 msgid "Previous blank line" msgstr "Linea vuota precedente" -#: ../python/frescobaldi_app/mainapp.py:487 +#: ../python/frescobaldi_app/mainapp.py:498 msgid "Go to the previous blank line." msgstr "Va alla prima linea vuota all'indietro." -#: ../python/frescobaldi_app/mainapp.py:496 +#: ../python/frescobaldi_app/mainapp.py:507 msgid "Select to next blank line" msgstr "Seleziona fino alla riga vuota successiva" -#: ../python/frescobaldi_app/mainapp.py:498 +#: ../python/frescobaldi_app/mainapp.py:509 msgid "" "Selects text from the current position down to and including the next blank " "line." @@ -1209,11 +1222,11 @@ "Seleziona il testo dalla posizione attuale fino alla successiva linea vuota " "inclusa." -#: ../python/frescobaldi_app/mainapp.py:523 +#: ../python/frescobaldi_app/mainapp.py:534 msgid "Select to previous blank line" msgstr "Seleziona fino alla alla riga vuota precedent" -#: ../python/frescobaldi_app/mainapp.py:525 +#: ../python/frescobaldi_app/mainapp.py:536 msgid "" "Selects text from the current position up to right after the previous blank " "line." @@ -1221,23 +1234,23 @@ "Seleziona il testo dalla posizione attuale fino alla precedenta riga vuota " "inclusa." -#: ../python/frescobaldi_app/mainapp.py:549 +#: ../python/frescobaldi_app/mainapp.py:560 msgid "Move selection to next blank line" msgstr "Sposta la selezione alla riga vuota successiva" -#: ../python/frescobaldi_app/mainapp.py:550 +#: ../python/frescobaldi_app/mainapp.py:561 msgid "Moves selected block to next blank line." msgstr "Sposta il blocco selezionato alla riga vuota successiva." -#: ../python/frescobaldi_app/mainapp.py:554 +#: ../python/frescobaldi_app/mainapp.py:565 msgid "Move selection to previous blank line" msgstr "Sposta la selezione alla riga vuota precedente" -#: ../python/frescobaldi_app/mainapp.py:555 +#: ../python/frescobaldi_app/mainapp.py:566 msgid "Moves selected block to previous blank line." msgstr "Sposta il blocco selezionato alla riga vuota precedente." -#: ../python/frescobaldi_app/mainapp.py:562 +#: ../python/frescobaldi_app/mainapp.py:573 msgid "" "Change the LilyPond language used for pitch names in this document or in the " "selection." @@ -1245,11 +1258,11 @@ "Cambia la lingua usata da LilyPond per i nomi delle note nel documento o " "nella selezione." -#: ../python/frescobaldi_app/mainapp.py:569 +#: ../python/frescobaldi_app/mainapp.py:579 msgid "Convert Relative to &Absolute" msgstr "Converti Relative in &Absolute" -#: ../python/frescobaldi_app/mainapp.py:570 +#: ../python/frescobaldi_app/mainapp.py:580 msgid "" "Converts the notes in the document or selection from relative to absolute " "pitch." @@ -1257,11 +1270,11 @@ "Converte le note nel documento o nella selezione dalla notazione " "relativadelle altezze a quella assoluta." -#: ../python/frescobaldi_app/mainapp.py:574 +#: ../python/frescobaldi_app/mainapp.py:584 msgid "Convert Absolute to &Relative" msgstr "Converti Absolute in &Relative" -#: ../python/frescobaldi_app/mainapp.py:575 +#: ../python/frescobaldi_app/mainapp.py:585 msgid "" "Converts the notes in the document or selection from absolute to relative " "pitch." @@ -1269,283 +1282,302 @@ "Converte le note nel documento o nella selezione dalla notazione assoluta " "delle altezze a quella relativa." -#: ../python/frescobaldi_app/mainapp.py:579 +#: ../python/frescobaldi_app/mainapp.py:589 msgid "Transpose..." msgstr "Trasponi..." -#: ../python/frescobaldi_app/mainapp.py:580 +#: ../python/frescobaldi_app/mainapp.py:590 msgid "Transposes all notes in the document or selection." msgstr "Traspone tutte le note nel documento o nella selezione." -#: ../python/frescobaldi_app/mainapp.py:585 +#: ../python/frescobaldi_app/mainapp.py:595 msgid "Double durations" msgstr "Raddoppia le durate" -#: ../python/frescobaldi_app/mainapp.py:586 +#: ../python/frescobaldi_app/mainapp.py:596 msgid "Double all the durations in the selection." msgstr "Raddoppia tutte le durate nella selezione." -#: ../python/frescobaldi_app/mainapp.py:591 +#: ../python/frescobaldi_app/mainapp.py:601 msgid "Halve durations" msgstr "Dimezza le durate" -#: ../python/frescobaldi_app/mainapp.py:592 +#: ../python/frescobaldi_app/mainapp.py:602 msgid "Halve all the durations in the selection." msgstr "Dimezza tutte le durate nella selezione." -#: ../python/frescobaldi_app/mainapp.py:597 +#: ../python/frescobaldi_app/mainapp.py:607 msgid "Dot durations" msgstr "Punto di valore" -#: ../python/frescobaldi_app/mainapp.py:598 +#: ../python/frescobaldi_app/mainapp.py:608 msgid "Add a dot to all the durations in the selection." msgstr "Aggiunge un punto di valore a tutte le durate nella selezione." -#: ../python/frescobaldi_app/mainapp.py:603 +#: ../python/frescobaldi_app/mainapp.py:613 msgid "Undot durations" msgstr "Togli un punto di val." -#: ../python/frescobaldi_app/mainapp.py:604 +#: ../python/frescobaldi_app/mainapp.py:614 msgid "Remove one dot from all the durations in the selection." msgstr "Toglie un punto di valore da tutte le durate nella selezione." -#: ../python/frescobaldi_app/mainapp.py:609 +#: ../python/frescobaldi_app/mainapp.py:619 msgid "Remove scaling" msgstr "Togli i gruppi irregolari" -#: ../python/frescobaldi_app/mainapp.py:610 +#: ../python/frescobaldi_app/mainapp.py:620 msgid "Remove all scaling (*n/m) from the durations in the selection." msgstr "Toglie tutti i gruppi irregolari (*n/m) dalle durate nella selezione." -#: ../python/frescobaldi_app/mainapp.py:615 +#: ../python/frescobaldi_app/mainapp.py:625 msgid "Remove durations" msgstr "Togli le durate" -#: ../python/frescobaldi_app/mainapp.py:616 +#: ../python/frescobaldi_app/mainapp.py:626 msgid "Remove all durations from the selection." msgstr "Toglie tutte le indicazioni di durata dalla selezione." -#: ../python/frescobaldi_app/mainapp.py:621 +#: ../python/frescobaldi_app/mainapp.py:631 msgid "Make implicit" msgstr "Nascondi le durate" -#: ../python/frescobaldi_app/mainapp.py:622 +#: ../python/frescobaldi_app/mainapp.py:632 msgid "Make durations implicit (remove repeated durations)." msgstr "Toglie la durata dopo una nota se è la stessa della nota precedente." -#: ../python/frescobaldi_app/mainapp.py:627 +#: ../python/frescobaldi_app/mainapp.py:637 msgid "Make explicit" msgstr "Mostra le durate" -#: ../python/frescobaldi_app/mainapp.py:628 +#: ../python/frescobaldi_app/mainapp.py:638 msgid "" "Make durations explicit (add duration to every note, even if it is the same " "as the preceding note)." msgstr "" "Aggiunge la durata dopo ogni nota anche se è la stessa della nota precedente." -#: ../python/frescobaldi_app/mainapp.py:634 +#: ../python/frescobaldi_app/mainapp.py:644 msgid "Apply rhythm..." msgstr "Applica uno schema ritmico..." -#: ../python/frescobaldi_app/mainapp.py:635 +#: ../python/frescobaldi_app/mainapp.py:645 msgid "Apply an entered rhythm to the selected music." msgstr "Applica lo schema ritmico inserito alla musica selezionata." -#: ../python/frescobaldi_app/mainapp.py:639 +#: ../python/frescobaldi_app/mainapp.py:649 msgid "Copy rhythm" msgstr "Copia lo schema ritmico" -#: ../python/frescobaldi_app/mainapp.py:640 +#: ../python/frescobaldi_app/mainapp.py:650 msgid "Copy the rhythm of the selected music." msgstr "Copia lo schema ritmico della musica selezionata." -#: ../python/frescobaldi_app/mainapp.py:646 +#: ../python/frescobaldi_app/mainapp.py:656 msgid "Paste rhythm" msgstr "Incolla lo schema ritmico" -#: ../python/frescobaldi_app/mainapp.py:647 +#: ../python/frescobaldi_app/mainapp.py:657 msgid "Paste a rhythm to the selected music." msgstr "Incolla lo schema ritmico alla musica selezionata." -#: ../python/frescobaldi_app/mainapp.py:655 +#: ../python/frescobaldi_app/mainapp.py:665 msgid "Double bar line" msgstr "Doppia stanghetta" -#: ../python/frescobaldi_app/mainapp.py:656 +#: ../python/frescobaldi_app/mainapp.py:666 msgid "Ending bar line" msgstr "Stanghetta finale" -#: ../python/frescobaldi_app/mainapp.py:657 +#: ../python/frescobaldi_app/mainapp.py:667 msgid "Dotted bar line" msgstr "Stanghetta punteggiata" -#: ../python/frescobaldi_app/mainapp.py:658 +#: ../python/frescobaldi_app/mainapp.py:668 msgid "Dashed bar line" msgstr "Stanghetta tratteggiata" -#: ../python/frescobaldi_app/mainapp.py:659 +#: ../python/frescobaldi_app/mainapp.py:669 msgid "Invisible bar line" msgstr "Stanghetta invisibile" -#: ../python/frescobaldi_app/mainapp.py:660 +#: ../python/frescobaldi_app/mainapp.py:670 msgid "Repeat start" msgstr "Inizio ritornello" -#: ../python/frescobaldi_app/mainapp.py:661 +#: ../python/frescobaldi_app/mainapp.py:671 msgid "Repeat both" msgstr "Doppio ritornello" -#: ../python/frescobaldi_app/mainapp.py:662 +#: ../python/frescobaldi_app/mainapp.py:672 msgid "Repeat end" msgstr "Fine ritornello" -#: ../python/frescobaldi_app/mainapp.py:663 +#: ../python/frescobaldi_app/mainapp.py:673 msgid "Tick bar line" msgstr "Stanghetta corta" -#: ../python/frescobaldi_app/mainapp.py:664 +#: ../python/frescobaldi_app/mainapp.py:674 msgid "Single bar line" msgstr "Stanghetta semplice" -#: ../python/frescobaldi_app/mainapp.py:665 +#: ../python/frescobaldi_app/mainapp.py:675 msgid "Small-Wide-Small bar line" msgstr "Stanghetta sottile-grossa-sottile" -#: ../python/frescobaldi_app/mainapp.py:666 +#: ../python/frescobaldi_app/mainapp.py:676 msgid "Wide-Small bar line" msgstr "Stanghetta grossa-sottile" -#: ../python/frescobaldi_app/mainapp.py:667 +#: ../python/frescobaldi_app/mainapp.py:677 msgid "Double wide bar line" msgstr "Doppia stanghetta grossa" -#: ../python/frescobaldi_app/mainapp.py:668 +#: ../python/frescobaldi_app/mainapp.py:678 msgid "Repeat both (old)" msgstr "Doppio ritornello (antico)" -#: ../python/frescobaldi_app/mainapp.py:669 +#: ../python/frescobaldi_app/mainapp.py:679 msgid "Repeat both (classic)" msgstr "Doppio ritornello (classico)" -#: ../python/frescobaldi_app/mainapp.py:681 +#: ../python/frescobaldi_app/mainapp.py:691 msgid "Remove hyphenation" msgstr "Rimuovi la sillabazione" -#: ../python/frescobaldi_app/mainapp.py:686 +#: ../python/frescobaldi_app/mainapp.py:695 +msgid "Copy Lyrics with hyphenation removed" +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:700 msgid "Single Quote" msgstr "Virgoletta singola" -#: ../python/frescobaldi_app/mainapp.py:690 +#: ../python/frescobaldi_app/mainapp.py:704 msgid "Double Quote" msgstr "Virgolette doppie" -#: ../python/frescobaldi_app/mainapp.py:694 +#: ../python/frescobaldi_app/mainapp.py:708 msgid "Align" msgstr "Allinea" -#: ../python/frescobaldi_app/mainapp.py:698 +#: ../python/frescobaldi_app/mainapp.py:712 msgid "Insert LilyPond version" msgstr "Inserisci la versione di LilyPond" -#: ../python/frescobaldi_app/mainapp.py:703 +#: ../python/frescobaldi_app/mainapp.py:717 msgid "Update with convert-ly" msgstr "Aggiorna con convert-ly" -#: ../python/frescobaldi_app/mainapp.py:708 +#: ../python/frescobaldi_app/mainapp.py:722 msgid "Open Current Folder" msgstr "Apri la cartella attuale" -#: ../python/frescobaldi_app/mainapp.py:722 +#: ../python/frescobaldi_app/mainapp.py:737 msgid "Repeat selected music" msgstr "Ripeti la musica selezionata" -#: ../python/frescobaldi_app/mainapp.py:728 +#: ../python/frescobaldi_app/mainapp.py:743 msgid "Insert pair of braces" msgstr "Inserisci coppia di graffe" -#: ../python/frescobaldi_app/mainapp.py:776 +#: ../python/frescobaldi_app/mainapp.py:794 +msgid "Can't process document" +msgstr "Impossibile elaborare il documento" + +#: ../python/frescobaldi_app/mainapp.py:799 +msgid "Your document has been modified, please save first." +msgstr "Il documento è stato modificato, salvare prima." + +#: ../python/frescobaldi_app/mainapp.py:824 +msgid "There is already a LilyPond job running for this document." +msgstr "È già in esecuzione un processo LilyPond per questo documento." + +#: ../python/frescobaldi_app/mainapp.py:860 msgid "Abort the running LilyPond process" msgstr "Ferma il processo LilyPond in esecuzione" -#: ../python/frescobaldi_app/mainapp.py:779 -msgid "Run LilyPond in preview mode" +#: ../python/frescobaldi_app/mainapp.py:863 +#, fuzzy +msgid "Run LilyPond in preview mode (Shift-click for custom dialog)" msgstr "Esegui LilyPond (anteprima)" -#: ../python/frescobaldi_app/mainapp.py:796 +#: ../python/frescobaldi_app/mainapp.py:872 +#: ../python/frescobaldi_app/mainapp.py:1088 +msgid "Quick Insert" +msgstr "Inserimento veloce" + +#: ../python/frescobaldi_app/mainapp.py:882 msgid "Apply Rhythm" msgstr "Applica uno schema ritmico" -#: ../python/frescobaldi_app/mainapp.py:804 +#: ../python/frescobaldi_app/mainapp.py:890 msgid "Enter a rhythm:" msgstr "Inserire uno schema ritmico:" -#: ../python/frescobaldi_app/mainapp.py:807 +#: ../python/frescobaldi_app/mainapp.py:893 msgid "Enter a rhythm using space separated duration values (e.g. 8. 16 8 4 8)" msgstr "" "Inserire uno schema ritmico usando i valori delle durate separati da uno " "spazio (ad es. 8. 16 8 4 8)" -#: ../python/frescobaldi_app/mainapp.py:862 +#: ../python/frescobaldi_app/mainapp.py:917 msgid "Terminal" msgstr "Terminale" -#: ../python/frescobaldi_app/mainapp.py:900 +#: ../python/frescobaldi_app/mainapp.py:948 msgid "S&ynchronize Terminal with Current Document" msgstr "S&incronizza il terminale con il documento attuale" -#: ../python/frescobaldi_app/mainapp.py:921 -#: ../python/frescobaldi_app/runlily.py:629 +#: ../python/frescobaldi_app/mainapp.py:969 +#: ../python/frescobaldi_app/runlily.py:783 msgid "PDF Preview" msgstr "Anteprima PDF" -#: ../python/frescobaldi_app/mainapp.py:950 +#: ../python/frescobaldi_app/mainapp.py:1026 msgid "Show PDF Navigation Panel" msgstr "Mostra il pannello di navigazione del PDF" -#: ../python/frescobaldi_app/mainapp.py:951 +#: ../python/frescobaldi_app/mainapp.py:1027 msgid "Show PDF minipager" msgstr "Mostra le miniature del PDF" -#: ../python/frescobaldi_app/mainapp.py:952 +#: ../python/frescobaldi_app/mainapp.py:1028 msgid "Configure Okular..." msgstr "Configura Okular..." -#: ../python/frescobaldi_app/mainapp.py:955 +#: ../python/frescobaldi_app/mainapp.py:1031 msgid "S&ynchronize Preview with Current Document" msgstr "S&incronizza l'anteprima con il documento attuale" -#: ../python/frescobaldi_app/mainapp.py:956 +#: ../python/frescobaldi_app/mainapp.py:1032 #, fuzzy msgid "Reload" msgstr "Registra" -#: ../python/frescobaldi_app/mainapp.py:1024 -msgid "Quick Insert" -msgstr "Inserimento veloce" - -#: ../python/frescobaldi_app/mainapp.py:1036 -#: ../python/frescobaldi_app/runlily.py:334 +#: ../python/frescobaldi_app/mainapp.py:1100 +#: ../python/frescobaldi_app/runlily.py:503 msgid "LilyPond Log" msgstr "LilyPond log" -#: ../python/frescobaldi_app/mainapp.py:1040 +#: ../python/frescobaldi_app/mainapp.py:1104 msgid "no log" msgstr "nessun log presente" -#: ../python/frescobaldi_app/mainapp.py:1079 +#: ../python/frescobaldi_app/mainapp.py:1141 msgid "Only show on errors" msgstr "Mostra solo in caso di errori" -#: ../python/frescobaldi_app/mainapp.py:1103 +#: ../python/frescobaldi_app/mainapp.py:1165 msgid "Rumor" msgstr "Rumor" -#: ../python/frescobaldi_app/mainapp.py:1115 +#: ../python/frescobaldi_app/mainapp.py:1177 +#: ../python/frescobaldi_app/settings.py:297 msgid "LilyPond Documentation" msgstr "Documentazione LilyPond" -#: ../python/frescobaldi_app/rumor.py:72 +#: ../python/frescobaldi_app/rumor.py:73 msgid "" "The meter to use. Leave 'Auto' to let Frescobaldi determine the meter from " "the LilyPond document." @@ -1553,31 +1585,31 @@ "Il metro da usare. Lasciare \"Auto\" per far dedurre a Frescobaldi il metro " "dal documento LilyPond." -#: ../python/frescobaldi_app/rumor.py:79 +#: ../python/frescobaldi_app/rumor.py:80 msgid "Quantize:" msgstr "Approssimazione:" -#: ../python/frescobaldi_app/rumor.py:85 +#: ../python/frescobaldi_app/rumor.py:86 msgid "The shortest note duration to use." msgstr "La durata più breve da usare per le note." -#: ../python/frescobaldi_app/rumor.py:90 +#: ../python/frescobaldi_app/rumor.py:91 msgid "Step" msgstr "Nota per nota" -#: ../python/frescobaldi_app/rumor.py:92 +#: ../python/frescobaldi_app/rumor.py:93 msgid "Record LilyPond input note by note, without durations." msgstr "Registra l'input LilyPond nota per nota, senza durate." -#: ../python/frescobaldi_app/rumor.py:96 +#: ../python/frescobaldi_app/rumor.py:97 msgid "Mono" msgstr "Mono" -#: ../python/frescobaldi_app/rumor.py:98 +#: ../python/frescobaldi_app/rumor.py:99 msgid "Record monophonic input, without chords." msgstr "Registra in monofonia, senza accordi." -#: ../python/frescobaldi_app/rumor.py:107 +#: ../python/frescobaldi_app/rumor.py:108 msgid "" "The number of accidentals. A negative number designates flats. Leave 'Auto' " "to let Frescobaldi determine the key signature from the LilyPond document." @@ -1585,23 +1617,23 @@ "Il numero di accidenti. I numeri negativi indicano i bemolli. Lasciare \"Auto" "\" perché Frescobaldi deduca la tonalità dal documento LilyPond." -#: ../python/frescobaldi_app/rumor.py:113 +#: ../python/frescobaldi_app/rumor.py:114 msgid "Tempo:" msgstr "Velocità:" -#: ../python/frescobaldi_app/rumor.py:116 +#: ../python/frescobaldi_app/rumor.py:117 msgid "Meter:" msgstr "Metro:" -#: ../python/frescobaldi_app/rumor.py:119 +#: ../python/frescobaldi_app/rumor.py:120 msgid "Key:" msgstr "Tonalità:" -#: ../python/frescobaldi_app/rumor.py:131 +#: ../python/frescobaldi_app/rumor.py:132 msgid "Configure..." msgstr "Configura..." -#: ../python/frescobaldi_app/rumor.py:132 +#: ../python/frescobaldi_app/rumor.py:133 msgid "Adjust more settings, like MIDI input and output." msgstr "Configura altre opzioni, come l'ingresso e l'uscita MIDI." @@ -1613,59 +1645,59 @@ msgid "Set these settings as default." msgstr "Usa queste impostazioni come predefinite." -#: ../python/frescobaldi_app/rumor.py:148 +#: ../python/frescobaldi_app/rumor.py:147 msgid "Found rumor version %1." msgstr "Trovata la versione %1 di Rumor." -#: ../python/frescobaldi_app/rumor.py:151 +#: ../python/frescobaldi_app/rumor.py:150 msgid "Could not find Rumor: %1" msgstr "Impossibile trovare Rumor: %1" -#: ../python/frescobaldi_app/rumor.py:165 +#: ../python/frescobaldi_app/rumor.py:164 msgid "Settings have been saved." msgstr "Le impostazioni sono state salvate." -#: ../python/frescobaldi_app/rumor.py:316 +#: ../python/frescobaldi_app/rumor.py:315 msgid "Record" msgstr "Registra" -#: ../python/frescobaldi_app/rumor.py:318 +#: ../python/frescobaldi_app/rumor.py:317 msgid "Start or stop Rumor MIDI-recording." msgstr "Avvia o ferma la registrazione MIDI di Rumor." -#: ../python/frescobaldi_app/rumor.py:334 +#: ../python/frescobaldi_app/rumor.py:333 msgid "Rumor is recording, press ESC to stop." msgstr "Rumor sta registrando, premere ESC per fermarlo." -#: ../python/frescobaldi_app/rumor.py:360 +#: ../python/frescobaldi_app/rumor.py:359 msgid "Rumor stopped." msgstr "Rumor fermato." -#: ../python/frescobaldi_app/rumor.py:394 +#: ../python/frescobaldi_app/rumor.py:393 msgid "TiMidity" msgstr "TiMidity" -#: ../python/frescobaldi_app/rumor.py:395 +#: ../python/frescobaldi_app/rumor.py:394 msgid "Start or stop the TiMidity ALSA MIDI client." msgstr "Avvia o ferma TiMidity, il client MIDI per ALSA." -#: ../python/frescobaldi_app/rumor.py:415 +#: ../python/frescobaldi_app/rumor.py:413 msgid "Rumor Settings" msgstr "Configurazione di Rumor" -#: ../python/frescobaldi_app/rumor.py:423 +#: ../python/frescobaldi_app/rumor.py:421 msgid "OSS device %1" msgstr "Dispositivo OSS %1" -#: ../python/frescobaldi_app/rumor.py:425 +#: ../python/frescobaldi_app/rumor.py:423 msgid "Keyboard" msgstr "Tastiera" -#: ../python/frescobaldi_app/rumor.py:431 +#: ../python/frescobaldi_app/rumor.py:429 msgid "MIDI input:" msgstr "Ingresso MIDI:" -#: ../python/frescobaldi_app/rumor.py:435 +#: ../python/frescobaldi_app/rumor.py:433 msgid "" "MIDI input to use. Choose 'Keyboard' if you want to play on the keyboard of " "your computer." @@ -1673,28 +1705,28 @@ "L'ingresso MIDI da usare. Scegliere \"Tastiera\" se si vuole suonare sulla " "tastiera del computer." -#: ../python/frescobaldi_app/rumor.py:441 +#: ../python/frescobaldi_app/rumor.py:439 msgid "MIDI output:" msgstr "Uscita MIDI:" -#: ../python/frescobaldi_app/rumor.py:445 +#: ../python/frescobaldi_app/rumor.py:443 msgid "MIDI output to use." msgstr "L'uscita MIDI da usare." -#: ../python/frescobaldi_app/rumor.py:450 -#: ../python/frescobaldi_app/scorewiz/__init__.py:544 +#: ../python/frescobaldi_app/rumor.py:448 +#: ../python/frescobaldi_app/scorewiz/__init__.py:529 msgid "Language:" msgstr "Lingua:" -#: ../python/frescobaldi_app/rumor.py:455 +#: ../python/frescobaldi_app/rumor.py:453 msgid "The LilyPond language you want Rumor to output the pitches in." msgstr "La lingua in cui Rumor scriverà le note nel sorgente LilyPond." -#: ../python/frescobaldi_app/rumor.py:463 +#: ../python/frescobaldi_app/rumor.py:461 msgid "Explicit durations" msgstr "Aggiungi tutte le durate" -#: ../python/frescobaldi_app/rumor.py:465 +#: ../python/frescobaldi_app/rumor.py:463 msgid "" "Add a duration after every note, even if it is the same as the preceding " "note." @@ -1702,51 +1734,51 @@ "Aggiunge la durata dopo ogni nota, anche se è la stessa della nota " "precedente." -#: ../python/frescobaldi_app/rumor.py:470 +#: ../python/frescobaldi_app/rumor.py:468 msgid "Absolute pitch" msgstr "Altezza assoluta" -#: ../python/frescobaldi_app/rumor.py:472 +#: ../python/frescobaldi_app/rumor.py:470 msgid "Use absolute pitches instead of relative." msgstr "Usa altezze assolute al posto delle relative." -#: ../python/frescobaldi_app/rumor.py:478 +#: ../python/frescobaldi_app/rumor.py:476 msgid "No barlines" msgstr "Niente stanghette" -#: ../python/frescobaldi_app/rumor.py:480 +#: ../python/frescobaldi_app/rumor.py:478 msgid "Filter the barlines out of Rumor's output." msgstr "Toglie le stanghette di battuta dall'output di Rumor." -#: ../python/frescobaldi_app/rumor.py:484 +#: ../python/frescobaldi_app/rumor.py:482 msgid "No dots" msgstr "Niente punti di valore" -#: ../python/frescobaldi_app/rumor.py:486 +#: ../python/frescobaldi_app/rumor.py:484 msgid "Do not use dotted notes, but ties instead." msgstr "Usa le legature al posto dei punti di valore." -#: ../python/frescobaldi_app/rumor.py:490 +#: ../python/frescobaldi_app/rumor.py:488 msgid "Legato" msgstr "Legato" -#: ../python/frescobaldi_app/rumor.py:491 +#: ../python/frescobaldi_app/rumor.py:489 msgid "Do not use rests, but give all notes the maximum length." msgstr "Non usa pause ma dà a tutte le note la massima durata." -#: ../python/frescobaldi_app/rumor.py:496 +#: ../python/frescobaldi_app/rumor.py:494 msgid "Strip rests" msgstr "Togli le pause" -#: ../python/frescobaldi_app/rumor.py:498 +#: ../python/frescobaldi_app/rumor.py:496 msgid "Strip leading and trialing rests from output." msgstr "Toglie le pause iniziali e finali dall'output." -#: ../python/frescobaldi_app/rumor.py:502 +#: ../python/frescobaldi_app/rumor.py:500 msgid "Guile scripts to load:" msgstr "Script Guile da caricare:" -#: ../python/frescobaldi_app/rumor.py:509 +#: ../python/frescobaldi_app/rumor.py:507 msgid "" "Here you can select which Guile scripts you want Rumor to load. Check " "\"What's this\" for more information." @@ -1754,7 +1786,7 @@ "Qui si possono scegliere gli script Guile da far caricare a Rumor. " "Consultare \"Cos'è questo\" per ulteriori ragguagli." -#: ../python/frescobaldi_app/rumor.py:513 +#: ../python/frescobaldi_app/rumor.py:511 msgid "" "Here you can select which Guile scripts you want Rumor to load. You can add " "your own scripts by putting them in %1. If the first line of your script " @@ -1765,55 +1797,132 @@ "dello script inizia con un punto e virgola (;) quella linea sarà mostrata " "come descrizione." -#: ../python/frescobaldi_app/rumor.py:635 +#: ../python/frescobaldi_app/rumor.py:633 msgid "Auto" msgstr "Auto" -#: ../python/frescobaldi_app/runlily.py:88 +#: ../python/frescobaldi_app/runlily.py:101 msgid "preview mode" msgstr "modalità anteprima" -#: ../python/frescobaldi_app/runlily.py:88 +#: ../python/frescobaldi_app/runlily.py:101 msgid "publish mode" msgstr "modalità pubblicazione" -#: ../python/frescobaldi_app/runlily.py:89 +#: ../python/frescobaldi_app/runlily.py:104 +msgid "LilyPond %1 [%2] starting (%3)..." +msgstr "LilyPond %1 [%2] in esecuzione (%3)..." + +#: ../python/frescobaldi_app/runlily.py:107 msgid "LilyPond [%1] starting (%2)..." msgstr "LilyPond [%1] in esecuzione (%2)..." -#: ../python/frescobaldi_app/runlily.py:95 +#: ../python/frescobaldi_app/runlily.py:131 msgid "LilyPond [%1] exited with return code %2." msgstr "LilyPond [%1] è uscito con il codice %2." -#: ../python/frescobaldi_app/runlily.py:98 +#: ../python/frescobaldi_app/runlily.py:134 msgid "LilyPond [%1] exited with exit status %2." msgstr "LilyPond [%1] è uscito con lo stato %2." -#: ../python/frescobaldi_app/runlily.py:107 +#: ../python/frescobaldi_app/runlily.py:140 msgid "LilyPond [%1] finished (%2)." msgstr "LilyPond [%1] terminato (%2)." -#: ../python/frescobaldi_app/runlily.py:115 +#: ../python/frescobaldi_app/runlily.py:150 msgid "Could not start LilyPond. Please check path and permissions." msgstr "Impossibile avviare LilyPond. Controllare il percorso e i permessi." -#: ../python/frescobaldi_app/runlily.py:118 +#: ../python/frescobaldi_app/runlily.py:153 msgid "Could not read from the LilyPond process." msgstr "Impossibile avere informazioni dal processo LilyPond." -#: ../python/frescobaldi_app/runlily.py:121 +#: ../python/frescobaldi_app/runlily.py:156 msgid "An unknown error occured." msgstr "Si è verificato un errore sconosciuto." -#: ../python/frescobaldi_app/runlily.py:323 +#: ../python/frescobaldi_app/runlily.py:229 +#: ../python/frescobaldi_app/runlily.py:232 +#, fuzzy +msgid "Run LilyPond" +msgstr "LilyPond" + +#: ../python/frescobaldi_app/runlily.py:239 +#, fuzzy +msgid "Select which LilyPond version you want to run:" +msgstr "Scegliere i documenti da spedire:" + +#: ../python/frescobaldi_app/runlily.py:247 +#, fuzzy +msgid "Run LilyPond in preview mode (with Point and Click)" +msgstr "Esegui LilyPond (anteprima)" + +#: ../python/frescobaldi_app/runlily.py:250 +#: ../python/frescobaldi_app/settings.py:150 +msgid "Run LilyPond with verbose output" +msgstr "Esegui LilyPond con output molto dettagliato" + +#: ../python/frescobaldi_app/runlily.py:292 +#, fuzzy +msgid "Command" +msgstr "Comando di stampa:" + +#: ../python/frescobaldi_app/runlily.py:299 +#, fuzzy +msgid "LilyPond %1" +msgstr "LilyPond" + +#: ../python/frescobaldi_app/runlily.py:300 +#, fuzzy +msgid "Use LilyPond version %1" +msgstr "Inserisci la versione di LilyPond" + +#: ../python/frescobaldi_app/runlily.py:303 +#: ../python/frescobaldi_app/settings.py:601 +#, fuzzy +msgid "default" +msgstr "Predefinita" + +#: ../python/frescobaldi_app/runlily.py:304 +#, fuzzy +msgid "Default LilyPond Version." +msgstr "Inserisci la versione di LilyPond" + +#: ../python/frescobaldi_app/runlily.py:306 +msgid "automatic" +msgstr "" + +#: ../python/frescobaldi_app/runlily.py:307 +#, fuzzy +msgid "Automatic LilyPond Version (determined from document)." +msgstr "La versione di LilyPond da usare per i nuovi documenti" + +#: ../python/frescobaldi_app/runlily.py:312 +#, fuzzy +msgid "Path: %1" +msgstr "Suona %1" + +#: ../python/frescobaldi_app/runlily.py:316 +#, fuzzy +msgid "LilyPond (version unknown)" +msgstr "Inserisci la versione di LilyPond" + +#: ../python/frescobaldi_app/runlily.py:317 +#, fuzzy +msgid "" +"Use LilyPond (version unknown)\n" +"Path: %1" +msgstr "Inserisci la versione di LilyPond" + +#: ../python/frescobaldi_app/runlily.py:491 msgid "Click to edit this file" msgstr "Fare clic per modificare questo file" -#: ../python/frescobaldi_app/runlily.py:355 +#: ../python/frescobaldi_app/runlily.py:524 msgid "Save LilyPond Log as" msgstr "Salva il log di LilyPond come" -#: ../python/frescobaldi_app/runlily.py:392 +#: ../python/frescobaldi_app/runlily.py:540 msgid "" "Could not save LilyPond log:\n" "\n" @@ -1823,108 +1932,96 @@ "\n" "%1" -#: ../python/frescobaldi_app/settings.py:49 +#: ../python/frescobaldi_app/settings.py:54 msgid "Configure" msgstr "Configura" -#: ../python/frescobaldi_app/settings.py:104 +#: ../python/frescobaldi_app/settings.py:110 msgid "Editor Component" msgstr "Componente editor" -#: ../python/frescobaldi_app/settings.py:105 +#: ../python/frescobaldi_app/settings.py:111 msgid "Editor Component Options" msgstr "Opzioni del componente editor" -#: ../python/frescobaldi_app/settings.py:134 +#: ../python/frescobaldi_app/settings.py:140 msgid "General Preferences" msgstr "Opzioni generali" -#: ../python/frescobaldi_app/settings.py:135 +#: ../python/frescobaldi_app/settings.py:141 msgid "General Frescobaldi Preferences" msgstr "Opzioni generali di Frescobaldi" -#: ../python/frescobaldi_app/settings.py:140 +#: ../python/frescobaldi_app/settings.py:146 msgid "Save document when LilyPond is run" msgstr "Salva il documento quando si esegue LilyPond" -#: ../python/frescobaldi_app/settings.py:142 +#: ../python/frescobaldi_app/settings.py:148 msgid "Let LilyPond delete intermediate output files" msgstr "Lascia che LilyPond cancelli i file di output intermedi" -#: ../python/frescobaldi_app/settings.py:144 -msgid "Run LilyPond with verbose output" -msgstr "Esegui LilyPond con output molto dettagliato" - -#: ../python/frescobaldi_app/settings.py:146 +#: ../python/frescobaldi_app/settings.py:152 msgid "Remember cursor position, bookmarks, etc." msgstr "Ricorda la posizione del cursore, i segnalibri, ecc." -#: ../python/frescobaldi_app/settings.py:148 +#: ../python/frescobaldi_app/settings.py:154 msgid "Disable the built-in PDF preview" msgstr "Disabilita l'anteprima integrata del PDF" -#: ../python/frescobaldi_app/settings.py:165 +#: ../python/frescobaldi_app/settings.py:170 msgid "LilyPond version number to use for new documents" msgstr "La versione di LilyPond da usare per i nuovi documenti" -#: ../python/frescobaldi_app/settings.py:167 +#: ../python/frescobaldi_app/settings.py:172 msgid "Use version number of installed LilyPond" msgstr "Usa il numero di versione dell'eseguibile LilyPond installato" -#: ../python/frescobaldi_app/settings.py:168 +#: ../python/frescobaldi_app/settings.py:173 msgid "Use version number of last convert-ly rule" msgstr "Usa il numero di versione dell'ultima regola di convert-ly" -#: ../python/frescobaldi_app/settings.py:169 +#: ../python/frescobaldi_app/settings.py:174 msgid "Use custom version number:" msgstr "Usa il seguente numero di versione:" -#: ../python/frescobaldi_app/settings.py:175 +#: ../python/frescobaldi_app/settings.py:179 msgid "Enter a valid LilyPond version number, e.g. 2.12.0" msgstr "Inserire un numero di versione LilyPond corretto, ad esempio 2.12.0" -#: ../python/frescobaldi_app/settings.py:233 +#: ../python/frescobaldi_app/settings.py:234 msgid "Paths" msgstr "Percorsi" -#: ../python/frescobaldi_app/settings.py:234 +#: ../python/frescobaldi_app/settings.py:235 msgid "Paths to programs or data used by Frescobaldi" msgstr "Percorsi ai programmi o ai dati usati da Frescobaldi" -#: ../python/frescobaldi_app/settings.py:244 -msgid "Name or full path of the LilyPond program." -msgstr "Nome o percorso completo dell'eseguibile di LilyPond." - -#: ../python/frescobaldi_app/settings.py:246 -msgid "Name or full path of the convert-ly program." -msgstr "Nome o percorso completo di convert-ly." - -#: ../python/frescobaldi_app/settings.py:247 +#: ../python/frescobaldi_app/settings.py:249 msgid "PDF Viewer:" msgstr "Visualizzatore PDF:" -#: ../python/frescobaldi_app/settings.py:248 +#: ../python/frescobaldi_app/settings.py:250 msgid "PDF Viewer" msgstr "Visualizzatore PDF" -#: ../python/frescobaldi_app/settings.py:249 -#: ../python/frescobaldi_app/settings.py:252 +#: ../python/frescobaldi_app/settings.py:251 +#: ../python/frescobaldi_app/settings.py:254 msgid "(leave empty for operating system default)" msgstr "(lasciare vuoto per usare quello predefinito dal sistema operativo)" -#: ../python/frescobaldi_app/settings.py:250 +#: ../python/frescobaldi_app/settings.py:252 msgid "MIDI Player:" msgstr "Lettore MIDI:" -#: ../python/frescobaldi_app/settings.py:251 +#: ../python/frescobaldi_app/settings.py:253 msgid "MIDI Player" msgstr "Lettore MIDI" -#: ../python/frescobaldi_app/settings.py:253 +#: ../python/frescobaldi_app/settings.py:255 msgid "Printcommand:" msgstr "Comando di stampa:" -#: ../python/frescobaldi_app/settings.py:254 +#: ../python/frescobaldi_app/settings.py:256 msgid "" "Command to print a PDF file, for example lpr or kprinter. You may add some " "arguments, e.g. lpr -P myprinter." @@ -1932,23 +2029,23 @@ "Comando per stampare un PDF, per esempio lpr o kprinter. Si possono far " "seguire opzioni, ad es.: lpr -P myprinter." -#: ../python/frescobaldi_app/settings.py:270 +#: ../python/frescobaldi_app/settings.py:272 msgid "Default directory:" msgstr "Cartella predefinita:" -#: ../python/frescobaldi_app/settings.py:275 +#: ../python/frescobaldi_app/settings.py:277 msgid "The default folder for your LilyPond documents (optional)." msgstr "La cartella predefinita dei documenti LilyPond (facoltativo)." -#: ../python/frescobaldi_app/settings.py:287 +#: ../python/frescobaldi_app/settings.py:288 msgid "LilyPond documentation:" msgstr "Documentazione LilyPond:" -#: ../python/frescobaldi_app/settings.py:292 +#: ../python/frescobaldi_app/settings.py:294 msgid "Url or path to the LilyPond documentation." msgstr "Url o percorso completo alla documentazione LilyPond." -#: ../python/frescobaldi_app/settings.py:304 +#: ../python/frescobaldi_app/settings.py:305 msgid "" "Paths to search for hyphenation dictionaries of OpenOffice.org, Scribus, " "KOffice, etc, one per line. If you leave out the starting slash, the " @@ -1959,23 +2056,23 @@ "aggiunti automaticamente i prefissi contenuti nella variabile d'ambiente " "KDEDIRS." -#: ../python/frescobaldi_app/settings.py:363 +#: ../python/frescobaldi_app/settings.py:366 msgid "Rumor MIDI input" msgstr "Ingresso MIDI di Rumor" -#: ../python/frescobaldi_app/settings.py:364 +#: ../python/frescobaldi_app/settings.py:367 msgid "Rumor MIDI input plugin settings" msgstr "Impostazioni dei plugin di ingresso MIDI di Rumor" -#: ../python/frescobaldi_app/settings.py:369 +#: ../python/frescobaldi_app/settings.py:372 msgid "Commands used by the Rumor MIDI input module" msgstr "Comandi per il modulo di input MIDI di Rumor" -#: ../python/frescobaldi_app/settings.py:376 +#: ../python/frescobaldi_app/settings.py:379 msgid "Name or full path of the Rumor program." msgstr "Nome o percorso completo dell'eseguibile di Rumor." -#: ../python/frescobaldi_app/settings.py:378 +#: ../python/frescobaldi_app/settings.py:381 msgid "" "Name or full path of the aconnect program (part of ALSA, for MIDI input and " "playback using Rumor)." @@ -1983,25 +2080,82 @@ "Nome o percorso completo di aconnect (componente ALSA per l'inserimento e " "l'esecuzione MIDI tramite Rumor)." -#: ../python/frescobaldi_app/settings.py:382 +#: ../python/frescobaldi_app/settings.py:385 msgid "" "Full command to start Timidity (or any other program) as an ALSA MIDI client." msgstr "" "Comando completo per avviare TiMidity (o un altro programma) come client " "MIDI per ALSA." -#: ../python/frescobaldi_app/version.py:55 +#: ../python/frescobaldi_app/settings.py:421 +#, fuzzy +msgid "LilyPond versions to use:" +msgstr "Inserisci la versione di LilyPond" + +#: ../python/frescobaldi_app/settings.py:432 +msgid "" +"Enable automatic version selection (choose LilyPond version from document)" +msgstr "" + +#: ../python/frescobaldi_app/settings.py:558 +msgid "Convert-ly:" +msgstr "" + +#: ../python/frescobaldi_app/settings.py:559 +#, fuzzy +msgid "Lilypond-book:" +msgstr "LilyPond" + +#: ../python/frescobaldi_app/settings.py:595 +#, fuzzy +msgid "Path" +msgstr "Percorsi" + +#: ../python/frescobaldi_app/settings.py:596 +#, fuzzy +msgid "Version" +msgstr "Versione:" + +#: ../python/frescobaldi_app/settings.py:599 +#, fuzzy +msgid "Can't determine LilyPond version." +msgstr "Inserisci la versione di LilyPond" + +#: ../python/frescobaldi_app/settings.py:624 +#, fuzzy +msgid "LilyPond Command:" +msgstr "Indice dei comandi LilyPond" + +#: ../python/frescobaldi_app/settings.py:628 +msgid "Name or full path of the LilyPond program." +msgstr "Nome o percorso completo dell'eseguibile di LilyPond." + +#: ../python/frescobaldi_app/settings.py:629 +#, fuzzy +msgid "LilyPond Command" +msgstr "Indice dei comandi LilyPond" + +#: ../python/frescobaldi_app/settings.py:642 +#, fuzzy +msgid "Set as default" +msgstr "Usa queste impostazioni come predefinite." + +#: ../python/frescobaldi_app/settings.py:644 +msgid "Include in automatic version selection" +msgstr "" + +#: ../python/frescobaldi_app/version.py:61 msgid "Your document has already a LilyPond version statement." msgstr "" "Il documento contiene già la dichiarazione del numero di versione di " "LilyPond." -#: ../python/frescobaldi_app/version.py:56 +#: ../python/frescobaldi_app/version.py:62 msgid "Version already set" msgstr "La versione è già stata aggiunta" -#: ../python/frescobaldi_app/version.py:64 -#: ../python/frescobaldi_app/version.py:82 +#: ../python/frescobaldi_app/version.py:70 +#: ../python/frescobaldi_app/version.py:88 msgid "" "Can't determine the version of LilyPond. Please check your LilyPond " "installation." @@ -2009,7 +2163,7 @@ "Impossibile determinare la versione di LilyPond: controllare che " "l'installazione di Lilypond sia corretta." -#: ../python/frescobaldi_app/version.py:78 +#: ../python/frescobaldi_app/version.py:84 msgid "" "Can't determine the LilyPond version of the current document. Please add a " "\\version statement with the correct version." @@ -2017,11 +2171,11 @@ "Impossibile determinare il numero di versione di LilyPond per il documento " "in uso. Aggiungere la dichiarazione con il numero di versione corretto." -#: ../python/frescobaldi_app/version.py:86 +#: ../python/frescobaldi_app/version.py:92 msgid "This LilyPond document is already up-to-date." msgstr "Questo documento LilyPond è già aggiornato all'ultima versione." -#: ../python/frescobaldi_app/version.py:100 +#: ../python/frescobaldi_app/version.py:105 msgid "" "The document has been processed with convert-ly. You'll find the messages of " "convert-ly in a comment block at the end. You still may have to edit some " @@ -2031,7 +2185,7 @@ "trovano in un blocco di commento alla fine del file; potrebbe essere " "necessario modificare a mano alcune parti." -#: ../python/frescobaldi_app/version.py:106 +#: ../python/frescobaldi_app/version.py:111 msgid "" "The document has been processed with convert-ly, but remained unchanged. " "This is the message given by convert-ly: %1" @@ -2039,185 +2193,185 @@ "Il documento è stato elaborato con convert-ly ma non è stato modificato." "Questo è il messaggio di uscita di convert-ly: %1" -#: ../python/frescobaldi_app/version.py:111 +#: ../python/frescobaldi_app/version.py:116 msgid "Could not start convert-ly: %1" msgstr "Impossibile avviare convert-ly: %1" -#: ../python/frescobaldi_app/widgets.py:46 +#: ../python/frescobaldi_app/widgets.py:47 msgid "Tap" msgstr "Tap" -#: ../python/frescobaldi_app/widgets.py:52 +#: ../python/frescobaldi_app/widgets.py:53 msgid "Click this button a few times to set the tempo." msgstr "Fare clic a tempo su questo pulsante per impostare la velocità." -#: ../python/frescobaldi_app/widgets.py:178 +#: ../python/frescobaldi_app/widgets.py:179 msgid "The tempo in beats per minute." msgstr "Il tempo in battiti al minuto." -#: ../python/frescobaldi_app/widgets.py:290 +#: ../python/frescobaldi_app/widgets.py:288 msgid "Treble" msgstr "Violino" -#: ../python/frescobaldi_app/widgets.py:291 -#: ../python/frescobaldi_app/scorewiz/parts.py:809 +#: ../python/frescobaldi_app/widgets.py:289 +#: ../python/frescobaldi_app/scorewiz/parts.py:812 msgid "Alto" msgstr "Contralto" -#: ../python/frescobaldi_app/widgets.py:292 -#: ../python/frescobaldi_app/scorewiz/parts.py:815 +#: ../python/frescobaldi_app/widgets.py:290 +#: ../python/frescobaldi_app/scorewiz/parts.py:818 msgid "Tenor" msgstr "Tenore" -#: ../python/frescobaldi_app/widgets.py:293 +#: ../python/frescobaldi_app/widgets.py:291 msgid "Treble 8" msgstr "Violino con \"8\" sotto" -#: ../python/frescobaldi_app/widgets.py:294 -#: ../python/frescobaldi_app/scorewiz/parts.py:585 -#: ../python/frescobaldi_app/scorewiz/parts.py:822 +#: ../python/frescobaldi_app/widgets.py:292 +#: ../python/frescobaldi_app/scorewiz/parts.py:588 +#: ../python/frescobaldi_app/scorewiz/parts.py:825 msgid "Bass" msgstr "Basso" -#: ../python/frescobaldi_app/widgets.py:295 -#: ../python/frescobaldi_app/scorewiz/parts.py:1402 +#: ../python/frescobaldi_app/widgets.py:293 +#: ../python/frescobaldi_app/scorewiz/parts.py:1512 msgid "Percussion" msgstr "Percussioni" -#: ../python/frescobaldi_app/widgets.py:298 +#: ../python/frescobaldi_app/widgets.py:296 msgid "Tab clef" msgstr "Chiave per intavolatura" -#: ../python/frescobaldi_app/widgets.py:300 +#: ../python/frescobaldi_app/widgets.py:298 msgid "No Clef" msgstr "Nessuna chiave" -#: ../python/frescobaldi_app/scorewiz/__init__.py:68 +#: ../python/frescobaldi_app/scorewiz/__init__.py:62 msgid "Score Setup Wizard" msgstr "Configurazione assistita di un nuovo spartito" -#: ../python/frescobaldi_app/scorewiz/__init__.py:137 +#: ../python/frescobaldi_app/scorewiz/__init__.py:133 msgid "Titles and Headers" msgstr "Titoli e Intestazioni" -#: ../python/frescobaldi_app/scorewiz/__init__.py:155 +#: ../python/frescobaldi_app/scorewiz/__init__.py:151 msgid "Click to enter a value." msgstr "Fare clic per inserire un valore." -#: ../python/frescobaldi_app/scorewiz/__init__.py:157 +#: ../python/frescobaldi_app/scorewiz/__init__.py:153 msgid "bottom of first page" msgstr "in fondo alla prima pagina" -#: ../python/frescobaldi_app/scorewiz/__init__.py:158 +#: ../python/frescobaldi_app/scorewiz/__init__.py:154 msgid "bottom of last page" msgstr "in fondo all'ultima pagina" -#: ../python/frescobaldi_app/scorewiz/__init__.py:201 +#: ../python/frescobaldi_app/scorewiz/__init__.py:194 msgid "Parts" msgstr "Parti" -#: ../python/frescobaldi_app/scorewiz/__init__.py:206 +#: ../python/frescobaldi_app/scorewiz/__init__.py:199 msgid "Available parts:" msgstr "Parti disponibili:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:209 +#: ../python/frescobaldi_app/scorewiz/__init__.py:202 msgid "Add selected part to your score." msgstr "Aggiungi la parte selezionata allo spartito." -#: ../python/frescobaldi_app/scorewiz/__init__.py:214 +#: ../python/frescobaldi_app/scorewiz/__init__.py:207 msgid "Score:" msgstr "Spartito:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:348 -#: ../python/frescobaldi_app/scorewiz/__init__.py:353 +#: ../python/frescobaldi_app/scorewiz/__init__.py:341 +#: ../python/frescobaldi_app/scorewiz/__init__.py:346 msgid "Score settings" msgstr "Impostazioni spartito" -#: ../python/frescobaldi_app/scorewiz/__init__.py:360 +#: ../python/frescobaldi_app/scorewiz/__init__.py:353 msgid "General preferences" msgstr "Preferenze generali" -#: ../python/frescobaldi_app/scorewiz/__init__.py:362 +#: ../python/frescobaldi_app/scorewiz/__init__.py:355 msgid "Instrument names" msgstr "Nomi degli strumenti" -#: ../python/frescobaldi_app/scorewiz/__init__.py:369 +#: ../python/frescobaldi_app/scorewiz/__init__.py:362 msgid "Key signature:" msgstr "Tonalità:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:377 +#: ../python/frescobaldi_app/scorewiz/__init__.py:370 msgid "Time signature:" msgstr "Indicazione di tempo:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:393 +#: ../python/frescobaldi_app/scorewiz/__init__.py:386 msgid "Pickup measure:" msgstr "Battuta in levare:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:405 +#: ../python/frescobaldi_app/scorewiz/__init__.py:398 msgid "Metronome mark:" msgstr "Indicazione per il metronomo:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:434 +#: ../python/frescobaldi_app/scorewiz/__init__.py:427 msgid "Tempo indication:" msgstr "Indicazione di movimento:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:438 +#: ../python/frescobaldi_app/scorewiz/__init__.py:431 msgid "A tempo indication, e.g. \"Allegro.\"" msgstr "Un'indicazione di movimento, ad es. \"Allegro.\"" -#: ../python/frescobaldi_app/scorewiz/__init__.py:444 +#: ../python/frescobaldi_app/scorewiz/__init__.py:437 msgid "Pitch name language:" msgstr "Lingua per il nome delle note:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:452 +#: ../python/frescobaldi_app/scorewiz/__init__.py:445 msgid "The LilyPond language you want to use for the pitch names." msgstr "La lingua da usare per le altezze delle note nel sorgente LilyPond." -#: ../python/frescobaldi_app/scorewiz/__init__.py:469 +#: ../python/frescobaldi_app/scorewiz/__init__.py:451 msgid "Version:" msgstr "Versione:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:478 +#: ../python/frescobaldi_app/scorewiz/__init__.py:460 msgid "The LilyPond version you will be using for this document." msgstr "La versione di LilyPond che sarà usata per questo documento." -#: ../python/frescobaldi_app/scorewiz/__init__.py:482 +#: ../python/frescobaldi_app/scorewiz/__init__.py:464 msgid "Use typographical quotes" msgstr "Usa virgolette tipografiche" -#: ../python/frescobaldi_app/scorewiz/__init__.py:484 +#: ../python/frescobaldi_app/scorewiz/__init__.py:466 msgid "Replace normal quotes in titles with nice typographical quotes." msgstr "" "Sostituisce le virgolette normali con quelle tipografiche, di più bel " "aspetto." -#: ../python/frescobaldi_app/scorewiz/__init__.py:488 +#: ../python/frescobaldi_app/scorewiz/__init__.py:470 msgid "Suppress the default tagline output by LilyPond." msgstr "Elimina la tagline predefinita di LilyPond." -#: ../python/frescobaldi_app/scorewiz/__init__.py:490 +#: ../python/frescobaldi_app/scorewiz/__init__.py:472 msgid "Remove bar numbers" msgstr "Togli i numeri di battuta" -#: ../python/frescobaldi_app/scorewiz/__init__.py:492 +#: ../python/frescobaldi_app/scorewiz/__init__.py:474 msgid "" "Suppress the display of measure numbers at the beginning of every system." msgstr "" "Elimina la visualizzazione dei numeri di battuta all'inizio di ogni sistema." -#: ../python/frescobaldi_app/scorewiz/__init__.py:495 +#: ../python/frescobaldi_app/scorewiz/__init__.py:477 msgid "Create MIDI output" msgstr "Genera MIDI" -#: ../python/frescobaldi_app/scorewiz/__init__.py:497 +#: ../python/frescobaldi_app/scorewiz/__init__.py:479 msgid "Create a MIDI file in addition to the PDF file." msgstr "Genera anche un file MIDI oltre al PDF." -#: ../python/frescobaldi_app/scorewiz/__init__.py:499 +#: ../python/frescobaldi_app/scorewiz/__init__.py:481 msgid "Show metronome mark" msgstr "Mostra l'indicazione per il metronomo" -#: ../python/frescobaldi_app/scorewiz/__init__.py:501 +#: ../python/frescobaldi_app/scorewiz/__init__.py:483 msgid "" "If checked, show the metronome mark at the beginning of the score. The MIDI " "output also uses the metronome setting." @@ -2225,155 +2379,163 @@ "Se selezionato, mostra l'indicazione per il metronomo all'inizio dello " "spartito. Anche l'output MIDI userà la stessa indicazione." -#: ../python/frescobaldi_app/scorewiz/__init__.py:512 +#: ../python/frescobaldi_app/scorewiz/__init__.py:487 +msgid "Wrap score in \\book block" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/__init__.py:489 +msgid "If checked, wraps the \\score block inside a \\book block." +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/__init__.py:499 msgid "Landscape" msgstr "Orizzontale" -#: ../python/frescobaldi_app/scorewiz/__init__.py:526 +#: ../python/frescobaldi_app/scorewiz/__init__.py:511 msgid "First system:" msgstr "Primo sistema:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:529 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/scorewiz/__init__.py:514 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "Long" msgstr "Per esteso" -#: ../python/frescobaldi_app/scorewiz/__init__.py:529 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/scorewiz/__init__.py:514 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "Short" msgstr "Abbreviato" -#: ../python/frescobaldi_app/scorewiz/__init__.py:531 +#: ../python/frescobaldi_app/scorewiz/__init__.py:516 msgid "Use long or short instrument names before the first system." msgstr "" "Usa il nome dello strumento abbreviato o per esteso davanti al primo sistema." -#: ../python/frescobaldi_app/scorewiz/__init__.py:535 +#: ../python/frescobaldi_app/scorewiz/__init__.py:520 msgid "Other systems:" msgstr "Gli altri sistemi:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:540 +#: ../python/frescobaldi_app/scorewiz/__init__.py:525 msgid "Use short, long or no instrument names before the next systems." msgstr "" "Usa il nome per esteso, abbreviato o non usa i nomi degli strumenti davanti " "agli altri sistemi." -#: ../python/frescobaldi_app/scorewiz/__init__.py:548 +#: ../python/frescobaldi_app/scorewiz/__init__.py:533 msgid "Which language to use for the instrument names." msgstr "La lingua da usare per i nomi degli strumenti." -#: ../python/frescobaldi_app/scorewiz/__init__.py:726 +#: ../python/frescobaldi_app/scorewiz/__init__.py:736 msgid "Remove default LilyPond tagline" msgstr "Elimina la tagline predefinita di LilyPond" -#: ../python/frescobaldi_app/scorewiz/__init__.py:1040 +#: ../python/frescobaldi_app/scorewiz/__init__.py:1077 msgid "No settings available." msgstr "Nessuna configurazione disponibile." -#: ../python/frescobaldi_app/scorewiz/parts.py:50 +#: ../python/frescobaldi_app/scorewiz/parts.py:54 msgid "Voices:" msgstr "Voci:" -#: ../python/frescobaldi_app/scorewiz/parts.py:55 +#: ../python/frescobaldi_app/scorewiz/parts.py:59 msgid "How many voices to put in this staff." msgstr "Numero di voci da mettere in questo rigo." -#: ../python/frescobaldi_app/scorewiz/parts.py:93 +#: ../python/frescobaldi_app/scorewiz/parts.py:97 msgid "Music follows here." msgstr "Qui segue la musica." -#: ../python/frescobaldi_app/scorewiz/parts.py:160 +#: ../python/frescobaldi_app/scorewiz/parts.py:164 msgid "Staff type:" msgstr "Tipo di rigo:" -#: ../python/frescobaldi_app/scorewiz/parts.py:164 +#: ../python/frescobaldi_app/scorewiz/parts.py:168 msgid "Normal staff" msgstr "Rigo normale" -#: ../python/frescobaldi_app/scorewiz/parts.py:165 +#: ../python/frescobaldi_app/scorewiz/parts.py:169 msgid "Tablature" msgstr "Intavolatura" -#: ../python/frescobaldi_app/scorewiz/parts.py:166 +#: ../python/frescobaldi_app/scorewiz/parts.py:170 msgid "Both" msgstr "Entrambi" -#: ../python/frescobaldi_app/scorewiz/parts.py:177 +#: ../python/frescobaldi_app/scorewiz/parts.py:180 msgid "Tuning:" msgstr "Accordatura:" -#: ../python/frescobaldi_app/scorewiz/parts.py:298 +#: ../python/frescobaldi_app/scorewiz/parts.py:301 msgid "Lyrics follow here." msgstr "Qui seguono le parole." -#: ../python/frescobaldi_app/scorewiz/parts.py:309 +#: ../python/frescobaldi_app/scorewiz/parts.py:312 msgid "Stanzas:" msgstr "Strofe:" -#: ../python/frescobaldi_app/scorewiz/parts.py:313 +#: ../python/frescobaldi_app/scorewiz/parts.py:316 msgid "The number of stanzas." msgstr "Numero delle strofe." -#: ../python/frescobaldi_app/scorewiz/parts.py:316 +#: ../python/frescobaldi_app/scorewiz/parts.py:319 msgid "Ambitus" msgstr "Ambitus" -#: ../python/frescobaldi_app/scorewiz/parts.py:319 +#: ../python/frescobaldi_app/scorewiz/parts.py:322 msgid "Show the pitch range of the voice at the beginning of the staff." msgstr "Mostra l'estensione della voce all'inizio del rigo." -#: ../python/frescobaldi_app/scorewiz/parts.py:383 +#: ../python/frescobaldi_app/scorewiz/parts.py:386 msgid "Adjust how many separate voices you want on each staff." msgstr "Imposta il numero di voci indipendenti per ciascun rigo." -#: ../python/frescobaldi_app/scorewiz/parts.py:384 +#: ../python/frescobaldi_app/scorewiz/parts.py:387 msgid "This is primarily useful when you write polyphonic music like a fuge." msgstr "" "Questo è utile soprattutto nella scrittura di musica polifonica, come una " "fuga." -#: ../python/frescobaldi_app/scorewiz/parts.py:388 +#: ../python/frescobaldi_app/scorewiz/parts.py:391 msgid "Right hand:" msgstr "Mano destra:" -#: ../python/frescobaldi_app/scorewiz/parts.py:389 +#: ../python/frescobaldi_app/scorewiz/parts.py:392 msgid "Left hand:" msgstr "Mano sinistra:" -#: ../python/frescobaldi_app/scorewiz/parts.py:408 -#: ../python/frescobaldi_app/scorewiz/parts.py:895 +#: ../python/frescobaldi_app/scorewiz/parts.py:411 +#: ../python/frescobaldi_app/scorewiz/parts.py:898 msgid "Chord names" msgstr "Sigle accordi" -#: ../python/frescobaldi_app/scorewiz/parts.py:420 +#: ../python/frescobaldi_app/scorewiz/parts.py:423 msgid "Chords follow here." msgstr "Qui seguono gli accordi." -#: ../python/frescobaldi_app/scorewiz/parts.py:432 +#: ../python/frescobaldi_app/scorewiz/parts.py:435 msgid "Chord style:" msgstr "Notazione degli accordi:" -#: ../python/frescobaldi_app/scorewiz/parts.py:437 +#: ../python/frescobaldi_app/scorewiz/parts.py:440 msgid "German" msgstr "Tedesca" -#: ../python/frescobaldi_app/scorewiz/parts.py:438 +#: ../python/frescobaldi_app/scorewiz/parts.py:441 msgid "Semi-German" msgstr "Semi-tedesca" -#: ../python/frescobaldi_app/scorewiz/parts.py:439 +#: ../python/frescobaldi_app/scorewiz/parts.py:442 msgid "Italian" msgstr "Italiana" -#: ../python/frescobaldi_app/scorewiz/parts.py:440 +#: ../python/frescobaldi_app/scorewiz/parts.py:443 msgid "French" msgstr "Francese" -#: ../python/frescobaldi_app/scorewiz/parts.py:441 +#: ../python/frescobaldi_app/scorewiz/parts.py:444 msgid "Guitar fret diagrams" msgstr "Grafici degli accordi per chitarra" -#: ../python/frescobaldi_app/scorewiz/parts.py:443 +#: ../python/frescobaldi_app/scorewiz/parts.py:446 msgid "" "Show predefined guitar fret diagrams below the chord names (LilyPond 2.12 " "and above)." @@ -2381,392 +2543,392 @@ "Mosta i grafici predefiniti degli accordi per chitarra sotto il nome degli " "accordi (LilyPond 2.12 e superiori)." -#: ../python/frescobaldi_app/scorewiz/parts.py:449 +#: ../python/frescobaldi_app/scorewiz/parts.py:452 msgid "Figured Bass" msgstr "Basso cifrato" -#: ../python/frescobaldi_app/scorewiz/parts.py:457 -#: ../python/frescobaldi_app/scorewiz/parts.py:516 +#: ../python/frescobaldi_app/scorewiz/parts.py:460 +#: ../python/frescobaldi_app/scorewiz/parts.py:519 msgid "Figures follow here." msgstr "Qui segue la cifratura." -#: ../python/frescobaldi_app/scorewiz/parts.py:464 +#: ../python/frescobaldi_app/scorewiz/parts.py:467 msgid "Use extender lines" msgstr "Usa le linee di estensione" -#: ../python/frescobaldi_app/scorewiz/parts.py:469 +#: ../python/frescobaldi_app/scorewiz/parts.py:472 msgid "Violin" msgstr "Violino" -#: ../python/frescobaldi_app/scorewiz/parts.py:470 +#: ../python/frescobaldi_app/scorewiz/parts.py:473 msgid "Violin|Vl." msgstr "Violino|Vl." -#: ../python/frescobaldi_app/scorewiz/parts.py:475 +#: ../python/frescobaldi_app/scorewiz/parts.py:478 msgid "Viola" msgstr "Viola" -#: ../python/frescobaldi_app/scorewiz/parts.py:476 +#: ../python/frescobaldi_app/scorewiz/parts.py:479 msgid "Viola|Vla." msgstr "Viola|V.la" -#: ../python/frescobaldi_app/scorewiz/parts.py:483 +#: ../python/frescobaldi_app/scorewiz/parts.py:486 msgid "Cello" msgstr "Violoncello" -#: ../python/frescobaldi_app/scorewiz/parts.py:484 +#: ../python/frescobaldi_app/scorewiz/parts.py:487 msgid "Cello|Cl." msgstr "Violoncello|Vlc." -#: ../python/frescobaldi_app/scorewiz/parts.py:491 +#: ../python/frescobaldi_app/scorewiz/parts.py:494 msgid "Contrabass" msgstr "Contrabbasso" -#: ../python/frescobaldi_app/scorewiz/parts.py:492 +#: ../python/frescobaldi_app/scorewiz/parts.py:495 msgid "Contrabass|Cb." msgstr "Contrabbasso|Cb." -#: ../python/frescobaldi_app/scorewiz/parts.py:499 +#: ../python/frescobaldi_app/scorewiz/parts.py:502 msgid "Basso continuo" msgstr "Basso continuo" -#: ../python/frescobaldi_app/scorewiz/parts.py:500 +#: ../python/frescobaldi_app/scorewiz/parts.py:503 msgid "Basso Continuo|B.c." msgstr "Basso continuo|Bc." -#: ../python/frescobaldi_app/scorewiz/parts.py:522 +#: ../python/frescobaldi_app/scorewiz/parts.py:525 msgid "Mandolin" msgstr "Mandolino" -#: ../python/frescobaldi_app/scorewiz/parts.py:523 +#: ../python/frescobaldi_app/scorewiz/parts.py:526 msgid "Mandolin|Mdl." msgstr "Mandolino|Mand." -#: ../python/frescobaldi_app/scorewiz/parts.py:526 +#: ../python/frescobaldi_app/scorewiz/parts.py:529 msgid "Mandolin tuning" msgstr "Accordatura per mandolino" -#: ../python/frescobaldi_app/scorewiz/parts.py:531 +#: ../python/frescobaldi_app/scorewiz/parts.py:534 msgid "Banjo" msgstr "Banjo" -#: ../python/frescobaldi_app/scorewiz/parts.py:532 +#: ../python/frescobaldi_app/scorewiz/parts.py:535 msgid "Banjo|Bj." msgstr "Banjo|Banj." -#: ../python/frescobaldi_app/scorewiz/parts.py:536 +#: ../python/frescobaldi_app/scorewiz/parts.py:539 msgid "Open G-tuning (aDGBD)" msgstr "Accordatura Open G (sol-RE-SOL-SI-RE)" -#: ../python/frescobaldi_app/scorewiz/parts.py:537 +#: ../python/frescobaldi_app/scorewiz/parts.py:540 msgid "C-tuning (gCGBD)" msgstr "Accordatura in do (sol-DO-SOL-SI-RE)" -#: ../python/frescobaldi_app/scorewiz/parts.py:538 +#: ../python/frescobaldi_app/scorewiz/parts.py:541 msgid "Modal tuning (gDGCD)" msgstr "Accordatura modale (sol-RE-SOL-DO-RE)" -#: ../python/frescobaldi_app/scorewiz/parts.py:539 +#: ../python/frescobaldi_app/scorewiz/parts.py:542 msgid "Open D-tuning (aDF#AD)" msgstr "Accordatura Open D (la-RE-FA#-LA-RE)" -#: ../python/frescobaldi_app/scorewiz/parts.py:540 +#: ../python/frescobaldi_app/scorewiz/parts.py:543 msgid "Open Dm-tuning (aDFAD)" msgstr "Accordatura Open Dm (la-RE-FA-LA-RE)" -#: ../python/frescobaldi_app/scorewiz/parts.py:544 +#: ../python/frescobaldi_app/scorewiz/parts.py:547 msgid "Four strings (instead of five)" msgstr "Quattro corde (al posto di cinque)" -#: ../python/frescobaldi_app/scorewiz/parts.py:561 +#: ../python/frescobaldi_app/scorewiz/parts.py:564 msgid "Classical guitar" msgstr "Chitarra classica" -#: ../python/frescobaldi_app/scorewiz/parts.py:562 +#: ../python/frescobaldi_app/scorewiz/parts.py:565 msgid "Guitar|Gt." msgstr "Chitarra|Chit." -#: ../python/frescobaldi_app/scorewiz/parts.py:566 +#: ../python/frescobaldi_app/scorewiz/parts.py:569 msgid "Guitar tuning" msgstr "Accordatura per chitarra" -#: ../python/frescobaldi_app/scorewiz/parts.py:567 +#: ../python/frescobaldi_app/scorewiz/parts.py:570 msgid "Open G-tuning" msgstr "Accordatura Open G" -#: ../python/frescobaldi_app/scorewiz/parts.py:579 +#: ../python/frescobaldi_app/scorewiz/parts.py:582 msgid "Jazz guitar" msgstr "Chitarra jazz" -#: ../python/frescobaldi_app/scorewiz/parts.py:580 +#: ../python/frescobaldi_app/scorewiz/parts.py:583 msgid "Jazz guitar|J.Gt." msgstr "Chitarra jazz|Chit. j." -#: ../python/frescobaldi_app/scorewiz/parts.py:586 +#: ../python/frescobaldi_app/scorewiz/parts.py:589 msgid "Bass|Bs." msgstr "Basso|B." -#: ../python/frescobaldi_app/scorewiz/parts.py:591 +#: ../python/frescobaldi_app/scorewiz/parts.py:594 msgid "Bass tuning" msgstr "Accordatura per basso" -#: ../python/frescobaldi_app/scorewiz/parts.py:596 +#: ../python/frescobaldi_app/scorewiz/parts.py:599 msgid "Electric bass" msgstr "Basso elettrico" -#: ../python/frescobaldi_app/scorewiz/parts.py:597 +#: ../python/frescobaldi_app/scorewiz/parts.py:600 msgid "Electric bass|E.Bs." msgstr "Basso elettrico|B. el." -#: ../python/frescobaldi_app/scorewiz/parts.py:602 +#: ../python/frescobaldi_app/scorewiz/parts.py:605 msgid "Harp" msgstr "Arpa" -#: ../python/frescobaldi_app/scorewiz/parts.py:603 +#: ../python/frescobaldi_app/scorewiz/parts.py:606 msgid "Harp|Hp." msgstr "Arpa|Arp." -#: ../python/frescobaldi_app/scorewiz/parts.py:618 +#: ../python/frescobaldi_app/scorewiz/parts.py:621 msgid "Upper staff:" msgstr "Rigo superiore:" -#: ../python/frescobaldi_app/scorewiz/parts.py:619 +#: ../python/frescobaldi_app/scorewiz/parts.py:622 msgid "Lower staff:" msgstr "Rigo inferiore:" -#: ../python/frescobaldi_app/scorewiz/parts.py:623 +#: ../python/frescobaldi_app/scorewiz/parts.py:626 msgid "Flute" msgstr "Flauto" -#: ../python/frescobaldi_app/scorewiz/parts.py:624 +#: ../python/frescobaldi_app/scorewiz/parts.py:627 msgid "Flute|Fl." msgstr "Flauto|Fl." -#: ../python/frescobaldi_app/scorewiz/parts.py:629 +#: ../python/frescobaldi_app/scorewiz/parts.py:632 msgid "Piccolo" msgstr "Ottavino" -#: ../python/frescobaldi_app/scorewiz/parts.py:630 +#: ../python/frescobaldi_app/scorewiz/parts.py:633 msgid "Piccolo|Pic." msgstr "Ottavino|Ott." -#: ../python/frescobaldi_app/scorewiz/parts.py:636 +#: ../python/frescobaldi_app/scorewiz/parts.py:639 msgid "Bass flute" msgstr "Flauto basso" -#: ../python/frescobaldi_app/scorewiz/parts.py:637 +#: ../python/frescobaldi_app/scorewiz/parts.py:640 msgid "Bass flute|Bfl." msgstr "Flauto basso|Fl. b." -#: ../python/frescobaldi_app/scorewiz/parts.py:643 +#: ../python/frescobaldi_app/scorewiz/parts.py:646 msgid "Oboe" msgstr "Oboe" -#: ../python/frescobaldi_app/scorewiz/parts.py:644 +#: ../python/frescobaldi_app/scorewiz/parts.py:647 msgid "Oboe|Ob." msgstr "Oboe|Ob." -#: ../python/frescobaldi_app/scorewiz/parts.py:649 +#: ../python/frescobaldi_app/scorewiz/parts.py:652 msgid "Oboe d'Amore" msgstr "Oboe d'amore" -#: ../python/frescobaldi_app/scorewiz/parts.py:650 +#: ../python/frescobaldi_app/scorewiz/parts.py:653 msgid "Oboe d'amore|Ob.d'am." msgstr "Oboe d'amore|Ob. am." -#: ../python/frescobaldi_app/scorewiz/parts.py:656 +#: ../python/frescobaldi_app/scorewiz/parts.py:659 msgid "English Horn" msgstr "Corno inglese" -#: ../python/frescobaldi_app/scorewiz/parts.py:657 +#: ../python/frescobaldi_app/scorewiz/parts.py:660 msgid "English horn|Eng.h." msgstr "Corno inglese|Cor. ing." -#: ../python/frescobaldi_app/scorewiz/parts.py:663 +#: ../python/frescobaldi_app/scorewiz/parts.py:666 msgid "Bassoon" msgstr "Fagotto" -#: ../python/frescobaldi_app/scorewiz/parts.py:664 +#: ../python/frescobaldi_app/scorewiz/parts.py:667 msgid "Bassoon|Bn." msgstr "Fagotto|Fag." -#: ../python/frescobaldi_app/scorewiz/parts.py:671 +#: ../python/frescobaldi_app/scorewiz/parts.py:674 msgid "Contrabassoon" msgstr "Controfagotto" -#: ../python/frescobaldi_app/scorewiz/parts.py:672 +#: ../python/frescobaldi_app/scorewiz/parts.py:675 msgid "Contrabassoon|C.Bn." msgstr "Controfagotto|Cfag." -#: ../python/frescobaldi_app/scorewiz/parts.py:680 +#: ../python/frescobaldi_app/scorewiz/parts.py:683 msgid "Clarinet" msgstr "Clarinetto" -#: ../python/frescobaldi_app/scorewiz/parts.py:681 +#: ../python/frescobaldi_app/scorewiz/parts.py:684 msgid "Clarinet|Cl." msgstr "Clarinetto|Cl." -#: ../python/frescobaldi_app/scorewiz/parts.py:687 +#: ../python/frescobaldi_app/scorewiz/parts.py:690 msgid "Sopranino Sax" msgstr "Sassofono sopranino" -#: ../python/frescobaldi_app/scorewiz/parts.py:688 +#: ../python/frescobaldi_app/scorewiz/parts.py:691 msgid "Sopranino Sax|SiSx." msgstr "Sassofono sopranino|Sax. s.no" -#: ../python/frescobaldi_app/scorewiz/parts.py:694 +#: ../python/frescobaldi_app/scorewiz/parts.py:697 msgid "Soprano Sax" msgstr "Sassofono soprano" -#: ../python/frescobaldi_app/scorewiz/parts.py:695 +#: ../python/frescobaldi_app/scorewiz/parts.py:698 msgid "Soprano Sax|SoSx." msgstr "Sassofono soprano|Sax. s." -#: ../python/frescobaldi_app/scorewiz/parts.py:701 +#: ../python/frescobaldi_app/scorewiz/parts.py:704 msgid "Alto Sax" msgstr "Sassofono contralto" -#: ../python/frescobaldi_app/scorewiz/parts.py:702 +#: ../python/frescobaldi_app/scorewiz/parts.py:705 msgid "Alto Sax|ASx." msgstr "Sassofono contralto|Sax. a." -#: ../python/frescobaldi_app/scorewiz/parts.py:708 +#: ../python/frescobaldi_app/scorewiz/parts.py:711 msgid "Tenor Sax" msgstr "Sassofono tenore" -#: ../python/frescobaldi_app/scorewiz/parts.py:709 +#: ../python/frescobaldi_app/scorewiz/parts.py:712 msgid "Tenor Sax|TSx." msgstr "Sassofono tenore|Sax. t." -#: ../python/frescobaldi_app/scorewiz/parts.py:715 +#: ../python/frescobaldi_app/scorewiz/parts.py:718 msgid "Baritone Sax" msgstr "Sassofono baritono" -#: ../python/frescobaldi_app/scorewiz/parts.py:716 +#: ../python/frescobaldi_app/scorewiz/parts.py:719 msgid "Baritone Sax|BSx." msgstr "Sassofono baritono|Sax. br." -#: ../python/frescobaldi_app/scorewiz/parts.py:722 +#: ../python/frescobaldi_app/scorewiz/parts.py:725 msgid "Bass Sax" msgstr "Sassofono basso" -#: ../python/frescobaldi_app/scorewiz/parts.py:723 +#: ../python/frescobaldi_app/scorewiz/parts.py:726 msgid "Bass Sax|BsSx." msgstr "Sassofono basso|Sax. b." -#: ../python/frescobaldi_app/scorewiz/parts.py:729 +#: ../python/frescobaldi_app/scorewiz/parts.py:732 msgid "Soprano recorder" msgstr "Flauto dolce soprano" -#: ../python/frescobaldi_app/scorewiz/parts.py:730 +#: ../python/frescobaldi_app/scorewiz/parts.py:733 msgid "Soprano recorder|S.rec." msgstr "Flauto dolce soprano|Rec. s." -#: ../python/frescobaldi_app/scorewiz/parts.py:736 +#: ../python/frescobaldi_app/scorewiz/parts.py:739 msgid "Alto recorder" msgstr "Flauto dolce contralto" -#: ../python/frescobaldi_app/scorewiz/parts.py:737 +#: ../python/frescobaldi_app/scorewiz/parts.py:740 msgid "Alto recorder|A.rec." msgstr "Flauto dolce contralto|Rec. a." -#: ../python/frescobaldi_app/scorewiz/parts.py:742 +#: ../python/frescobaldi_app/scorewiz/parts.py:745 msgid "Tenor recorder" msgstr "Flauto dolce tenore" -#: ../python/frescobaldi_app/scorewiz/parts.py:743 +#: ../python/frescobaldi_app/scorewiz/parts.py:746 msgid "Tenor recorder|T.rec." msgstr "Flauto dolce tenore|Rec. t." -#: ../python/frescobaldi_app/scorewiz/parts.py:748 +#: ../python/frescobaldi_app/scorewiz/parts.py:751 msgid "Bass recorder" msgstr "Flauto dolce basso" -#: ../python/frescobaldi_app/scorewiz/parts.py:749 +#: ../python/frescobaldi_app/scorewiz/parts.py:752 msgid "Bass recorder|B.rec." msgstr "Flauto dolce basso|Rec. b." -#: ../python/frescobaldi_app/scorewiz/parts.py:756 +#: ../python/frescobaldi_app/scorewiz/parts.py:759 msgid "Horn in F" msgstr "Corno in Fa" -#: ../python/frescobaldi_app/scorewiz/parts.py:757 +#: ../python/frescobaldi_app/scorewiz/parts.py:760 msgid "Horn in F|Hn.F." msgstr "Corno in fa|Cor, in fa" -#: ../python/frescobaldi_app/scorewiz/parts.py:763 +#: ../python/frescobaldi_app/scorewiz/parts.py:766 msgid "Trumpet in C" msgstr "Tromba in do" -#: ../python/frescobaldi_app/scorewiz/parts.py:764 +#: ../python/frescobaldi_app/scorewiz/parts.py:767 msgid "Trumpet in C|Tr.C" msgstr "Tromba in do|Tr. in do" -#: ../python/frescobaldi_app/scorewiz/parts.py:769 +#: ../python/frescobaldi_app/scorewiz/parts.py:772 msgid "Trumpet in Bb" msgstr "Tromba in sib" -#: ../python/frescobaldi_app/scorewiz/parts.py:770 +#: ../python/frescobaldi_app/scorewiz/parts.py:773 msgid "Trumpet in Bb|Tr.Bb" msgstr "Tromba in sib|Tr. in sib" -#: ../python/frescobaldi_app/scorewiz/parts.py:775 +#: ../python/frescobaldi_app/scorewiz/parts.py:778 msgid "Trombone" msgstr "Trombone" -#: ../python/frescobaldi_app/scorewiz/parts.py:776 +#: ../python/frescobaldi_app/scorewiz/parts.py:779 msgid "Trombone|Trb." msgstr "Trombone|Trb." -#: ../python/frescobaldi_app/scorewiz/parts.py:783 +#: ../python/frescobaldi_app/scorewiz/parts.py:786 msgid "Tuba" msgstr "Tuba" -#: ../python/frescobaldi_app/scorewiz/parts.py:784 +#: ../python/frescobaldi_app/scorewiz/parts.py:787 msgid "Tuba|Tb." msgstr "Tuba|T.ba" -#: ../python/frescobaldi_app/scorewiz/parts.py:790 +#: ../python/frescobaldi_app/scorewiz/parts.py:793 msgid "Bass Tuba" msgstr "Basso tuba" -#: ../python/frescobaldi_app/scorewiz/parts.py:791 +#: ../python/frescobaldi_app/scorewiz/parts.py:794 msgid "Bass Tuba|B.Tb." msgstr "Basso tuba|T.ba b." -#: ../python/frescobaldi_app/scorewiz/parts.py:799 +#: ../python/frescobaldi_app/scorewiz/parts.py:802 msgid "Soprano" msgstr "Soprano" -#: ../python/frescobaldi_app/scorewiz/parts.py:800 +#: ../python/frescobaldi_app/scorewiz/parts.py:803 msgid "Soprano|S." msgstr "Soprano|S." -#: ../python/frescobaldi_app/scorewiz/parts.py:804 +#: ../python/frescobaldi_app/scorewiz/parts.py:807 msgid "Mezzo soprano" msgstr "Mezzosoprano" -#: ../python/frescobaldi_app/scorewiz/parts.py:805 +#: ../python/frescobaldi_app/scorewiz/parts.py:808 msgid "Mezzo-soprano|Ms." msgstr "Mezzosoprano|Mzs." -#: ../python/frescobaldi_app/scorewiz/parts.py:810 +#: ../python/frescobaldi_app/scorewiz/parts.py:813 msgid "Alto|A." msgstr "Contralto|A." -#: ../python/frescobaldi_app/scorewiz/parts.py:816 +#: ../python/frescobaldi_app/scorewiz/parts.py:819 msgid "Tenor|T." msgstr "Tenore|T." -#: ../python/frescobaldi_app/scorewiz/parts.py:823 +#: ../python/frescobaldi_app/scorewiz/parts.py:826 msgid "Bass|B." msgstr "Basso|B." -#: ../python/frescobaldi_app/scorewiz/parts.py:829 +#: ../python/frescobaldi_app/scorewiz/parts.py:832 msgid "Lead sheet" msgstr "Spartito semplificato" -#: ../python/frescobaldi_app/scorewiz/parts.py:891 +#: ../python/frescobaldi_app/scorewiz/parts.py:894 msgid "" "The Lead Sheet provides a staff with chord names above and lyrics below it. " "A second staff is optional." @@ -2775,11 +2937,11 @@ "musicale per la melodia, con sopra le sigle degli accordi e sotto le parole. " "Si può aggiungere anche un secondo rigo." -#: ../python/frescobaldi_app/scorewiz/parts.py:902 +#: ../python/frescobaldi_app/scorewiz/parts.py:905 msgid "Add accompaniment staff" msgstr "Aggiungi rigo di accompagnamento" -#: ../python/frescobaldi_app/scorewiz/parts.py:904 +#: ../python/frescobaldi_app/scorewiz/parts.py:907 msgid "" "Adds an accompaniment staff and also puts an accompaniment voice in the " "upper staff." @@ -2787,11 +2949,11 @@ "Aggiunge un rigo di accompagnamento e, nel rigo superiore, una voce di " "accompagnamento." -#: ../python/frescobaldi_app/scorewiz/parts.py:911 +#: ../python/frescobaldi_app/scorewiz/parts.py:914 msgid "Choir" msgstr "Coro" -#: ../python/frescobaldi_app/scorewiz/parts.py:915 +#: ../python/frescobaldi_app/scorewiz/parts.py:918 msgid "" "Please select the voices for the choir. Use the letters S, A, T, or B. A " "hyphen denotes a new staff." @@ -2799,37 +2961,39 @@ "Scegliere le voci del coro. Usare le lettere S, A, T o B. Un trattino indica " "un nuovo rigo." -#: ../python/frescobaldi_app/scorewiz/parts.py:917 +#: ../python/frescobaldi_app/scorewiz/parts.py:920 msgid "Hint: For a double choir you can use two choir parts." msgstr "Consiglio: Per un doppio coro, usare due cori." -#: ../python/frescobaldi_app/scorewiz/parts.py:922 +#: ../python/frescobaldi_app/scorewiz/parts.py:925 msgid "Voicing:" msgstr "Voci:" -#: ../python/frescobaldi_app/scorewiz/parts.py:936 -msgid "Lyrics" +#: ../python/frescobaldi_app/scorewiz/parts.py:942 +#, fuzzy +msgid "Lyrics:" msgstr "Parole" -#: ../python/frescobaldi_app/scorewiz/parts.py:940 +#: ../python/frescobaldi_app/scorewiz/parts.py:946 msgid "All voices same lyrics" msgstr "Stesse parole per tutte le voci" -#: ../python/frescobaldi_app/scorewiz/parts.py:943 -msgid "One set of the same lyrics is placed between all staves." +#: ../python/frescobaldi_app/scorewiz/parts.py:947 +#, fuzzy +msgid "A set of the same lyrics is placed between all staves." msgstr "Un solo blocco di parole verrà inserito tra tutti i righi." -#: ../python/frescobaldi_app/scorewiz/parts.py:945 +#: ../python/frescobaldi_app/scorewiz/parts.py:948 msgid "Every voice same lyrics" msgstr "Stesse parole per ogni voce" -#: ../python/frescobaldi_app/scorewiz/parts.py:947 +#: ../python/frescobaldi_app/scorewiz/parts.py:949 msgid "" "Every voice gets its own lyrics, using the same text as the other voices." msgstr "" "Ogni voce avrà il suo blocco di parole, con le stesse parole per ogni voce." -#: ../python/frescobaldi_app/scorewiz/parts.py:950 +#: ../python/frescobaldi_app/scorewiz/parts.py:951 msgid "Every voice different lyrics" msgstr "Parole diverse per ciascuna voce" @@ -2837,190 +3001,219 @@ msgid "Every voice gets a different set of lyrics." msgstr "Ogni voce avrà un proprio blocco di parole." -#: ../python/frescobaldi_app/scorewiz/parts.py:956 +#: ../python/frescobaldi_app/scorewiz/parts.py:953 +msgid "Distribute stanzas" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:954 +#, fuzzy +msgid "One set of stanzas is distributed across the staves." +msgstr "Un solo blocco di parole verrà inserito tra tutti i righi." + +#: ../python/frescobaldi_app/scorewiz/parts.py:959 msgid "Piano reduction" msgstr "Riduzione per pianoforte" -#: ../python/frescobaldi_app/scorewiz/parts.py:958 +#: ../python/frescobaldi_app/scorewiz/parts.py:961 msgid "Adds an automatically generated piano reduction." msgstr "Aggiunge una riduzione per pianoforte generata automaticamente." -#: ../python/frescobaldi_app/scorewiz/parts.py:983 +#: ../python/frescobaldi_app/scorewiz/parts.py:963 +msgid "Rehearsal MIDI files" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:965 +msgid "" +"Creates a rehearsal MIDI file for every voice, even if no MIDI output is " +"generated for the main score." +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:1017 msgid "Choir|Ch." msgstr "Coro|Coro" -#: ../python/frescobaldi_app/scorewiz/parts.py:1199 +#: ../python/frescobaldi_app/scorewiz/parts.py:1262 +msgid "Rehearsal MIDI files:" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:1309 msgid "Piano" msgstr "Pianoforte" -#: ../python/frescobaldi_app/scorewiz/parts.py:1200 +#: ../python/frescobaldi_app/scorewiz/parts.py:1310 msgid "Piano|Pno." msgstr "Pianoforte|Pf." -#: ../python/frescobaldi_app/scorewiz/parts.py:1205 +#: ../python/frescobaldi_app/scorewiz/parts.py:1315 msgid "Harpsichord" msgstr "Cembalo" -#: ../python/frescobaldi_app/scorewiz/parts.py:1206 +#: ../python/frescobaldi_app/scorewiz/parts.py:1316 msgid "Harpsichord|Hs." msgstr "Cembalo|Cemb." -#: ../python/frescobaldi_app/scorewiz/parts.py:1211 +#: ../python/frescobaldi_app/scorewiz/parts.py:1321 msgid "Clavichord" msgstr "Clavicordo" -#: ../python/frescobaldi_app/scorewiz/parts.py:1212 +#: ../python/frescobaldi_app/scorewiz/parts.py:1322 msgid "Clavichord|Clv." msgstr "Clavicordo|Clvd." -#: ../python/frescobaldi_app/scorewiz/parts.py:1217 +#: ../python/frescobaldi_app/scorewiz/parts.py:1327 msgid "Organ" msgstr "Organo" -#: ../python/frescobaldi_app/scorewiz/parts.py:1218 +#: ../python/frescobaldi_app/scorewiz/parts.py:1328 msgid "Organ|Org." msgstr "Organo|Org." -#: ../python/frescobaldi_app/scorewiz/parts.py:1223 +#: ../python/frescobaldi_app/scorewiz/parts.py:1333 msgid "Pedal:" msgstr "Pedale:" -#: ../python/frescobaldi_app/scorewiz/parts.py:1224 +#: ../python/frescobaldi_app/scorewiz/parts.py:1334 msgid "Set to 0 to disable the pedal altogether." msgstr "Impostare a 0 per togliere il rigo del pedale." -#: ../python/frescobaldi_app/scorewiz/parts.py:1234 +#: ../python/frescobaldi_app/scorewiz/parts.py:1344 msgid "Celesta" msgstr "Celesta" -#: ../python/frescobaldi_app/scorewiz/parts.py:1235 +#: ../python/frescobaldi_app/scorewiz/parts.py:1345 msgid "Celesta|Cel." msgstr "Celesta|Cel." -#: ../python/frescobaldi_app/scorewiz/parts.py:1240 +#: ../python/frescobaldi_app/scorewiz/parts.py:1350 msgid "Timpani" msgstr "Timpani" -#: ../python/frescobaldi_app/scorewiz/parts.py:1241 +#: ../python/frescobaldi_app/scorewiz/parts.py:1351 msgid "Timpani|Tmp." msgstr "Timpani|Timp." -#: ../python/frescobaldi_app/scorewiz/parts.py:1248 +#: ../python/frescobaldi_app/scorewiz/parts.py:1358 msgid "Xylophone" msgstr "Xilofono" -#: ../python/frescobaldi_app/scorewiz/parts.py:1249 +#: ../python/frescobaldi_app/scorewiz/parts.py:1359 msgid "Xylophone|Xyl." msgstr "Xilofono|Xil." -#: ../python/frescobaldi_app/scorewiz/parts.py:1254 +#: ../python/frescobaldi_app/scorewiz/parts.py:1364 msgid "Marimba" msgstr "Marimba" -#: ../python/frescobaldi_app/scorewiz/parts.py:1255 +#: ../python/frescobaldi_app/scorewiz/parts.py:1365 msgid "Marimba|Mar." msgstr "Marimba|Mar." -#: ../python/frescobaldi_app/scorewiz/parts.py:1260 +#: ../python/frescobaldi_app/scorewiz/parts.py:1370 msgid "Vibraphone" msgstr "Vibrafono" -#: ../python/frescobaldi_app/scorewiz/parts.py:1261 +#: ../python/frescobaldi_app/scorewiz/parts.py:1371 msgid "Vibraphone|Vib." msgstr "Vibrafono|Vibr." -#: ../python/frescobaldi_app/scorewiz/parts.py:1266 +#: ../python/frescobaldi_app/scorewiz/parts.py:1376 msgid "Tubular bells" msgstr "Campane tubolari" -#: ../python/frescobaldi_app/scorewiz/parts.py:1267 +#: ../python/frescobaldi_app/scorewiz/parts.py:1377 msgid "Tubular bells|Tub." msgstr "Campane tubolari|Camp." -#: ../python/frescobaldi_app/scorewiz/parts.py:1272 +#: ../python/frescobaldi_app/scorewiz/parts.py:1382 msgid "Glockenspiel" msgstr "Glockenspiel" -#: ../python/frescobaldi_app/scorewiz/parts.py:1273 +#: ../python/frescobaldi_app/scorewiz/parts.py:1383 msgid "Glockenspiel|Gls." msgstr "Glockenspiel|Glock." -#: ../python/frescobaldi_app/scorewiz/parts.py:1278 +#: ../python/frescobaldi_app/scorewiz/parts.py:1388 msgid "Drums" msgstr "Batteria" -#: ../python/frescobaldi_app/scorewiz/parts.py:1279 +#: ../python/frescobaldi_app/scorewiz/parts.py:1389 msgid "Drums|Dr." msgstr "Batteria|Batt." -#: ../python/frescobaldi_app/scorewiz/parts.py:1289 +#: ../python/frescobaldi_app/scorewiz/parts.py:1399 msgid "Drums follow here." msgstr "Qui segue la batteria." -#: ../python/frescobaldi_app/scorewiz/parts.py:1315 +#: ../python/frescobaldi_app/scorewiz/parts.py:1424 msgid "keep some distance." msgstr "distanziare un poco." -#: ../python/frescobaldi_app/scorewiz/parts.py:1322 +#: ../python/frescobaldi_app/scorewiz/parts.py:1432 msgid "Style:" msgstr "Tipo:" -#: ../python/frescobaldi_app/scorewiz/parts.py:1326 +#: ../python/frescobaldi_app/scorewiz/parts.py:1436 msgid "Drums (5 lines, default)" msgstr "Batteria (5 linee, predefinito)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1327 +#: ../python/frescobaldi_app/scorewiz/parts.py:1437 msgid "Timbales-style (2 lines)" msgstr "Tipo timbales (2 linee)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1328 +#: ../python/frescobaldi_app/scorewiz/parts.py:1438 msgid "Congas-style (2 lines)" msgstr "Tipo conga (2 linee)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1329 +#: ../python/frescobaldi_app/scorewiz/parts.py:1439 msgid "Bongos-style (2 lines)" msgstr "Tipo bongo (2 linee)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1330 +#: ../python/frescobaldi_app/scorewiz/parts.py:1440 msgid "Percussion-style (1 line)" msgstr "Tipo percussione (1 linea)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1331 +#: ../python/frescobaldi_app/scorewiz/parts.py:1441 msgid "Remove stems" msgstr "Togli i gambi" -#: ../python/frescobaldi_app/scorewiz/parts.py:1332 +#: ../python/frescobaldi_app/scorewiz/parts.py:1442 msgid "Remove the stems from the drum notes." msgstr "Toglie i gambi dalle note della batteria." -#: ../python/frescobaldi_app/scorewiz/parts.py:1341 +#: ../python/frescobaldi_app/scorewiz/parts.py:1451 msgid "Strings" msgstr "Archi" -#: ../python/frescobaldi_app/scorewiz/parts.py:1348 +#: ../python/frescobaldi_app/scorewiz/parts.py:1458 msgid "Plucked strings" msgstr "Strumenti a pizzico" -#: ../python/frescobaldi_app/scorewiz/parts.py:1357 +#: ../python/frescobaldi_app/scorewiz/parts.py:1467 msgid "Woodwinds" msgstr "Fiati" -#: ../python/frescobaldi_app/scorewiz/parts.py:1378 +#: ../python/frescobaldi_app/scorewiz/parts.py:1488 msgid "Brass" msgstr "Ottoni" -#: ../python/frescobaldi_app/scorewiz/parts.py:1386 +#: ../python/frescobaldi_app/scorewiz/parts.py:1496 msgid "Vocal" msgstr "Voci" -#: ../python/frescobaldi_app/scorewiz/parts.py:1395 +#: ../python/frescobaldi_app/scorewiz/parts.py:1505 msgid "Keyboard instruments" msgstr "Strumenti a tastiera" -#: ../python/frescobaldi_app/scorewiz/parts.py:1411 +#: ../python/frescobaldi_app/scorewiz/parts.py:1521 msgid "Special" msgstr "Altri" +#~ msgid "Space above:" +#~ msgstr "Spazio sopra:" + +#~ msgid "Name or full path of the convert-ly program." +#~ msgstr "Nome o percorso completo di convert-ly." + #~ msgid "Expand" #~ msgstr "Espandi" Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/po/nl.mo and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/po/nl.mo differ diff -Nru frescobaldi-1.0.2/po/nl.po frescobaldi-1.1.1/po/nl.po --- frescobaldi-1.0.2/po/nl.po 2010-02-18 08:12:03.000000000 +0000 +++ frescobaldi-1.1.1/po/nl.po 2010-05-03 19:31:55.000000000 +0100 @@ -7,8 +7,8 @@ msgstr "" "Project-Id-Version: nl\n" "Report-Msgid-Bugs-To: info@frescobaldi.org\n" -"POT-Creation-Date: 2010-02-16 10:04+0100\n" -"PO-Revision-Date: 2010-01-17 07:36+0100\n" +"POT-Creation-Date: 2010-05-03 20:28+0200\n" +"PO-Revision-Date: 2010-03-26 15:14+0100\n" "Last-Translator: Wilbert Berendsen \n" "Language-Team: Nederlands \n" "MIME-Version: 1.0\n" @@ -18,53 +18,53 @@ "X-Generator: Lokalize 1.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../frescobaldi.py:32 dummy.py:16 +#: ../frescobaldi.py:37 dummy.py:16 msgid "Frescobaldi" msgstr "Frescobaldi" -#: ../frescobaldi.py:34 dummy.py:17 +#: ../frescobaldi.py:39 dummy.py:17 msgid "LilyPond Music Editor" msgstr "Muziek-editor voor LilyPond" -#: ../frescobaldi.py:36 +#: ../frescobaldi.py:41 msgid "Copyright (c) 2008-2010, Wilbert Berendsen" msgstr "Copyright (c) 2008-2010, Wilbert Berendsen" -#: ../frescobaldi.py:45 +#: ../frescobaldi.py:50 msgctxt "NAME OF TRANSLATORS" msgid "Your name" msgstr "Wilbert Berendsen" -#: ../frescobaldi.py:46 +#: ../frescobaldi.py:51 msgctxt "EMAIL OF TRANSLATORS" msgid "i18n@frescobaldi.org" msgstr "" -#: ../frescobaldi.py:52 +#: ../frescobaldi.py:57 msgid "Session to start" msgstr "Te starten sessie" -#: ../frescobaldi.py:53 +#: ../frescobaldi.py:58 msgid "Start a new instance" msgstr "Een nieuw proces starten" -#: ../frescobaldi.py:54 +#: ../frescobaldi.py:59 msgid "Encoding to use" msgstr "Te gebruiken tekenset" -#: ../frescobaldi.py:55 +#: ../frescobaldi.py:60 msgid "Line number to go to, starting at 1" msgstr "Ga naar regel (start met 1)" -#: ../frescobaldi.py:56 +#: ../frescobaldi.py:61 msgid "Column to go to, starting at 0" msgstr "Ga naar kolom (start met 0)" -#: ../frescobaldi.py:57 +#: ../frescobaldi.py:62 msgid "Try to use smart line and column numbers" msgstr "Probeer slimme regel- en kolomnummers te gebruiken" -#: ../frescobaldi.py:58 +#: ../frescobaldi.py:63 msgid "LilyPond files to open, may also be textedit URLs" msgstr "Te openen LilyPond-bestanden, mogen ook textedit URLs zijn" @@ -104,344 +104,352 @@ msgid "&Extra Tools" msgstr "&Extra gereedschappen" -#: ../python/ly/__init__.py:94 +#: ../python/ly/__init__.py:81 msgid "Dedication" msgstr "Opdracht" -#: ../python/ly/__init__.py:95 +#: ../python/ly/__init__.py:82 msgid "Title" msgstr "Titel" -#: ../python/ly/__init__.py:96 +#: ../python/ly/__init__.py:83 msgid "Subtitle" msgstr "Subtitel" -#: ../python/ly/__init__.py:97 +#: ../python/ly/__init__.py:84 msgid "Subsubtitle" msgstr "Subsubtitel" -#: ../python/ly/__init__.py:98 +#: ../python/ly/__init__.py:85 msgid "Instrument" msgstr "Instrument" -#: ../python/ly/__init__.py:99 +#: ../python/ly/__init__.py:86 msgid "Composer" msgstr "Componist" -#: ../python/ly/__init__.py:100 +#: ../python/ly/__init__.py:87 msgid "Arranger" msgstr "Arrangeur" -#: ../python/ly/__init__.py:101 +#: ../python/ly/__init__.py:88 msgid "Poet" msgstr "Dichter" -#: ../python/ly/__init__.py:102 +#: ../python/ly/__init__.py:89 msgid "Meter" msgstr "Versvoet" -#: ../python/ly/__init__.py:103 +#: ../python/ly/__init__.py:90 msgid "Piece" msgstr "Werk" -#: ../python/ly/__init__.py:104 +#: ../python/ly/__init__.py:91 msgid "Opus" msgstr "Opus" -#: ../python/ly/__init__.py:105 +#: ../python/ly/__init__.py:92 msgid "Copyright" msgstr "Copyright" -#: ../python/ly/__init__.py:106 +#: ../python/ly/__init__.py:93 msgid "Tagline" msgstr "Tagline" -#: ../python/ly/__init__.py:114 +#: ../python/ly/__init__.py:101 msgid "Major" msgstr "Majeur" -#: ../python/ly/__init__.py:115 +#: ../python/ly/__init__.py:102 msgid "Minor" msgstr "Mineur" -#: ../python/ly/__init__.py:116 +#: ../python/ly/__init__.py:103 msgid "Ionian" msgstr "Ionisch" -#: ../python/ly/__init__.py:117 +#: ../python/ly/__init__.py:104 msgid "Dorian" msgstr "Dorisch" -#: ../python/ly/__init__.py:118 +#: ../python/ly/__init__.py:105 msgid "Phrygian" msgstr "Phrygisch" -#: ../python/ly/__init__.py:119 +#: ../python/ly/__init__.py:106 msgid "Lydian" msgstr "Lydisch" -#: ../python/ly/__init__.py:120 +#: ../python/ly/__init__.py:107 msgid "Mixolydian" msgstr "Mixolydisch" -#: ../python/ly/__init__.py:121 +#: ../python/ly/__init__.py:108 msgid "Aeolian" msgstr "Aeolisch" -#: ../python/ly/__init__.py:122 +#: ../python/ly/__init__.py:109 msgid "Locrian" msgstr "Locrisch" -#: ../python/ly/articulation.py:33 +#: ../python/ly/articulation.py:35 msgid "Articulation" msgstr "Articulatie" -#: ../python/ly/articulation.py:34 +#: ../python/ly/articulation.py:36 msgid "Accent" msgstr "Accent" -#: ../python/ly/articulation.py:35 +#: ../python/ly/articulation.py:37 msgid "Marcato" msgstr "Marcato" -#: ../python/ly/articulation.py:36 +#: ../python/ly/articulation.py:38 msgid "Staccatissimo" msgstr "Staccatissimo" -#: ../python/ly/articulation.py:37 +#: ../python/ly/articulation.py:39 msgid "Staccato" msgstr "Staccato" -#: ../python/ly/articulation.py:38 +#: ../python/ly/articulation.py:40 msgid "Portato" msgstr "Portato" -#: ../python/ly/articulation.py:39 +#: ../python/ly/articulation.py:41 msgid "Tenuto" msgstr "Tenuto" -#: ../python/ly/articulation.py:40 +#: ../python/ly/articulation.py:42 msgid "Espressivo" msgstr "Espressivo" -#: ../python/ly/articulation.py:42 +#: ../python/ly/articulation.py:44 msgid "Ornaments" msgstr "Versieringen" -#: ../python/ly/articulation.py:43 +#: ../python/ly/articulation.py:45 msgid "Trill" msgstr "Triller" -#: ../python/ly/articulation.py:44 +#: ../python/ly/articulation.py:46 msgid "Prall" msgstr "Praller" -#: ../python/ly/articulation.py:45 +#: ../python/ly/articulation.py:47 msgid "Mordent" msgstr "Mordent" -#: ../python/ly/articulation.py:46 +#: ../python/ly/articulation.py:48 msgid "Turn" msgstr "Dubbelslag" -#: ../python/ly/articulation.py:47 +#: ../python/ly/articulation.py:49 msgid "Prall prall" msgstr "Lange praller" -#: ../python/ly/articulation.py:48 +#: ../python/ly/articulation.py:50 msgid "Prall mordent" msgstr "Praller met mordent" -#: ../python/ly/articulation.py:49 +#: ../python/ly/articulation.py:51 msgid "Up prall" msgstr "Praller naar boven" -#: ../python/ly/articulation.py:50 +#: ../python/ly/articulation.py:52 msgid "Down prall" msgstr "Praller naar beneden" -#: ../python/ly/articulation.py:51 +#: ../python/ly/articulation.py:53 msgid "Up mordent" msgstr "Mordent naar boven" -#: ../python/ly/articulation.py:52 +#: ../python/ly/articulation.py:54 msgid "Down mordent" msgstr "Mordent naar beneden" -#: ../python/ly/articulation.py:53 +#: ../python/ly/articulation.py:55 msgid "Prall up" msgstr "Praller naar boven" -#: ../python/ly/articulation.py:54 +#: ../python/ly/articulation.py:56 msgid "Prall down" msgstr "Praller naar onder" -#: ../python/ly/articulation.py:55 +#: ../python/ly/articulation.py:57 msgid "Line prall" msgstr "Praller met lijn" -#: ../python/ly/articulation.py:56 +#: ../python/ly/articulation.py:58 msgid "Reverse turn" msgstr "Omgekeerde dubbelslag" -#: ../python/ly/articulation.py:58 +#: ../python/ly/articulation.py:60 msgid "Signs" msgstr "Tekens" -#: ../python/ly/articulation.py:59 +#: ../python/ly/articulation.py:61 msgid "Fermata" msgstr "Fermate" -#: ../python/ly/articulation.py:60 +#: ../python/ly/articulation.py:62 msgid "Short fermata" msgstr "Korte fermate" -#: ../python/ly/articulation.py:61 +#: ../python/ly/articulation.py:63 msgid "Long fermata" msgstr "Lange fermate" -#: ../python/ly/articulation.py:62 +#: ../python/ly/articulation.py:64 msgid "Very long fermata" msgstr "Zeer lange fermate" -#: ../python/ly/articulation.py:63 +#: ../python/ly/articulation.py:65 msgid "Segno" msgstr "Teken" -#: ../python/ly/articulation.py:64 +#: ../python/ly/articulation.py:66 msgid "Coda" msgstr "Coda" -#: ../python/ly/articulation.py:65 +#: ../python/ly/articulation.py:67 msgid "Varcoda" msgstr "Varcoda" -#: ../python/ly/articulation.py:66 +#: ../python/ly/articulation.py:68 msgid "Signumcongruentiae" msgstr "Signumcongruentiae" -#: ../python/ly/articulation.py:68 +#: ../python/ly/articulation.py:70 msgid "Other" msgstr "Overig" -#: ../python/ly/articulation.py:69 +#: ../python/ly/articulation.py:71 msgid "Upbow" msgstr "Opstreek" -#: ../python/ly/articulation.py:70 +#: ../python/ly/articulation.py:72 msgid "Downbow" msgstr "Afstreek" -#: ../python/ly/articulation.py:71 +#: ../python/ly/articulation.py:73 +msgid "Snappizzicato" +msgstr "Bartók pizzicato" + +#: ../python/ly/articulation.py:74 msgid "Open (e.g. brass)" msgstr "Open (koper)" -#: ../python/ly/articulation.py:72 +#: ../python/ly/articulation.py:75 msgid "Stopped (e.g. brass)" msgstr "Gestopt (koper)" -#: ../python/ly/articulation.py:73 +#: ../python/ly/articulation.py:76 msgid "Flageolet" msgstr "Flageolet" -#: ../python/ly/articulation.py:74 +#: ../python/ly/articulation.py:77 msgid "Thumb" msgstr "Duim" -#: ../python/ly/articulation.py:75 +#: ../python/ly/articulation.py:78 msgid "Left heel" msgstr "Linker hak" -#: ../python/ly/articulation.py:76 +#: ../python/ly/articulation.py:79 msgid "Right heel" msgstr "Rechter hak" -#: ../python/ly/articulation.py:77 +#: ../python/ly/articulation.py:80 msgid "Left toe" msgstr "Linker teen" -#: ../python/ly/articulation.py:78 +#: ../python/ly/articulation.py:81 msgid "Right toe" msgstr "Rechter teen" -#: ../python/kateshell/exception.py:42 +#: ../python/ly/articulation.py:82 +msgid "Half open (e.g. hi-hat)" +msgstr "Halfopen (bijv. hi-hat)" + +#: ../python/kateshell/exception.py:43 msgid "An internal error has occurred:" msgstr "Er is een interne fout opgetreden:" -#: ../python/kateshell/exception.py:45 +#: ../python/kateshell/exception.py:46 msgid "Internal Error" msgstr "Interne fout" -#: ../python/kateshell/exception.py:51 +#: ../python/kateshell/exception.py:52 msgid "Email Bug Report..." msgstr "Bugrapport emailen..." -#: ../python/kateshell/exception.py:64 +#: ../python/kateshell/exception.py:65 msgid "Optionally describe what you were doing below:" msgstr "Geef hier eventueel aan wat u aan het doen was:" -#: ../python/kateshell/mainwindow.py:91 +#: ../python/kateshell/mainwindow.py:94 msgid "Left Sidebar" msgstr "Linker zijbalk" -#: ../python/kateshell/mainwindow.py:95 +#: ../python/kateshell/mainwindow.py:98 msgid "Right Sidebar" msgstr "Rechter zijbalk" -#: ../python/kateshell/mainwindow.py:107 +#: ../python/kateshell/mainwindow.py:110 msgid "Top Sidebar" msgstr "Bovenste zijbalk" -#: ../python/kateshell/mainwindow.py:120 +#: ../python/kateshell/mainwindow.py:123 msgid "Bottom Sidebar" msgstr "Onderste zijbalk" -#: ../python/kateshell/mainwindow.py:165 +#: ../python/kateshell/mainwindow.py:168 msgid "Show Path" msgstr "Pad tonen" -#: ../python/kateshell/mainwindow.py:168 +#: ../python/kateshell/mainwindow.py:171 msgid "Show Document Tabs" msgstr "Document-tabs tonen" -#: ../python/kateshell/mainwindow.py:186 +#: ../python/kateshell/mainwindow.py:188 msgid "&Tool Views" msgstr "&Gereedschapsweergaven" -#: ../python/kateshell/mainwindow.py:277 +#: ../python/kateshell/mainwindow.py:278 msgid "Please select some text first." msgstr "Selecteer eerst de tekst waarop u de functie wilt toepassen." -#: ../python/kateshell/mainwindow.py:327 +#: ../python/kateshell/mainwindow.py:328 msgid "modified" msgstr "gewijzigd" -#: ../python/kateshell/mainwindow.py:337 +#: ../python/kateshell/mainwindow.py:338 msgid "Line: %1 Col: %2" msgstr "Regel: %1 Kol: %2" -#: ../python/kateshell/mainwindow.py:346 +#: ../python/kateshell/mainwindow.py:347 msgid "BLOCK" msgstr "BLOK" -#: ../python/kateshell/mainwindow.py:346 +#: ../python/kateshell/mainwindow.py:347 msgid "Block selection mode" msgstr "Blokselectiemodus" -#: ../python/kateshell/mainwindow.py:348 +#: ../python/kateshell/mainwindow.py:349 msgid "LINE" msgstr "REGEL" -#: ../python/kateshell/mainwindow.py:348 +#: ../python/kateshell/mainwindow.py:349 msgid "Line selection mode" msgstr "Regelselectiemodus" -#: ../python/kateshell/mainwindow.py:386 -#: ../python/frescobaldi_app/blankpaper.py:335 +#: ../python/kateshell/mainwindow.py:393 +#: ../python/frescobaldi_app/blankpaper.py:331 msgid "All Files" msgstr "Alle bestanden" -#: ../python/kateshell/mainwindow.py:387 +#: ../python/kateshell/mainwindow.py:394 msgid "Open File" msgstr "Bestand openen" @@ -449,7 +457,7 @@ msgid "Right-click for tab options" msgstr "Klik rechts voor tab-opties" -#: ../python/kateshell/mainwindow.py:870 +#: ../python/kateshell/mainwindow.py:871 msgid "Move To" msgstr "Verplaatsen naar" @@ -465,7 +473,7 @@ msgid "Please install %1" msgstr "Installeer %1" -#: ../python/frescobaldi_app/actions.py:55 +#: ../python/frescobaldi_app/actions.py:56 msgid "Open %1 in external viewer" msgstr "%1 openen in externe viewer" @@ -473,44 +481,44 @@ msgid "Print %1" msgstr "%1 afdrukken" -#: ../python/frescobaldi_app/actions.py:66 +#: ../python/frescobaldi_app/actions.py:65 msgid "Play %1" msgstr "%1 afspelen" -#: ../python/frescobaldi_app/actions.py:95 +#: ../python/frescobaldi_app/actions.py:91 msgid "Open PDF" msgstr "PDF weergeven" -#: ../python/frescobaldi_app/actions.py:96 +#: ../python/frescobaldi_app/actions.py:92 msgid "Print" msgstr "Afdrukken" -#: ../python/frescobaldi_app/actions.py:98 +#: ../python/frescobaldi_app/actions.py:94 msgid "Play MIDI" msgstr "MIDI afspelen" -#: ../python/frescobaldi_app/actions.py:101 -#: ../python/frescobaldi_app/mainapp.py:712 +#: ../python/frescobaldi_app/actions.py:97 +#: ../python/frescobaldi_app/mainapp.py:726 msgid "Email..." msgstr "Verzenden..." -#: ../python/frescobaldi_app/actions.py:154 +#: ../python/frescobaldi_app/actions.py:149 msgid "There are no files to send via email." msgstr "Er zijn geen bestanden om te verzenden." -#: ../python/frescobaldi_app/actions.py:155 +#: ../python/frescobaldi_app/actions.py:150 msgid "No files to send" msgstr "Geen bestanden te verzenden" -#: ../python/frescobaldi_app/actions.py:163 +#: ../python/frescobaldi_app/actions.py:158 msgid "Email documents" msgstr "Documenten verzenden" -#: ../python/frescobaldi_app/actions.py:167 +#: ../python/frescobaldi_app/actions.py:162 msgid "Please select the files you want to send:" msgstr "Selecteer de bestanden die u wilt verzenden:" -#: ../python/frescobaldi_app/actions.py:172 +#: ../python/frescobaldi_app/actions.py:166 msgid "" "These are the files that are up-to-date (i.e. newer than the LilyPond source " "document). Also LilyPond files included by the source document are shown." @@ -519,7 +527,7 @@ "brondocument). Ook LilyPond-bestanden die door het brondocument ge\"include" "\"t worden zijn hier weergegeven." -#: ../python/frescobaldi_app/actions.py:182 +#: ../python/frescobaldi_app/actions.py:176 msgid "" "Note: this PDF file has been created with embedded point-and-click URLs " "(preview mode), which increases the file size dramatically. Please consider " @@ -541,15 +549,15 @@ "is beter om de documenten opnieuw aan te maken via de optie 'publiceren', " "zodat de PDF-bestanden veel kleiner zijn." -#: ../python/frescobaldi_app/actions.py:283 +#: ../python/frescobaldi_app/actions.py:273 msgid "Printing failed: %1" msgstr "Het afdrukken is mislukt: %1" -#: ../python/frescobaldi_app/actions.py:286 +#: ../python/frescobaldi_app/actions.py:276 msgid "The document has been sent to the printer." msgstr "Het document is naar de printer gestuurd." -#: ../python/frescobaldi_app/actions.py:289 +#: ../python/frescobaldi_app/actions.py:279 msgid "" "Printing failed: %1\n" "\n" @@ -559,179 +567,162 @@ "\n" "Het printcommando %2 bestaat waarschijnlijk niet. Controleer uw instellingen." -#: ../python/frescobaldi_app/actions.py:294 +#: ../python/frescobaldi_app/actions.py:284 msgid "The print command contains errors. Please check your settings." msgstr "Het printcommando bevat fouten. Controleer uw instellingen." -#: ../python/frescobaldi_app/blankpaper.py:55 -#: ../python/frescobaldi_app/mainapp.py:738 +#: ../python/frescobaldi_app/blankpaper.py:56 +#: ../python/frescobaldi_app/mainapp.py:753 msgid "Create blank staff paper" msgstr "Blanco muziekpapier maken" -#: ../python/frescobaldi_app/blankpaper.py:69 +#: ../python/frescobaldi_app/blankpaper.py:70 msgid "Type:" msgstr "Type:" -#: ../python/frescobaldi_app/blankpaper.py:72 +#: ../python/frescobaldi_app/blankpaper.py:73 msgid "Action:" msgstr "Actie:" -#: ../python/frescobaldi_app/blankpaper.py:78 +#: ../python/frescobaldi_app/blankpaper.py:79 msgid "Choose what kind of empty staves you want to create." msgstr "Kies welk type muziekbalken u wilt maken." -#: ../python/frescobaldi_app/blankpaper.py:80 +#: ../python/frescobaldi_app/blankpaper.py:81 msgid "Choose which action happens when clicking \"Ok\"." msgstr "Kies wat er gebeurt als u op \"Ok\" klikt." -#: ../python/frescobaldi_app/blankpaper.py:82 +#: ../python/frescobaldi_app/blankpaper.py:83 msgid "Preview the empty staff paper." msgstr " Klik voor een vooruitblik." -#: ../python/frescobaldi_app/blankpaper.py:84 +#: ../python/frescobaldi_app/blankpaper.py:85 msgid "Click to see more settings." msgstr "Klik voor meer instellingen." -#: ../python/frescobaldi_app/blankpaper.py:87 +#: ../python/frescobaldi_app/blankpaper.py:88 msgid "Paper" msgstr "Papier" -#: ../python/frescobaldi_app/blankpaper.py:89 +#: ../python/frescobaldi_app/blankpaper.py:90 msgid "Settings" msgstr "Instellingen" -#: ../python/frescobaldi_app/blankpaper.py:95 -#: ../python/frescobaldi_app/scorewiz/__init__.py:509 +#: ../python/frescobaldi_app/blankpaper.py:96 +#: ../python/frescobaldi_app/scorewiz/__init__.py:496 msgid "Paper size:" msgstr "Papiergrootte:" -#: ../python/frescobaldi_app/blankpaper.py:99 -#: ../python/frescobaldi_app/scorewiz/__init__.py:448 -#: ../python/frescobaldi_app/scorewiz/__init__.py:513 -#: ../python/frescobaldi_app/scorewiz/__init__.py:547 -#: ../python/frescobaldi_app/scorewiz/parts.py:180 -#: ../python/frescobaldi_app/scorewiz/parts.py:436 +#: ../python/frescobaldi_app/blankpaper.py:100 +#: ../python/frescobaldi_app/scorewiz/__init__.py:441 +#: ../python/frescobaldi_app/scorewiz/__init__.py:500 +#: ../python/frescobaldi_app/scorewiz/__init__.py:532 +#: ../python/frescobaldi_app/scorewiz/parts.py:183 +#: ../python/frescobaldi_app/scorewiz/parts.py:439 msgid "Default" msgstr "Standaard" -#: ../python/frescobaldi_app/blankpaper.py:103 +#: ../python/frescobaldi_app/blankpaper.py:104 msgid "Staff Size:" msgstr "Balkgrootte:" -#: ../python/frescobaldi_app/blankpaper.py:110 +#: ../python/frescobaldi_app/blankpaper.py:111 msgid "Page count:" msgstr "Aantal pagina's:" -#: ../python/frescobaldi_app/blankpaper.py:116 -#: ../python/frescobaldi_app/scorewiz/__init__.py:486 +#: ../python/frescobaldi_app/blankpaper.py:117 +#: ../python/frescobaldi_app/scorewiz/__init__.py:468 msgid "Remove default tagline" msgstr "Standaard-tagline verwijderen" -#: ../python/frescobaldi_app/blankpaper.py:121 +#: ../python/frescobaldi_app/blankpaper.py:122 msgid "Print Bar Lines" msgstr "Maatstrepen afdrukken" -#: ../python/frescobaldi_app/blankpaper.py:123 +#: ../python/frescobaldi_app/blankpaper.py:124 msgid "Bars per line:" msgstr "Aantal maten per systeem:" -#: ../python/frescobaldi_app/blankpaper.py:130 +#: ../python/frescobaldi_app/blankpaper.py:131 msgid "Print Page Numbers" msgstr "Paginanummers afdrukken" -#: ../python/frescobaldi_app/blankpaper.py:132 +#: ../python/frescobaldi_app/blankpaper.py:133 msgid "Start with:" msgstr "Beginnen met:" -#: ../python/frescobaldi_app/blankpaper.py:289 +#: ../python/frescobaldi_app/blankpaper.py:285 msgid "Blank staff paper preview" msgstr "Vooruitblik blanco muziekpapier" -#: ../python/frescobaldi_app/blankpaper.py:308 +#: ../python/frescobaldi_app/blankpaper.py:304 msgid "No PDF was created." msgstr "Er is geen PDF aangemaakt." -#: ../python/frescobaldi_app/blankpaper.py:319 +#: ../python/frescobaldi_app/blankpaper.py:315 msgid "Open in PDF viewer" msgstr "Openen in PDF-viewer" -#: ../python/frescobaldi_app/blankpaper.py:328 +#: ../python/frescobaldi_app/blankpaper.py:324 msgid "Save PDF As..." msgstr "PDF opslaan als..." -#: ../python/frescobaldi_app/blankpaper.py:335 +#: ../python/frescobaldi_app/blankpaper.py:331 msgid "PDF Files" msgstr "PDF-bestanden" -#: ../python/frescobaldi_app/blankpaper.py:337 +#: ../python/frescobaldi_app/blankpaper.py:333 msgid "Save PDF" msgstr "PDF opslaan" -#: ../python/frescobaldi_app/blankpaper.py:355 -#: ../python/frescobaldi_app/runlily.py:375 -msgid "" -"A file named \"%1\" already exists. Are you sure you want to overwrite it?" -msgstr "" -"Een bestand met de naam \"%1\" bestaat reeds. Wilt u het overschrijven?" - -#: ../python/frescobaldi_app/blankpaper.py:358 -#: ../python/frescobaldi_app/runlily.py:378 -msgid "Overwrite File?" -msgstr "Bestand overschrijven?" - -#: ../python/frescobaldi_app/blankpaper.py:358 -#: ../python/frescobaldi_app/runlily.py:378 -msgid "&Overwrite" -msgstr "&Overschrijven" - -#: ../python/frescobaldi_app/blankpaper.py:380 +#: ../python/frescobaldi_app/blankpaper.py:357 msgid "Directly print on default printer" msgstr "Direct afdrukken op de standaardprinter" -#: ../python/frescobaldi_app/blankpaper.py:389 +#: ../python/frescobaldi_app/blankpaper.py:366 msgid "Copy LilyPond code to editor" msgstr "LilyPond-code naar editor kopiëren" -#: ../python/frescobaldi_app/blankpaper.py:488 +#: ../python/frescobaldi_app/blankpaper.py:465 msgid "Staves per page:" msgstr "Aantal balken per pagina:" -#: ../python/frescobaldi_app/blankpaper.py:493 -#: ../python/frescobaldi_app/blankpaper.py:828 +#: ../python/frescobaldi_app/blankpaper.py:470 +#: ../python/frescobaldi_app/blankpaper.py:803 msgid "Clef:" msgstr "Sleutel:" -#: ../python/frescobaldi_app/blankpaper.py:499 +#: ../python/frescobaldi_app/blankpaper.py:476 msgid "Single Staff" msgstr "Enkele balk" -#: ../python/frescobaldi_app/blankpaper.py:519 -#: ../python/frescobaldi_app/blankpaper.py:575 -#: ../python/frescobaldi_app/blankpaper.py:671 +#: ../python/frescobaldi_app/blankpaper.py:496 +#: ../python/frescobaldi_app/blankpaper.py:552 +#: ../python/frescobaldi_app/blankpaper.py:647 msgid "Systems per page:" msgstr "Aantal systemen per pagina:" -#: ../python/frescobaldi_app/blankpaper.py:523 +#: ../python/frescobaldi_app/blankpaper.py:500 msgid "Clefs" msgstr "Sleutels" -#: ../python/frescobaldi_app/blankpaper.py:527 +#: ../python/frescobaldi_app/blankpaper.py:504 msgid "Piano Staff" msgstr "Pianobalk" -#: ../python/frescobaldi_app/blankpaper.py:547 +#: ../python/frescobaldi_app/blankpaper.py:524 msgid "Organ Staff" msgstr "Orgelbalk" -#: ../python/frescobaldi_app/blankpaper.py:571 +#: ../python/frescobaldi_app/blankpaper.py:548 msgid "Staves per system:" msgstr "Aantal notenbalken per systeem:" -#: ../python/frescobaldi_app/blankpaper.py:582 +#: ../python/frescobaldi_app/blankpaper.py:559 msgid "Clefs:" msgstr "Sleutels:" -#: ../python/frescobaldi_app/blankpaper.py:589 +#: ../python/frescobaldi_app/blankpaper.py:566 msgid "" "Enter as many letters (S, A, T or B) as there are staves.\n" "See \"What's This\" for more information." @@ -739,7 +730,7 @@ "Voer zoveel letters (S, A, T of B) in als er balken zijn.\n" "Zie \"Wat is dit\" voor meer informatie." -#: ../python/frescobaldi_app/blankpaper.py:592 +#: ../python/frescobaldi_app/blankpaper.py:569 msgid "" "To configure clefs, first set the number of staves per system. Then enter as " "many letters (S, A, T or B) as there are staves.\n" @@ -763,49 +754,55 @@ "eerst het aantal balken per systeem op 4. Voer dan hier \"SATB\" (zonder de " "aanhalingstekens) in." -#: ../python/frescobaldi_app/blankpaper.py:606 +#: ../python/frescobaldi_app/blankpaper.py:582 msgid "Choir Staff" msgstr "Koorbalk" -#: ../python/frescobaldi_app/blankpaper.py:613 -#: ../python/frescobaldi_app/scorewiz/__init__.py:395 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/blankpaper.py:589 +#: ../python/frescobaldi_app/lqi.py:159 +#: ../python/frescobaldi_app/scorewiz/__init__.py:388 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "None" msgstr "Geen" -#: ../python/frescobaldi_app/blankpaper.py:759 +#: ../python/frescobaldi_app/blankpaper.py:734 msgid "Custom Staff" msgstr "Aangepaste balk" -#: ../python/frescobaldi_app/blankpaper.py:818 +#: ../python/frescobaldi_app/blankpaper.py:793 msgid "Staff" msgstr "Notenbalk" -#: ../python/frescobaldi_app/blankpaper.py:841 -msgid "Space above:" -msgstr "Ruimte erboven:" - -#: ../python/frescobaldi_app/blankpaper.py:844 +#: ../python/frescobaldi_app/blankpaper.py:812 msgid "Space below:" msgstr "Ruimte eronder:" -#: ../python/frescobaldi_app/blankpaper.py:879 +#: ../python/frescobaldi_app/blankpaper.py:852 msgid "Brace" msgstr "Accolade" -#: ../python/frescobaldi_app/blankpaper.py:904 +#: ../python/frescobaldi_app/blankpaper.py:877 msgid "Bracket" msgstr "Haak" -#: ../python/frescobaldi_app/blankpaper.py:913 +#: ../python/frescobaldi_app/blankpaper.py:886 msgid "Square Bracket" msgstr "Vierkante haak" -#: ../python/frescobaldi_app/blankpaper.py:915 +#: ../python/frescobaldi_app/blankpaper.py:888 msgid "Connect bar lines" msgstr "Maatstrepen verbinden" -#: ../python/frescobaldi_app/document.py:66 +#: ../python/frescobaldi_app/charselect.py:41 +#: ../python/frescobaldi_app/mainapp.py:871 +msgid "Special Characters" +msgstr "Speciale tekens" + +#: ../python/frescobaldi_app/charselect.py:85 +msgid "unknown" +msgstr "onbekend" + +#: ../python/frescobaldi_app/document.py:68 msgid "" "Can't perform the requested translation.\n" "\n" @@ -817,7 +814,7 @@ "De muziek bevat kwarttonen, maar deze zijn niet beschikbaar in de taal \"%1" "\"." -#: ../python/frescobaldi_app/document.py:81 +#: ../python/frescobaldi_app/document.py:82 msgid "" "The pitch language of the selected text has been updated, but you need to " "manually add the following command to your document:" @@ -825,30 +822,30 @@ "De taal van de nootnamen in de geselecteerde tekst is aangepast, maar u " "dient handmatig het volgende commando aan uw document toe te voegen:" -#: ../python/frescobaldi_app/document.py:84 -#: ../python/frescobaldi_app/mainapp.py:561 +#: ../python/frescobaldi_app/document.py:85 +#: ../python/frescobaldi_app/mainapp.py:572 msgid "Pitch Name Language" msgstr "Taal voor nootnamen" -#: ../python/frescobaldi_app/document.py:139 +#: ../python/frescobaldi_app/document.py:140 msgid "Please enter the name for the variable to assign the selected text to:" msgstr "" "Geef de naam van de variable om de geselecteerde tekst aan toe te wijzen:" -#: ../python/frescobaldi_app/document.py:140 -#: ../python/frescobaldi_app/mainapp.py:455 +#: ../python/frescobaldi_app/document.py:141 +#: ../python/frescobaldi_app/mainapp.py:461 msgid "Cut and Assign" msgstr "Knippen en toewijzen" -#: ../python/frescobaldi_app/document.py:452 +#: ../python/frescobaldi_app/document.py:451 msgid "Open %1" msgstr "%1 openen" -#: ../python/frescobaldi_app/document.py:707 +#: ../python/frescobaldi_app/document.py:705 msgid "Please select a music expression, enclosed in << ... >> or { ... }." msgstr "Selecteer een muziekexpressie, ingesloten in << ... >> of { ... }." -#: ../python/frescobaldi_app/document.py:727 +#: ../python/frescobaldi_app/document.py:725 msgid "" "Could not understand the entered pitches.\n" "\n" @@ -858,7 +855,7 @@ "\n" "Gebruik de nootnamen in de taal \"%1\"." -#: ../python/frescobaldi_app/document.py:735 +#: ../python/frescobaldi_app/document.py:733 msgid "" "Can't perform the requested transposition.\n" "\n" @@ -870,47 +867,47 @@ "De getransponeerde muziek zou kwarttonen bevatten die niet beschikbaar zijn " "in de taal \"%1\"." -#: ../python/frescobaldi_app/document.py:748 +#: ../python/frescobaldi_app/document.py:746 msgid "Transpose" msgstr "Transponeren" -#: ../python/frescobaldi_app/document.py:755 +#: ../python/frescobaldi_app/document.py:753 msgid "Please enter a start pitch and a destination pitch:" msgstr "Geef de start- en doeltoonhoogte op:" -#: ../python/frescobaldi_app/document.py:759 +#: ../python/frescobaldi_app/document.py:757 msgid "Transpose from:" msgstr "Transponeren van:" -#: ../python/frescobaldi_app/document.py:763 +#: ../python/frescobaldi_app/document.py:761 msgid "to:" msgstr "naar:" -#: ../python/frescobaldi_app/expand.py:147 -#: ../python/frescobaldi_app/mainapp.py:786 +#: ../python/frescobaldi_app/expand.py:149 +#: ../python/frescobaldi_app/mainapp.py:870 msgid "Expansion Manager" msgstr "Snelteksten beheren" -#: ../python/frescobaldi_app/expand.py:161 -#: ../python/frescobaldi_app/lilydoc.py:125 +#: ../python/frescobaldi_app/expand.py:163 +#: ../python/frescobaldi_app/lilydoc.py:127 msgid "Search..." msgstr "Zoeken..." -#: ../python/frescobaldi_app/expand.py:170 -#: ../python/frescobaldi_app/rumor.py:507 +#: ../python/frescobaldi_app/expand.py:172 +#: ../python/frescobaldi_app/rumor.py:505 msgid "Name" msgstr "Naam" -#: ../python/frescobaldi_app/expand.py:170 -#: ../python/frescobaldi_app/rumor.py:507 +#: ../python/frescobaldi_app/expand.py:172 +#: ../python/frescobaldi_app/rumor.py:505 msgid "Description" msgstr "Omschrijving" -#: ../python/frescobaldi_app/expand.py:170 +#: ../python/frescobaldi_app/expand.py:172 msgid "Shortcut" msgstr "Sneltoets" -#: ../python/frescobaldi_app/expand.py:193 +#: ../python/frescobaldi_app/expand.py:195 msgid "" "This is the list of defined expansions.\n" "\n" @@ -939,7 +936,7 @@ "sneltekst-functie meteen aan (standaardtoets: Ctrl+.), kies de sneltekst uit " "de lijst en druk op Enter of klik Ok." -#: ../python/frescobaldi_app/expand.py:213 +#: ../python/frescobaldi_app/expand.py:214 msgid "" "This is the text associated with the selected shortcut. Some characters have " "special meaning:" @@ -947,19 +944,19 @@ "Dit is de tekst die hoort bij de geselecteerde sneltekst. Sommige tekens " "hebben een speciale betekenis:" -#: ../python/frescobaldi_app/expand.py:215 +#: ../python/frescobaldi_app/expand.py:216 msgid "Place the cursor on this spot." msgstr "Zet de cursor op deze plaats." -#: ../python/frescobaldi_app/expand.py:216 +#: ../python/frescobaldi_app/expand.py:217 msgid "Translate the following pitch." msgstr "Vertaal de volgende toonhoogte." -#: ../python/frescobaldi_app/expand.py:268 +#: ../python/frescobaldi_app/expand.py:265 msgid "New Item" msgstr "Nieuw item" -#: ../python/frescobaldi_app/expand.py:348 +#: ../python/frescobaldi_app/expand.py:345 msgid "" "Another expansion already uses this name.\n" "\n" @@ -969,59 +966,71 @@ "\n" "Gebruik a.u.b. een andere naam." -#: ../python/frescobaldi_app/expand.py:354 +#: ../python/frescobaldi_app/expand.py:351 msgid "" "Please only use letters, numbers and the underscore character in the " "expansion name." msgstr "" "Gebruik alleen letters, cijfers en het onderstreepteken voor de sneltekst." -#: ../python/frescobaldi_app/expand.py:381 +#: ../python/frescobaldi_app/expand.py:376 msgid "Please don't leave the description empty." msgstr "U dient een omschrijving op te geven." -#: ../python/frescobaldi_app/hyphen.py:123 -#: ../python/frescobaldi_app/mainapp.py:676 +#: ../python/frescobaldi_app/hyphen.py:119 +msgid "" +"Could not find any hyphenation dictionaries.\n" +"\n" +"Please install a package containing some and/or or configure the search path " +"to find them in the Frescobaldi settings under \"Paths.\"" +msgstr "" +"Geen bestanden met afbreekpatronen gevonden.\n" +"\n" +"Installeer een pakket met deze bestanden en/of stel zoekpaden in om ze te " +"vinden in de Frescobaldi-instellingen onder \"Paden.\" " + +#: ../python/frescobaldi_app/hyphen.py:132 +#: ../python/frescobaldi_app/mainapp.py:686 msgid "Hyphenate Lyrics Text" msgstr "Liedteksten afbreken" -#: ../python/frescobaldi_app/hyphen.py:127 +#: ../python/frescobaldi_app/hyphen.py:136 msgid "Please select a language:" msgstr "Selecteer een taal:" -#: ../python/frescobaldi_app/lilydoc.py:99 +#: ../python/frescobaldi_app/lilydoc.py:101 msgid "Home" msgstr "Begin" -#: ../python/frescobaldi_app/lilydoc.py:100 +#: ../python/frescobaldi_app/lilydoc.py:102 msgid "Larger text" msgstr "Tekst vergroten" -#: ../python/frescobaldi_app/lilydoc.py:101 +#: ../python/frescobaldi_app/lilydoc.py:103 msgid "Smaller text" msgstr "Tekst verkleinen" -#: ../python/frescobaldi_app/lilydoc.py:110 +#: ../python/frescobaldi_app/lilydoc.py:112 msgid "First Page" msgstr "Eerste pagina" -#: ../python/frescobaldi_app/lilydoc.py:111 +#: ../python/frescobaldi_app/lilydoc.py:113 msgid "Previous" msgstr "Vorige" -#: ../python/frescobaldi_app/lilydoc.py:112 +#: ../python/frescobaldi_app/lilydoc.py:114 msgid "Up one level" msgstr "Een niveau hoger" -#: ../python/frescobaldi_app/lilydoc.py:113 +#: ../python/frescobaldi_app/lilydoc.py:115 msgid "Next" msgstr "Volgende" -#: ../python/frescobaldi_app/lilydoc.py:114 +#: ../python/frescobaldi_app/lilydoc.py:116 msgid "Table of contents" msgstr "Inhoudsopgave" -#: ../python/frescobaldi_app/lilydoc.py:115 +#: ../python/frescobaldi_app/lilydoc.py:117 msgid "Index" msgstr "Index" @@ -1033,84 +1042,84 @@ msgid "Open Link in &New Window" msgstr "Koppeling in &nieuw venster openen" -#: ../python/frescobaldi_app/lilydoc.py:322 -#: ../python/frescobaldi_app/runlily.py:339 +#: ../python/frescobaldi_app/lilydoc.py:321 +#: ../python/frescobaldi_app/runlily.py:508 msgid "&Copy" msgstr "&Kopiëren" -#: ../python/frescobaldi_app/lilydoc.py:325 +#: ../python/frescobaldi_app/lilydoc.py:324 msgid "Open Document in &New Window" msgstr "Document in &nieuw venster openen" -#: ../python/frescobaldi_app/lilydoc.py:677 +#: ../python/frescobaldi_app/lilydoc.py:675 msgid "Loading..." msgstr "Laden..." -#: ../python/frescobaldi_app/lilydoc.py:684 +#: ../python/frescobaldi_app/lilydoc.py:682 msgid "Not available" msgstr "Niet beschikbaar" -#: ../python/frescobaldi_app/lilydoc.py:732 +#: ../python/frescobaldi_app/lilydoc.py:734 msgid "Notation Reference" msgstr "Notation Reference" -#: ../python/frescobaldi_app/lilydoc.py:752 +#: ../python/frescobaldi_app/lilydoc.py:754 msgid "LilyPond Command Index" msgstr "LilyPond Commando-index" -#: ../python/frescobaldi_app/lilydoc.py:772 +#: ../python/frescobaldi_app/lilydoc.py:780 msgid "Learning Manual" msgstr "Learning Manual" -#: ../python/frescobaldi_app/lilydoc.py:792 +#: ../python/frescobaldi_app/lilydoc.py:800 msgid "Learning Manual Index" msgstr "Learning Manual index" -#: ../python/frescobaldi_app/lilydoc.py:808 +#: ../python/frescobaldi_app/lilydoc.py:816 msgid "LilyPond &Help" msgstr "LilyPond-&hulp" -#: ../python/frescobaldi_app/lqi.py:62 +#: ../python/frescobaldi_app/lqi.py:82 msgid "Articulations" msgstr "Articulaties" -#: ../python/frescobaldi_app/lqi.py:63 +#: ../python/frescobaldi_app/lqi.py:83 msgid "Different kinds of articulations and other signs." msgstr "Verschillende soorten articulatie en andere tekens." -#: ../python/frescobaldi_app/lqi.py:70 +#: ../python/frescobaldi_app/lqi.py:90 msgid "Allow shorthands" msgstr "Korte notatie" -#: ../python/frescobaldi_app/lqi.py:73 +#: ../python/frescobaldi_app/lqi.py:93 msgid "Use short notation for some articulations like staccato." msgstr "Korte notatie toestaan voor sommige articulaties zoals staccato." -#: ../python/frescobaldi_app/lqi.py:79 +#: ../python/frescobaldi_app/lqi.py:99 msgid "Direction:" msgstr "Richting:" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Up" msgstr "Boven" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Neutral" msgstr "Neutraal" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Down" msgstr "Onder" -#: ../python/frescobaldi_app/lqi.py:85 +#: ../python/frescobaldi_app/lqi.py:105 msgid "The direction to use for the articulations." msgstr "Plaatsing van de articulaties: onder of boven de balk of neutraal." -#: ../python/frescobaldi_app/lqi.py:112 +#: ../python/frescobaldi_app/lqi.py:134 msgid "Click an articulation sign to add it to your document." msgstr "Klik op een articulatie-teken om het aan uw document toe te voegen." -#: ../python/frescobaldi_app/lqi.py:113 +#: ../python/frescobaldi_app/lqi.py:135 msgid "" "If you select some music first, the articulation will be added to all notes " "in the selection." @@ -1118,89 +1127,94 @@ "Als u eerst muziek selecteert, wordt het articulatie-teken aan alle noten in " "de selectie toegevoegd." -#: ../python/frescobaldi_app/mainapp.py:53 +#: ../python/frescobaldi_app/lqi.py:159 +msgid "Configure Keyboard Shortcut (%1)" +msgstr "Sneltoets instellen (%1)" + +#: ../python/frescobaldi_app/mainapp.py:54 msgid "LilyPond files" msgstr "LilyPond-bestanden" -#: ../python/frescobaldi_app/mainapp.py:392 -#: ../python/frescobaldi_app/scorewiz/__init__.py:355 +#: ../python/frescobaldi_app/mainapp.py:424 +#: ../python/frescobaldi_app/settings.py:620 +#: ../python/frescobaldi_app/scorewiz/__init__.py:348 msgid "LilyPond" msgstr "LilyPond" -#: ../python/frescobaldi_app/mainapp.py:403 +#: ../python/frescobaldi_app/mainapp.py:435 msgid "Setup New Score..." msgstr "Nieuwe partituur maken..." -#: ../python/frescobaldi_app/mainapp.py:408 +#: ../python/frescobaldi_app/mainapp.py:440 msgid "Run LilyPond (preview)" msgstr "LilyPond starten (vooruitblik)" -#: ../python/frescobaldi_app/mainapp.py:412 +#: ../python/frescobaldi_app/mainapp.py:444 msgid "Run LilyPond (publish)" msgstr "LilyPond starten (publiceren)" -#: ../python/frescobaldi_app/mainapp.py:418 -msgid "Can't process document" -msgstr "Can document niet verwerken" - -#: ../python/frescobaldi_app/mainapp.py:421 -msgid "There is already a LilyPond job running for this document." -msgstr "Er is reeds een LilyPond-proces actief voor dit document." - -#: ../python/frescobaldi_app/mainapp.py:427 -msgid "Your document has been modified, please save first." -msgstr "Uw document is gewijzigd, gelieve het eerst op te slaan." +#: ../python/frescobaldi_app/mainapp.py:448 +msgid "Run LilyPond (custom)..." +msgstr "LilyPond starten (aangepast)..." -#: ../python/frescobaldi_app/mainapp.py:446 +#: ../python/frescobaldi_app/mainapp.py:452 msgid "Interrupt LilyPond Job" msgstr "LilyPond-taak afbreken" -#: ../python/frescobaldi_app/mainapp.py:456 +#: ../python/frescobaldi_app/mainapp.py:462 msgid "Cut selection and assign it to a LilyPond variable." msgstr "" "De geselecteerde tekst knippen en toewijzen aan een LilyPond variabele." -#: ../python/frescobaldi_app/mainapp.py:460 +#: ../python/frescobaldi_app/mainapp.py:466 msgid "Repeat last note or chord" msgstr "Laatste noot of akkoord herhalen" -#: ../python/frescobaldi_app/mainapp.py:461 +#: ../python/frescobaldi_app/mainapp.py:467 msgid "Repeat the last music expression (note or chord)." msgstr "Herhaalt de laatstgetypte muziekexpressie (noot of akkoord)." -#: ../python/frescobaldi_app/mainapp.py:465 +#: ../python/frescobaldi_app/mainapp.py:471 msgid "Insert or Manage Expansions..." msgstr "Snelteksten invoegen of beheren..." -#: ../python/frescobaldi_app/mainapp.py:466 +#: ../python/frescobaldi_app/mainapp.py:472 msgid "Expand last word or open the expansions dialog." msgstr "Laatst getypte woord uitbreiden of de lijst met snelteksten openen." -#: ../python/frescobaldi_app/mainapp.py:471 +#: ../python/frescobaldi_app/mainapp.py:476 +msgid "Special Characters..." +msgstr "Speciale tekens..." + +#: ../python/frescobaldi_app/mainapp.py:477 +msgid "Insert special characters." +msgstr "Speciale tekens invoegen." + +#: ../python/frescobaldi_app/mainapp.py:482 msgid "Add to Expansions" msgstr "Aan snelteksten toevoegen" -#: ../python/frescobaldi_app/mainapp.py:475 +#: ../python/frescobaldi_app/mainapp.py:486 msgid "Next blank line" msgstr "Volgende blanco regel" -#: ../python/frescobaldi_app/mainapp.py:476 +#: ../python/frescobaldi_app/mainapp.py:487 msgid "Go to the next blank line." msgstr "Ga naar de volgende blanco regel." -#: ../python/frescobaldi_app/mainapp.py:486 +#: ../python/frescobaldi_app/mainapp.py:497 msgid "Previous blank line" msgstr "Vorige blanco regel" -#: ../python/frescobaldi_app/mainapp.py:487 +#: ../python/frescobaldi_app/mainapp.py:498 msgid "Go to the previous blank line." msgstr "Ga naar de vorige blanco regel." -#: ../python/frescobaldi_app/mainapp.py:496 +#: ../python/frescobaldi_app/mainapp.py:507 msgid "Select to next blank line" msgstr "Tot volgende blanco regel selecteren" -#: ../python/frescobaldi_app/mainapp.py:498 +#: ../python/frescobaldi_app/mainapp.py:509 msgid "" "Selects text from the current position down to and including the next blank " "line." @@ -1208,11 +1222,11 @@ "Selecteert tekst vanaf de huidige cursorpositie tot en met de volgende " "blanco regel." -#: ../python/frescobaldi_app/mainapp.py:523 +#: ../python/frescobaldi_app/mainapp.py:534 msgid "Select to previous blank line" msgstr "Tot vorige blanco regel selecteren" -#: ../python/frescobaldi_app/mainapp.py:525 +#: ../python/frescobaldi_app/mainapp.py:536 msgid "" "Selects text from the current position up to right after the previous blank " "line." @@ -1220,23 +1234,23 @@ "Selecteert tekst vanaf de huidige cursorpositie tot net na de vorige blanco " "regel." -#: ../python/frescobaldi_app/mainapp.py:549 +#: ../python/frescobaldi_app/mainapp.py:560 msgid "Move selection to next blank line" msgstr "Selectie verplaatsen naar volgende blanco regel" -#: ../python/frescobaldi_app/mainapp.py:550 +#: ../python/frescobaldi_app/mainapp.py:561 msgid "Moves selected block to next blank line." msgstr "Verplaatst de geselecteerde tekst naar de volgende blanco regel." -#: ../python/frescobaldi_app/mainapp.py:554 +#: ../python/frescobaldi_app/mainapp.py:565 msgid "Move selection to previous blank line" msgstr "Selectie verplaatsen naar vorige blanco regel" -#: ../python/frescobaldi_app/mainapp.py:555 +#: ../python/frescobaldi_app/mainapp.py:566 msgid "Moves selected block to previous blank line." msgstr "Verplaatst de geselecteerde tekst naar de vorige blanco regel." -#: ../python/frescobaldi_app/mainapp.py:562 +#: ../python/frescobaldi_app/mainapp.py:573 msgid "" "Change the LilyPond language used for pitch names in this document or in the " "selection." @@ -1244,11 +1258,11 @@ "De LilyPond-taal voor de nootnamen aanpassen in het document of het " "geselecteerde gedeelte." -#: ../python/frescobaldi_app/mainapp.py:569 +#: ../python/frescobaldi_app/mainapp.py:579 msgid "Convert Relative to &Absolute" msgstr "Relatief naar &absoluut omzetten" -#: ../python/frescobaldi_app/mainapp.py:570 +#: ../python/frescobaldi_app/mainapp.py:580 msgid "" "Converts the notes in the document or selection from relative to absolute " "pitch." @@ -1256,11 +1270,11 @@ "Zet de noten in het document of de selectie om van relatieve naar absolute " "toonhoogte." -#: ../python/frescobaldi_app/mainapp.py:574 +#: ../python/frescobaldi_app/mainapp.py:584 msgid "Convert Absolute to &Relative" msgstr "Absoluut naar &relatief omzetten" -#: ../python/frescobaldi_app/mainapp.py:575 +#: ../python/frescobaldi_app/mainapp.py:585 msgid "" "Converts the notes in the document or selection from absolute to relative " "pitch." @@ -1268,75 +1282,75 @@ "Zet de noten in het document of de selectie om van absolute naar relatieve " "toonhoogte." -#: ../python/frescobaldi_app/mainapp.py:579 +#: ../python/frescobaldi_app/mainapp.py:589 msgid "Transpose..." msgstr "Transponeren..." -#: ../python/frescobaldi_app/mainapp.py:580 +#: ../python/frescobaldi_app/mainapp.py:590 msgid "Transposes all notes in the document or selection." msgstr "Transponeert alle noten in de selectie of het document." -#: ../python/frescobaldi_app/mainapp.py:585 +#: ../python/frescobaldi_app/mainapp.py:595 msgid "Double durations" msgstr "Tijdsduur verdubbelen" -#: ../python/frescobaldi_app/mainapp.py:586 +#: ../python/frescobaldi_app/mainapp.py:596 msgid "Double all the durations in the selection." msgstr "Alle nootlengtes in de selectie verdubbelen." -#: ../python/frescobaldi_app/mainapp.py:591 +#: ../python/frescobaldi_app/mainapp.py:601 msgid "Halve durations" msgstr "Tijdsduur halveren" -#: ../python/frescobaldi_app/mainapp.py:592 +#: ../python/frescobaldi_app/mainapp.py:602 msgid "Halve all the durations in the selection." msgstr "Alle nootlengtes in de selectie halveren." -#: ../python/frescobaldi_app/mainapp.py:597 +#: ../python/frescobaldi_app/mainapp.py:607 msgid "Dot durations" msgstr "Punt toevoegen" -#: ../python/frescobaldi_app/mainapp.py:598 +#: ../python/frescobaldi_app/mainapp.py:608 msgid "Add a dot to all the durations in the selection." msgstr "Een punt toevoegen aan alle noten in de selectie." -#: ../python/frescobaldi_app/mainapp.py:603 +#: ../python/frescobaldi_app/mainapp.py:613 msgid "Undot durations" msgstr "Punt verwijderen" -#: ../python/frescobaldi_app/mainapp.py:604 +#: ../python/frescobaldi_app/mainapp.py:614 msgid "Remove one dot from all the durations in the selection." msgstr "Een punt verwijderen van alle noten in de selectie." -#: ../python/frescobaldi_app/mainapp.py:609 +#: ../python/frescobaldi_app/mainapp.py:619 msgid "Remove scaling" msgstr "Schaling verwijderen" -#: ../python/frescobaldi_app/mainapp.py:610 +#: ../python/frescobaldi_app/mainapp.py:620 msgid "Remove all scaling (*n/m) from the durations in the selection." msgstr "Alle schaling (*n/m) verwijderen van de nootlengtes in de selectie." -#: ../python/frescobaldi_app/mainapp.py:615 +#: ../python/frescobaldi_app/mainapp.py:625 msgid "Remove durations" msgstr "Tijdsduur verwijderen" -#: ../python/frescobaldi_app/mainapp.py:616 +#: ../python/frescobaldi_app/mainapp.py:626 msgid "Remove all durations from the selection." msgstr "De volledige tijdsduur-informatie verwijderen uit de selectie." -#: ../python/frescobaldi_app/mainapp.py:621 +#: ../python/frescobaldi_app/mainapp.py:631 msgid "Make implicit" msgstr "Impliciet maken" -#: ../python/frescobaldi_app/mainapp.py:622 +#: ../python/frescobaldi_app/mainapp.py:632 msgid "Make durations implicit (remove repeated durations)." msgstr "Tijdsduren impliciet maken (herhaalde lengtes verwijderen)." -#: ../python/frescobaldi_app/mainapp.py:627 +#: ../python/frescobaldi_app/mainapp.py:637 msgid "Make explicit" msgstr "Expliciet maken" -#: ../python/frescobaldi_app/mainapp.py:628 +#: ../python/frescobaldi_app/mainapp.py:638 msgid "" "Make durations explicit (add duration to every note, even if it is the same " "as the preceding note)." @@ -1344,206 +1358,224 @@ "De toonduur na elke noot weergeven, ook als deze hetzelfde is als de vorige " "noot." -#: ../python/frescobaldi_app/mainapp.py:634 +#: ../python/frescobaldi_app/mainapp.py:644 msgid "Apply rhythm..." msgstr "Ritme toepassen..." -#: ../python/frescobaldi_app/mainapp.py:635 +#: ../python/frescobaldi_app/mainapp.py:645 msgid "Apply an entered rhythm to the selected music." msgstr "Een ingevoerd ritme op de geselecteerde muziek toepassen." -#: ../python/frescobaldi_app/mainapp.py:639 +#: ../python/frescobaldi_app/mainapp.py:649 msgid "Copy rhythm" msgstr "Ritme kopiëren" -#: ../python/frescobaldi_app/mainapp.py:640 +#: ../python/frescobaldi_app/mainapp.py:650 msgid "Copy the rhythm of the selected music." msgstr "Het ritme van de geselecteerde muziek kopiëren." -#: ../python/frescobaldi_app/mainapp.py:646 +#: ../python/frescobaldi_app/mainapp.py:656 msgid "Paste rhythm" msgstr "Ritme plakken" -#: ../python/frescobaldi_app/mainapp.py:647 +#: ../python/frescobaldi_app/mainapp.py:657 msgid "Paste a rhythm to the selected music." msgstr "Een ritme in de geselecteerde muziek plakken." -#: ../python/frescobaldi_app/mainapp.py:655 +#: ../python/frescobaldi_app/mainapp.py:665 msgid "Double bar line" msgstr "Dubbele maatstreep" -#: ../python/frescobaldi_app/mainapp.py:656 +#: ../python/frescobaldi_app/mainapp.py:666 msgid "Ending bar line" msgstr "Eindmaatstreep" -#: ../python/frescobaldi_app/mainapp.py:657 +#: ../python/frescobaldi_app/mainapp.py:667 msgid "Dotted bar line" msgstr "Gestippelde maatstreep" -#: ../python/frescobaldi_app/mainapp.py:658 +#: ../python/frescobaldi_app/mainapp.py:668 msgid "Dashed bar line" msgstr "Gestreepte maatstreep" -#: ../python/frescobaldi_app/mainapp.py:659 +#: ../python/frescobaldi_app/mainapp.py:669 msgid "Invisible bar line" msgstr "Onzichtbare maatstreep" -#: ../python/frescobaldi_app/mainapp.py:660 +#: ../python/frescobaldi_app/mainapp.py:670 msgid "Repeat start" msgstr "Start herhaling" -#: ../python/frescobaldi_app/mainapp.py:661 +#: ../python/frescobaldi_app/mainapp.py:671 msgid "Repeat both" msgstr "Herhaal beide" -#: ../python/frescobaldi_app/mainapp.py:662 +#: ../python/frescobaldi_app/mainapp.py:672 msgid "Repeat end" msgstr "Eind herhaling" -#: ../python/frescobaldi_app/mainapp.py:663 +#: ../python/frescobaldi_app/mainapp.py:673 msgid "Tick bar line" msgstr "Hoge maatstreep" -#: ../python/frescobaldi_app/mainapp.py:664 +#: ../python/frescobaldi_app/mainapp.py:674 msgid "Single bar line" msgstr "Enkele maatstreep" -#: ../python/frescobaldi_app/mainapp.py:665 +#: ../python/frescobaldi_app/mainapp.py:675 msgid "Small-Wide-Small bar line" msgstr "Dun-dik-dunne maatstreep" -#: ../python/frescobaldi_app/mainapp.py:666 +#: ../python/frescobaldi_app/mainapp.py:676 msgid "Wide-Small bar line" msgstr "Dik-dunne maatstreep" -#: ../python/frescobaldi_app/mainapp.py:667 +#: ../python/frescobaldi_app/mainapp.py:677 msgid "Double wide bar line" msgstr "Dubbele dikke maatstreep" -#: ../python/frescobaldi_app/mainapp.py:668 +#: ../python/frescobaldi_app/mainapp.py:678 msgid "Repeat both (old)" msgstr "Herhaal beide (oud)" -#: ../python/frescobaldi_app/mainapp.py:669 +#: ../python/frescobaldi_app/mainapp.py:679 msgid "Repeat both (classic)" msgstr "Herhaal beide (klassiek)" -#: ../python/frescobaldi_app/mainapp.py:681 +#: ../python/frescobaldi_app/mainapp.py:691 msgid "Remove hyphenation" msgstr "Liedtekst-afbreking verwijderen" -#: ../python/frescobaldi_app/mainapp.py:686 +#: ../python/frescobaldi_app/mainapp.py:695 +msgid "Copy Lyrics with hyphenation removed" +msgstr "Liedteksten kopiëren met afbreking verwijderd" + +#: ../python/frescobaldi_app/mainapp.py:700 msgid "Single Quote" msgstr "Enkel aanhalingsteken" -#: ../python/frescobaldi_app/mainapp.py:690 +#: ../python/frescobaldi_app/mainapp.py:704 msgid "Double Quote" msgstr "Dubbel aanhalingsteken" -#: ../python/frescobaldi_app/mainapp.py:694 +#: ../python/frescobaldi_app/mainapp.py:708 msgid "Align" msgstr "Uitlijnen" -#: ../python/frescobaldi_app/mainapp.py:698 +#: ../python/frescobaldi_app/mainapp.py:712 msgid "Insert LilyPond version" msgstr "LilyPond-versie invoegen" -#: ../python/frescobaldi_app/mainapp.py:703 +#: ../python/frescobaldi_app/mainapp.py:717 msgid "Update with convert-ly" msgstr "Bijwerken met convert-ly" -#: ../python/frescobaldi_app/mainapp.py:708 +#: ../python/frescobaldi_app/mainapp.py:722 msgid "Open Current Folder" msgstr "Huidige map openen" -#: ../python/frescobaldi_app/mainapp.py:722 +#: ../python/frescobaldi_app/mainapp.py:737 msgid "Repeat selected music" msgstr "Geselecteerde muziek herhalen" -#: ../python/frescobaldi_app/mainapp.py:728 +#: ../python/frescobaldi_app/mainapp.py:743 msgid "Insert pair of braces" msgstr "Accolades invoegen" -#: ../python/frescobaldi_app/mainapp.py:776 +#: ../python/frescobaldi_app/mainapp.py:794 +msgid "Can't process document" +msgstr "Can document niet verwerken" + +#: ../python/frescobaldi_app/mainapp.py:799 +msgid "Your document has been modified, please save first." +msgstr "Uw document is gewijzigd, gelieve het eerst op te slaan." + +#: ../python/frescobaldi_app/mainapp.py:824 +msgid "There is already a LilyPond job running for this document." +msgstr "Er is reeds een LilyPond-proces actief voor dit document." + +#: ../python/frescobaldi_app/mainapp.py:860 msgid "Abort the running LilyPond process" msgstr "Het actieve LilyPond-proces afbreken" -#: ../python/frescobaldi_app/mainapp.py:779 -msgid "Run LilyPond in preview mode" -msgstr "LilyPond starten (vooruitblik)" +#: ../python/frescobaldi_app/mainapp.py:863 +msgid "Run LilyPond in preview mode (Shift-click for custom dialog)" +msgstr "LilyPond starten (vooruitblik, shift-klik voor dialoog)" + +#: ../python/frescobaldi_app/mainapp.py:872 +#: ../python/frescobaldi_app/mainapp.py:1088 +msgid "Quick Insert" +msgstr "Quick Insert" -#: ../python/frescobaldi_app/mainapp.py:796 +#: ../python/frescobaldi_app/mainapp.py:882 msgid "Apply Rhythm" msgstr "Ritme toepassen" -#: ../python/frescobaldi_app/mainapp.py:804 +#: ../python/frescobaldi_app/mainapp.py:890 msgid "Enter a rhythm:" msgstr "Voer een ritme in:" -#: ../python/frescobaldi_app/mainapp.py:807 +#: ../python/frescobaldi_app/mainapp.py:893 msgid "Enter a rhythm using space separated duration values (e.g. 8. 16 8 4 8)" msgstr "" "Voer een ritme in met nootlengtes en spaties ertussen (bijv. 8. 16 8 4 8)" -#: ../python/frescobaldi_app/mainapp.py:862 +#: ../python/frescobaldi_app/mainapp.py:917 msgid "Terminal" msgstr "Terminal" -#: ../python/frescobaldi_app/mainapp.py:900 +#: ../python/frescobaldi_app/mainapp.py:948 msgid "S&ynchronize Terminal with Current Document" msgstr "Terminal met huidig document s&ynchroniseren" -#: ../python/frescobaldi_app/mainapp.py:921 -#: ../python/frescobaldi_app/runlily.py:629 +#: ../python/frescobaldi_app/mainapp.py:969 +#: ../python/frescobaldi_app/runlily.py:783 msgid "PDF Preview" msgstr "PDF vooruitblik" -#: ../python/frescobaldi_app/mainapp.py:950 +#: ../python/frescobaldi_app/mainapp.py:1026 msgid "Show PDF Navigation Panel" msgstr "PDF-navigatiepaneel tonen" -#: ../python/frescobaldi_app/mainapp.py:951 +#: ../python/frescobaldi_app/mainapp.py:1027 msgid "Show PDF minipager" msgstr "PDF-minipager tonen" -#: ../python/frescobaldi_app/mainapp.py:952 +#: ../python/frescobaldi_app/mainapp.py:1028 msgid "Configure Okular..." msgstr "Okular instellen..." -#: ../python/frescobaldi_app/mainapp.py:955 +#: ../python/frescobaldi_app/mainapp.py:1031 msgid "S&ynchronize Preview with Current Document" msgstr "Vooruitblik met huidig document s&ynchroniseren" -#: ../python/frescobaldi_app/mainapp.py:956 +#: ../python/frescobaldi_app/mainapp.py:1032 msgid "Reload" msgstr "Opnieuw laden" -#: ../python/frescobaldi_app/mainapp.py:1024 -msgid "Quick Insert" -msgstr "Quick Insert" - -#: ../python/frescobaldi_app/mainapp.py:1036 -#: ../python/frescobaldi_app/runlily.py:334 +#: ../python/frescobaldi_app/mainapp.py:1100 +#: ../python/frescobaldi_app/runlily.py:503 msgid "LilyPond Log" msgstr "LilyPond-uitvoer" -#: ../python/frescobaldi_app/mainapp.py:1040 +#: ../python/frescobaldi_app/mainapp.py:1104 msgid "no log" msgstr "geen log" -#: ../python/frescobaldi_app/mainapp.py:1079 +#: ../python/frescobaldi_app/mainapp.py:1141 msgid "Only show on errors" msgstr "Alleen tonen bij fouten" -#: ../python/frescobaldi_app/mainapp.py:1103 +#: ../python/frescobaldi_app/mainapp.py:1165 msgid "Rumor" msgstr "Rumor" -#: ../python/frescobaldi_app/mainapp.py:1115 +#: ../python/frescobaldi_app/mainapp.py:1177 +#: ../python/frescobaldi_app/settings.py:297 msgid "LilyPond Documentation" msgstr "LilyPond-documentatie" -#: ../python/frescobaldi_app/rumor.py:72 +#: ../python/frescobaldi_app/rumor.py:73 msgid "" "The meter to use. Leave 'Auto' to let Frescobaldi determine the meter from " "the LilyPond document." @@ -1551,31 +1583,31 @@ "De te gebruiken maatsoort. Indien 'Auto', bepaalt Frescobaldi de maatsoort " "uit het huidige document." -#: ../python/frescobaldi_app/rumor.py:79 +#: ../python/frescobaldi_app/rumor.py:80 msgid "Quantize:" msgstr "Quantiseren:" -#: ../python/frescobaldi_app/rumor.py:85 +#: ../python/frescobaldi_app/rumor.py:86 msgid "The shortest note duration to use." msgstr "De kortste toegestane toonduur." -#: ../python/frescobaldi_app/rumor.py:90 +#: ../python/frescobaldi_app/rumor.py:91 msgid "Step" msgstr "Stap" -#: ../python/frescobaldi_app/rumor.py:92 +#: ../python/frescobaldi_app/rumor.py:93 msgid "Record LilyPond input note by note, without durations." msgstr "Neem noot voor noot op, zonder toonduur te registreren." -#: ../python/frescobaldi_app/rumor.py:96 +#: ../python/frescobaldi_app/rumor.py:97 msgid "Mono" msgstr "Mono" -#: ../python/frescobaldi_app/rumor.py:98 +#: ../python/frescobaldi_app/rumor.py:99 msgid "Record monophonic input, without chords." msgstr "Monofoon opnemen, zonder akkoorden." -#: ../python/frescobaldi_app/rumor.py:107 +#: ../python/frescobaldi_app/rumor.py:108 msgid "" "The number of accidentals. A negative number designates flats. Leave 'Auto' " "to let Frescobaldi determine the key signature from the LilyPond document." @@ -1583,23 +1615,23 @@ "Het aantal voortekens. Een negatieve waarde duidt mollen aan. Indien 'Auto', " "bepaalt Frescobaldi de toonsoort uit het huidige document." -#: ../python/frescobaldi_app/rumor.py:113 +#: ../python/frescobaldi_app/rumor.py:114 msgid "Tempo:" msgstr "Tempo:" -#: ../python/frescobaldi_app/rumor.py:116 +#: ../python/frescobaldi_app/rumor.py:117 msgid "Meter:" msgstr "Maatsoort:" -#: ../python/frescobaldi_app/rumor.py:119 +#: ../python/frescobaldi_app/rumor.py:120 msgid "Key:" msgstr "Toonsoort:" -#: ../python/frescobaldi_app/rumor.py:131 +#: ../python/frescobaldi_app/rumor.py:132 msgid "Configure..." msgstr "Instellen..." -#: ../python/frescobaldi_app/rumor.py:132 +#: ../python/frescobaldi_app/rumor.py:133 msgid "Adjust more settings, like MIDI input and output." msgstr "Meer instellingen, zoals MIDI in- en uitvoer." @@ -1611,59 +1643,59 @@ msgid "Set these settings as default." msgstr "Deze instelling opslaan en standaard gebruiken." -#: ../python/frescobaldi_app/rumor.py:148 +#: ../python/frescobaldi_app/rumor.py:147 msgid "Found rumor version %1." msgstr "Rumor versie %1 gevonden." -#: ../python/frescobaldi_app/rumor.py:151 +#: ../python/frescobaldi_app/rumor.py:150 msgid "Could not find Rumor: %1" msgstr "Kon Rumor niet vinden: %1" -#: ../python/frescobaldi_app/rumor.py:165 +#: ../python/frescobaldi_app/rumor.py:164 msgid "Settings have been saved." msgstr "De instellingen zijn opgeslagen." -#: ../python/frescobaldi_app/rumor.py:316 +#: ../python/frescobaldi_app/rumor.py:315 msgid "Record" msgstr "Opnemen" -#: ../python/frescobaldi_app/rumor.py:318 +#: ../python/frescobaldi_app/rumor.py:317 msgid "Start or stop Rumor MIDI-recording." msgstr "Rumor MIDI-opname starten of stoppen." -#: ../python/frescobaldi_app/rumor.py:334 +#: ../python/frescobaldi_app/rumor.py:333 msgid "Rumor is recording, press ESC to stop." msgstr "Rumor neemt op, druk op ESC om te stoppen." -#: ../python/frescobaldi_app/rumor.py:360 +#: ../python/frescobaldi_app/rumor.py:359 msgid "Rumor stopped." msgstr "Rumor is gestopt." -#: ../python/frescobaldi_app/rumor.py:394 +#: ../python/frescobaldi_app/rumor.py:393 msgid "TiMidity" msgstr "TiMidity" -#: ../python/frescobaldi_app/rumor.py:395 +#: ../python/frescobaldi_app/rumor.py:394 msgid "Start or stop the TiMidity ALSA MIDI client." msgstr "De TiMidity ALSA MIDI-client starten of stoppen." -#: ../python/frescobaldi_app/rumor.py:415 +#: ../python/frescobaldi_app/rumor.py:413 msgid "Rumor Settings" msgstr "Rumor instellingen" -#: ../python/frescobaldi_app/rumor.py:423 +#: ../python/frescobaldi_app/rumor.py:421 msgid "OSS device %1" msgstr "OSS apparaat %1" -#: ../python/frescobaldi_app/rumor.py:425 +#: ../python/frescobaldi_app/rumor.py:423 msgid "Keyboard" msgstr "Toetsenbord" -#: ../python/frescobaldi_app/rumor.py:431 +#: ../python/frescobaldi_app/rumor.py:429 msgid "MIDI input:" msgstr "MIDI invoer:" -#: ../python/frescobaldi_app/rumor.py:435 +#: ../python/frescobaldi_app/rumor.py:433 msgid "" "MIDI input to use. Choose 'Keyboard' if you want to play on the keyboard of " "your computer." @@ -1671,28 +1703,28 @@ "Het te gebruiken MIDI-invoerapparaat. Kies 'Toetsenbord' om op het " "toetsenbord van uw computer te spelen." -#: ../python/frescobaldi_app/rumor.py:441 +#: ../python/frescobaldi_app/rumor.py:439 msgid "MIDI output:" msgstr "MIDI uitvoer:" -#: ../python/frescobaldi_app/rumor.py:445 +#: ../python/frescobaldi_app/rumor.py:443 msgid "MIDI output to use." msgstr "Het te gebruiken MIDI-uitvoerapparaat." -#: ../python/frescobaldi_app/rumor.py:450 -#: ../python/frescobaldi_app/scorewiz/__init__.py:544 +#: ../python/frescobaldi_app/rumor.py:448 +#: ../python/frescobaldi_app/scorewiz/__init__.py:529 msgid "Language:" msgstr "Taal:" -#: ../python/frescobaldi_app/rumor.py:455 +#: ../python/frescobaldi_app/rumor.py:453 msgid "The LilyPond language you want Rumor to output the pitches in." msgstr "De LilyPond-taal die u wilt gebruiken voor de toonhoogtes." -#: ../python/frescobaldi_app/rumor.py:463 +#: ../python/frescobaldi_app/rumor.py:461 msgid "Explicit durations" msgstr "Expliciete toonduur" -#: ../python/frescobaldi_app/rumor.py:465 +#: ../python/frescobaldi_app/rumor.py:463 msgid "" "Add a duration after every note, even if it is the same as the preceding " "note." @@ -1700,51 +1732,51 @@ "De toonduur na elke noot weergeven, ook als deze hetzelfde is als de vorige " "noot." -#: ../python/frescobaldi_app/rumor.py:470 +#: ../python/frescobaldi_app/rumor.py:468 msgid "Absolute pitch" msgstr "Absolute toonhoogte" -#: ../python/frescobaldi_app/rumor.py:472 +#: ../python/frescobaldi_app/rumor.py:470 msgid "Use absolute pitches instead of relative." msgstr "Gebruik absolute octaafhoogte in plaats van relatieve." -#: ../python/frescobaldi_app/rumor.py:478 +#: ../python/frescobaldi_app/rumor.py:476 msgid "No barlines" msgstr "Geen maatstrepen" -#: ../python/frescobaldi_app/rumor.py:480 +#: ../python/frescobaldi_app/rumor.py:478 msgid "Filter the barlines out of Rumor's output." msgstr "Verwijder de maatstrepen uit Rumor's uitvoer." -#: ../python/frescobaldi_app/rumor.py:484 +#: ../python/frescobaldi_app/rumor.py:482 msgid "No dots" msgstr "Geen punten" -#: ../python/frescobaldi_app/rumor.py:486 +#: ../python/frescobaldi_app/rumor.py:484 msgid "Do not use dotted notes, but ties instead." msgstr "Plaats geen punt achter de noot, maar een overbindingsboogje." -#: ../python/frescobaldi_app/rumor.py:490 +#: ../python/frescobaldi_app/rumor.py:488 msgid "Legato" msgstr "Legato" -#: ../python/frescobaldi_app/rumor.py:491 +#: ../python/frescobaldi_app/rumor.py:489 msgid "Do not use rests, but give all notes the maximum length." msgstr "Gebruik geen rusten maar geef alle noten de maximale lengte." -#: ../python/frescobaldi_app/rumor.py:496 +#: ../python/frescobaldi_app/rumor.py:494 msgid "Strip rests" msgstr "Rusten verwijderen" -#: ../python/frescobaldi_app/rumor.py:498 +#: ../python/frescobaldi_app/rumor.py:496 msgid "Strip leading and trialing rests from output." msgstr "Verwijder rusten aan het begin en het einde." -#: ../python/frescobaldi_app/rumor.py:502 +#: ../python/frescobaldi_app/rumor.py:500 msgid "Guile scripts to load:" msgstr "Guile scripts om te laden:" -#: ../python/frescobaldi_app/rumor.py:509 +#: ../python/frescobaldi_app/rumor.py:507 msgid "" "Here you can select which Guile scripts you want Rumor to load. Check " "\"What's this\" for more information." @@ -1752,7 +1784,7 @@ "Hier kunt u selecteren welke Guile scripts u met Rumor wilt gebruiken. " "Raadpleeg \"Wat is dit\" voor meer informatie." -#: ../python/frescobaldi_app/rumor.py:513 +#: ../python/frescobaldi_app/rumor.py:511 msgid "" "Here you can select which Guile scripts you want Rumor to load. You can add " "your own scripts by putting them in %1. If the first line of your script " @@ -1763,55 +1795,122 @@ "regel van uw script met een puntkomma (;) begint wordt deze als omschrijving " "weergegeven." -#: ../python/frescobaldi_app/rumor.py:635 +#: ../python/frescobaldi_app/rumor.py:633 msgid "Auto" msgstr "Auto" -#: ../python/frescobaldi_app/runlily.py:88 +#: ../python/frescobaldi_app/runlily.py:101 msgid "preview mode" msgstr "vooruitblik" -#: ../python/frescobaldi_app/runlily.py:88 +#: ../python/frescobaldi_app/runlily.py:101 msgid "publish mode" msgstr "publiceren" -#: ../python/frescobaldi_app/runlily.py:89 +#: ../python/frescobaldi_app/runlily.py:104 +msgid "LilyPond %1 [%2] starting (%3)..." +msgstr "LilyPond %1 [%2] wordt gestart (%3)..." + +#: ../python/frescobaldi_app/runlily.py:107 msgid "LilyPond [%1] starting (%2)..." msgstr "LilyPond [%1] wordt gestart (%2)..." -#: ../python/frescobaldi_app/runlily.py:95 +#: ../python/frescobaldi_app/runlily.py:131 msgid "LilyPond [%1] exited with return code %2." msgstr "LilyPond [%1] stopte met foutcode %2." -#: ../python/frescobaldi_app/runlily.py:98 +#: ../python/frescobaldi_app/runlily.py:134 msgid "LilyPond [%1] exited with exit status %2." msgstr "LilyPond [%1] stopte met status %2." -#: ../python/frescobaldi_app/runlily.py:107 +#: ../python/frescobaldi_app/runlily.py:140 msgid "LilyPond [%1] finished (%2)." msgstr "LilyPond [%1] voltooid (%2)." -#: ../python/frescobaldi_app/runlily.py:115 +#: ../python/frescobaldi_app/runlily.py:150 msgid "Could not start LilyPond. Please check path and permissions." msgstr "Kon LilyPond niet starten. Controleer uw installatie." -#: ../python/frescobaldi_app/runlily.py:118 +#: ../python/frescobaldi_app/runlily.py:153 msgid "Could not read from the LilyPond process." msgstr "Kan de uitvoer van het LilyPond-proces niet lezen." -#: ../python/frescobaldi_app/runlily.py:121 +#: ../python/frescobaldi_app/runlily.py:156 msgid "An unknown error occured." msgstr "Er is een onbekende fout opgetreden." -#: ../python/frescobaldi_app/runlily.py:323 +#: ../python/frescobaldi_app/runlily.py:229 +#: ../python/frescobaldi_app/runlily.py:232 +msgid "Run LilyPond" +msgstr "LilyPond starten" + +#: ../python/frescobaldi_app/runlily.py:239 +msgid "Select which LilyPond version you want to run:" +msgstr "Selecteer de LilyPond-versie die u wilt starten:" + +#: ../python/frescobaldi_app/runlily.py:247 +msgid "Run LilyPond in preview mode (with Point and Click)" +msgstr "LilyPond starten met Point and Click (vooruitblik)" + +#: ../python/frescobaldi_app/runlily.py:250 +#: ../python/frescobaldi_app/settings.py:150 +msgid "Run LilyPond with verbose output" +msgstr "LilyPond starten met uitgebreide uitvoerberichten" + +#: ../python/frescobaldi_app/runlily.py:292 +msgid "Command" +msgstr "Commando" + +#: ../python/frescobaldi_app/runlily.py:299 +msgid "LilyPond %1" +msgstr "LilyPond %1" + +#: ../python/frescobaldi_app/runlily.py:300 +msgid "Use LilyPond version %1" +msgstr "LilyPond-versie %1 gebruiken" + +#: ../python/frescobaldi_app/runlily.py:303 +#: ../python/frescobaldi_app/settings.py:601 +msgid "default" +msgstr "standaard" + +#: ../python/frescobaldi_app/runlily.py:304 +msgid "Default LilyPond Version." +msgstr "Standaard LilyPond-versie." + +#: ../python/frescobaldi_app/runlily.py:306 +msgid "automatic" +msgstr "automatisch" + +#: ../python/frescobaldi_app/runlily.py:307 +msgid "Automatic LilyPond Version (determined from document)." +msgstr "Automatische LilyPond-versie (op basis van document)." + +#: ../python/frescobaldi_app/runlily.py:312 +msgid "Path: %1" +msgstr "Pad: %1" + +#: ../python/frescobaldi_app/runlily.py:316 +msgid "LilyPond (version unknown)" +msgstr "LilyPond (versie onbekend)" + +#: ../python/frescobaldi_app/runlily.py:317 +msgid "" +"Use LilyPond (version unknown)\n" +"Path: %1" +msgstr "" +"LilyPond (versie onbekend) gebruiken\n" +"Pad: %1" + +#: ../python/frescobaldi_app/runlily.py:491 msgid "Click to edit this file" msgstr "Klik om dit bestand te bewerken" -#: ../python/frescobaldi_app/runlily.py:355 +#: ../python/frescobaldi_app/runlily.py:524 msgid "Save LilyPond Log as" msgstr "LilyPond-uitvoer opslaan als" -#: ../python/frescobaldi_app/runlily.py:392 +#: ../python/frescobaldi_app/runlily.py:540 msgid "" "Could not save LilyPond log:\n" "\n" @@ -1821,108 +1920,96 @@ "\n" "%1" -#: ../python/frescobaldi_app/settings.py:49 +#: ../python/frescobaldi_app/settings.py:54 msgid "Configure" msgstr "Instellen" -#: ../python/frescobaldi_app/settings.py:104 +#: ../python/frescobaldi_app/settings.py:110 msgid "Editor Component" msgstr "Editor-component" -#: ../python/frescobaldi_app/settings.py:105 +#: ../python/frescobaldi_app/settings.py:111 msgid "Editor Component Options" msgstr "Instellingen voor de editor" -#: ../python/frescobaldi_app/settings.py:134 +#: ../python/frescobaldi_app/settings.py:140 msgid "General Preferences" msgstr "Algemene voorkeuren" -#: ../python/frescobaldi_app/settings.py:135 +#: ../python/frescobaldi_app/settings.py:141 msgid "General Frescobaldi Preferences" msgstr "Algemene voorkeuren voor Frescobaldi" -#: ../python/frescobaldi_app/settings.py:140 +#: ../python/frescobaldi_app/settings.py:146 msgid "Save document when LilyPond is run" msgstr "Document opslaan als LilyPond wordt gestart" -#: ../python/frescobaldi_app/settings.py:142 +#: ../python/frescobaldi_app/settings.py:148 msgid "Let LilyPond delete intermediate output files" msgstr "Laat LilyPond tussentijdse uitvoerbestanden verwijderen" -#: ../python/frescobaldi_app/settings.py:144 -msgid "Run LilyPond with verbose output" -msgstr "LilyPond starten met uitgebreide uitvoerberichten" - -#: ../python/frescobaldi_app/settings.py:146 +#: ../python/frescobaldi_app/settings.py:152 msgid "Remember cursor position, bookmarks, etc." msgstr "Cursorpositie, bladwijzers, etc. onthouden" -#: ../python/frescobaldi_app/settings.py:148 +#: ../python/frescobaldi_app/settings.py:154 msgid "Disable the built-in PDF preview" msgstr "De ingebouwde PDF-vooruitblik uitschakelen" -#: ../python/frescobaldi_app/settings.py:165 +#: ../python/frescobaldi_app/settings.py:170 msgid "LilyPond version number to use for new documents" msgstr "Het te gebruiken LilyPond-versienummer voor nieuwe documenten" -#: ../python/frescobaldi_app/settings.py:167 +#: ../python/frescobaldi_app/settings.py:172 msgid "Use version number of installed LilyPond" msgstr "Versienummer van geïnstalleerde LilyPond gebruiken" -#: ../python/frescobaldi_app/settings.py:168 +#: ../python/frescobaldi_app/settings.py:173 msgid "Use version number of last convert-ly rule" msgstr "Versienummer van laatste convert-ly regel gebruiken" -#: ../python/frescobaldi_app/settings.py:169 +#: ../python/frescobaldi_app/settings.py:174 msgid "Use custom version number:" msgstr "Aangepast versienummer gebruiken:" -#: ../python/frescobaldi_app/settings.py:175 +#: ../python/frescobaldi_app/settings.py:179 msgid "Enter a valid LilyPond version number, e.g. 2.12.0" msgstr "Voer een geldig LilyPond-versienummer in, bijv. 2.12.0" -#: ../python/frescobaldi_app/settings.py:233 +#: ../python/frescobaldi_app/settings.py:234 msgid "Paths" msgstr "Paden" -#: ../python/frescobaldi_app/settings.py:234 +#: ../python/frescobaldi_app/settings.py:235 msgid "Paths to programs or data used by Frescobaldi" msgstr "Paden naar programma's of gegevens gebruikt door Frescobaldi" -#: ../python/frescobaldi_app/settings.py:244 -msgid "Name or full path of the LilyPond program." -msgstr "Naam of pad van het LilyPond programma." - -#: ../python/frescobaldi_app/settings.py:246 -msgid "Name or full path of the convert-ly program." -msgstr "Naam of pad van het convert-ly programma." - -#: ../python/frescobaldi_app/settings.py:247 +#: ../python/frescobaldi_app/settings.py:249 msgid "PDF Viewer:" msgstr "PDF-viewer:" -#: ../python/frescobaldi_app/settings.py:248 +#: ../python/frescobaldi_app/settings.py:250 msgid "PDF Viewer" msgstr "PDF-viewer" -#: ../python/frescobaldi_app/settings.py:249 -#: ../python/frescobaldi_app/settings.py:252 +#: ../python/frescobaldi_app/settings.py:251 +#: ../python/frescobaldi_app/settings.py:254 msgid "(leave empty for operating system default)" msgstr "(als u niets opgeeft wordt de standaardapplicatie gebruikt)" -#: ../python/frescobaldi_app/settings.py:250 +#: ../python/frescobaldi_app/settings.py:252 msgid "MIDI Player:" msgstr "MIDI-speler:" -#: ../python/frescobaldi_app/settings.py:251 +#: ../python/frescobaldi_app/settings.py:253 msgid "MIDI Player" msgstr "MIDI-speler" -#: ../python/frescobaldi_app/settings.py:253 +#: ../python/frescobaldi_app/settings.py:255 msgid "Printcommand:" msgstr "Printcommando:" -#: ../python/frescobaldi_app/settings.py:254 +#: ../python/frescobaldi_app/settings.py:256 msgid "" "Command to print a PDF file, for example lpr or kprinter. You may add some " "arguments, e.g. lpr -P myprinter." @@ -1930,23 +2017,23 @@ "Commando om een PDF-bestand af te drukken, bijvoorbeeld lpr of kprinter. U " "kunt opties meegeven, bijv. lpr -P kantoor." -#: ../python/frescobaldi_app/settings.py:270 +#: ../python/frescobaldi_app/settings.py:272 msgid "Default directory:" msgstr "Standaardmap:" -#: ../python/frescobaldi_app/settings.py:275 +#: ../python/frescobaldi_app/settings.py:277 msgid "The default folder for your LilyPond documents (optional)." msgstr "De standaardmap voor uw LilyPond documenten (optioneel)." -#: ../python/frescobaldi_app/settings.py:287 +#: ../python/frescobaldi_app/settings.py:288 msgid "LilyPond documentation:" msgstr "LilyPond-documentatie:" -#: ../python/frescobaldi_app/settings.py:292 +#: ../python/frescobaldi_app/settings.py:294 msgid "Url or path to the LilyPond documentation." msgstr "Url of pad naar de LilyPond-documentatie." -#: ../python/frescobaldi_app/settings.py:304 +#: ../python/frescobaldi_app/settings.py:305 msgid "" "Paths to search for hyphenation dictionaries of OpenOffice.org, Scribus, " "KOffice, etc, one per line. If you leave out the starting slash, the " @@ -1956,23 +2043,23 @@ "Scribus of KOffice, één per regel. Als u de beginslash weglaat, wordt het " "pad gekoppeld aan alle paden in de KDEDIRS-omgevingsvariable." -#: ../python/frescobaldi_app/settings.py:363 +#: ../python/frescobaldi_app/settings.py:366 msgid "Rumor MIDI input" msgstr "Rumor MIDI-invoer" -#: ../python/frescobaldi_app/settings.py:364 +#: ../python/frescobaldi_app/settings.py:367 msgid "Rumor MIDI input plugin settings" msgstr "Instellingen voor de Rumor MIDI-invoerplugin" -#: ../python/frescobaldi_app/settings.py:369 +#: ../python/frescobaldi_app/settings.py:372 msgid "Commands used by the Rumor MIDI input module" msgstr "Commando's gebruikt door de Rumor MIDI-invoermodule" -#: ../python/frescobaldi_app/settings.py:376 +#: ../python/frescobaldi_app/settings.py:379 msgid "Name or full path of the Rumor program." msgstr "Naam of pad van het Rumor programma." -#: ../python/frescobaldi_app/settings.py:378 +#: ../python/frescobaldi_app/settings.py:381 msgid "" "Name or full path of the aconnect program (part of ALSA, for MIDI input and " "playback using Rumor)." @@ -1980,30 +2067,81 @@ "Naam of pad van het aconnect programma (onderdeel van ALSA, voor MIDI in- en " "uitvoer via Rumor)." -#: ../python/frescobaldi_app/settings.py:382 +#: ../python/frescobaldi_app/settings.py:385 msgid "" "Full command to start Timidity (or any other program) as an ALSA MIDI client." msgstr "" "Commandoregel om Timidity (of een ander programma) te starten als ALSA MIDI-" "client." -#: ../python/frescobaldi_app/version.py:55 +#: ../python/frescobaldi_app/settings.py:421 +msgid "LilyPond versions to use:" +msgstr "De te gebruiken LilyPond-versies:" + +#: ../python/frescobaldi_app/settings.py:432 +msgid "" +"Enable automatic version selection (choose LilyPond version from document)" +msgstr "" +"Automatische versie-selectie inschakelen (kiest LilyPond-versie op basis van " +"document)" + +#: ../python/frescobaldi_app/settings.py:558 +msgid "Convert-ly:" +msgstr "Convert-ly:" + +#: ../python/frescobaldi_app/settings.py:559 +msgid "Lilypond-book:" +msgstr "Lilypond-book:" + +#: ../python/frescobaldi_app/settings.py:595 +msgid "Path" +msgstr "Pad" + +#: ../python/frescobaldi_app/settings.py:596 +msgid "Version" +msgstr "Versie" + +#: ../python/frescobaldi_app/settings.py:599 +msgid "Can't determine LilyPond version." +msgstr "Kan LilyPond-versie niet bepalen." + +#: ../python/frescobaldi_app/settings.py:624 +msgid "LilyPond Command:" +msgstr "LilyPond-commando:" + +#: ../python/frescobaldi_app/settings.py:628 +msgid "Name or full path of the LilyPond program." +msgstr "Naam of pad van het LilyPond programma." + +#: ../python/frescobaldi_app/settings.py:629 +msgid "LilyPond Command" +msgstr "LilyPond-commando" + +#: ../python/frescobaldi_app/settings.py:642 +msgid "Set as default" +msgstr "Als standaard instellen" + +#: ../python/frescobaldi_app/settings.py:644 +msgid "Include in automatic version selection" +msgstr "Meenemen in automatische versie-selectie" + +#: ../python/frescobaldi_app/version.py:61 msgid "Your document has already a LilyPond version statement." msgstr "Uw document heeft reeds een LilyPond versie-commando." -#: ../python/frescobaldi_app/version.py:56 +#: ../python/frescobaldi_app/version.py:62 msgid "Version already set" msgstr "Versie al ingesteld" -#: ../python/frescobaldi_app/version.py:64 -#: ../python/frescobaldi_app/version.py:82 +#: ../python/frescobaldi_app/version.py:70 +#: ../python/frescobaldi_app/version.py:88 msgid "" "Can't determine the version of LilyPond. Please check your LilyPond " "installation." msgstr "" "Kan de versie van LilyPond niet bepalen. Controleer uw LilyPond-installatie." -#: ../python/frescobaldi_app/version.py:78 +#: ../python/frescobaldi_app/version.py:84 msgid "" "Can't determine the LilyPond version of the current document. Please add a " "\\version statement with the correct version." @@ -2011,11 +2149,11 @@ "Kan de LilyPond-versie van het huidige document niet bepalen. Voeg een " "\\version commando toe met de correcte versie van het document." -#: ../python/frescobaldi_app/version.py:86 +#: ../python/frescobaldi_app/version.py:92 msgid "This LilyPond document is already up-to-date." msgstr "Dit LilyPond-document is reeds bijgewerkt." -#: ../python/frescobaldi_app/version.py:100 +#: ../python/frescobaldi_app/version.py:105 msgid "" "The document has been processed with convert-ly. You'll find the messages of " "convert-ly in a comment block at the end. You still may have to edit some " @@ -2025,7 +2163,7 @@ "u aan het eind in een commentaarblok. Het kan zijn dat u bepaalde " "wijzigingen nog handmatig dient door te voeren." -#: ../python/frescobaldi_app/version.py:106 +#: ../python/frescobaldi_app/version.py:111 msgid "" "The document has been processed with convert-ly, but remained unchanged. " "This is the message given by convert-ly: %1" @@ -2033,184 +2171,184 @@ "Het document is verwerkt door convert-ly, maar bleef ongewijzigd. Dit is de " "melding die convert-ly gaf: %1" -#: ../python/frescobaldi_app/version.py:111 +#: ../python/frescobaldi_app/version.py:116 msgid "Could not start convert-ly: %1" msgstr "Kan convert-ly niet starten: %1" -#: ../python/frescobaldi_app/widgets.py:46 +#: ../python/frescobaldi_app/widgets.py:47 msgid "Tap" msgstr "Tik" -#: ../python/frescobaldi_app/widgets.py:52 +#: ../python/frescobaldi_app/widgets.py:53 msgid "Click this button a few times to set the tempo." msgstr "Klik een paar keer op deze knop om het tempo in te stellen." -#: ../python/frescobaldi_app/widgets.py:178 +#: ../python/frescobaldi_app/widgets.py:179 msgid "The tempo in beats per minute." msgstr "Het tempo in tellen per minuut." -#: ../python/frescobaldi_app/widgets.py:290 +#: ../python/frescobaldi_app/widgets.py:288 msgid "Treble" msgstr "Vioolsleutel" -#: ../python/frescobaldi_app/widgets.py:291 -#: ../python/frescobaldi_app/scorewiz/parts.py:809 +#: ../python/frescobaldi_app/widgets.py:289 +#: ../python/frescobaldi_app/scorewiz/parts.py:812 msgid "Alto" msgstr "Alt" -#: ../python/frescobaldi_app/widgets.py:292 -#: ../python/frescobaldi_app/scorewiz/parts.py:815 +#: ../python/frescobaldi_app/widgets.py:290 +#: ../python/frescobaldi_app/scorewiz/parts.py:818 msgid "Tenor" msgstr "Tenor" -#: ../python/frescobaldi_app/widgets.py:293 +#: ../python/frescobaldi_app/widgets.py:291 msgid "Treble 8" msgstr "Vioolsleutel met 8" -#: ../python/frescobaldi_app/widgets.py:294 -#: ../python/frescobaldi_app/scorewiz/parts.py:585 -#: ../python/frescobaldi_app/scorewiz/parts.py:822 +#: ../python/frescobaldi_app/widgets.py:292 +#: ../python/frescobaldi_app/scorewiz/parts.py:588 +#: ../python/frescobaldi_app/scorewiz/parts.py:825 msgid "Bass" msgstr "Bas" -#: ../python/frescobaldi_app/widgets.py:295 -#: ../python/frescobaldi_app/scorewiz/parts.py:1402 +#: ../python/frescobaldi_app/widgets.py:293 +#: ../python/frescobaldi_app/scorewiz/parts.py:1512 msgid "Percussion" msgstr "Percussie" -#: ../python/frescobaldi_app/widgets.py:298 +#: ../python/frescobaldi_app/widgets.py:296 msgid "Tab clef" msgstr "Tabulatuur" -#: ../python/frescobaldi_app/widgets.py:300 +#: ../python/frescobaldi_app/widgets.py:298 msgid "No Clef" msgstr "Geen sleutel" -#: ../python/frescobaldi_app/scorewiz/__init__.py:68 +#: ../python/frescobaldi_app/scorewiz/__init__.py:62 msgid "Score Setup Wizard" msgstr "Partituur opzetten" -#: ../python/frescobaldi_app/scorewiz/__init__.py:137 +#: ../python/frescobaldi_app/scorewiz/__init__.py:133 msgid "Titles and Headers" msgstr "Titels en koppen" -#: ../python/frescobaldi_app/scorewiz/__init__.py:155 +#: ../python/frescobaldi_app/scorewiz/__init__.py:151 msgid "Click to enter a value." msgstr "Klik om een waarde in te voeren." -#: ../python/frescobaldi_app/scorewiz/__init__.py:157 +#: ../python/frescobaldi_app/scorewiz/__init__.py:153 msgid "bottom of first page" msgstr "onderaan eerste pagina" -#: ../python/frescobaldi_app/scorewiz/__init__.py:158 +#: ../python/frescobaldi_app/scorewiz/__init__.py:154 msgid "bottom of last page" msgstr "onderaan laatste pagina" -#: ../python/frescobaldi_app/scorewiz/__init__.py:201 +#: ../python/frescobaldi_app/scorewiz/__init__.py:194 msgid "Parts" msgstr "Partijen" -#: ../python/frescobaldi_app/scorewiz/__init__.py:206 +#: ../python/frescobaldi_app/scorewiz/__init__.py:199 msgid "Available parts:" msgstr "Beschikbare partijen:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:209 +#: ../python/frescobaldi_app/scorewiz/__init__.py:202 msgid "Add selected part to your score." msgstr "Geselecteerde partij aan uw partituur toevoegen." -#: ../python/frescobaldi_app/scorewiz/__init__.py:214 +#: ../python/frescobaldi_app/scorewiz/__init__.py:207 msgid "Score:" msgstr "Partituur:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:348 -#: ../python/frescobaldi_app/scorewiz/__init__.py:353 +#: ../python/frescobaldi_app/scorewiz/__init__.py:341 +#: ../python/frescobaldi_app/scorewiz/__init__.py:346 msgid "Score settings" msgstr "Partituur-instellingen" -#: ../python/frescobaldi_app/scorewiz/__init__.py:360 +#: ../python/frescobaldi_app/scorewiz/__init__.py:353 msgid "General preferences" msgstr "Algemene voorkeuren" -#: ../python/frescobaldi_app/scorewiz/__init__.py:362 +#: ../python/frescobaldi_app/scorewiz/__init__.py:355 msgid "Instrument names" msgstr "Instrumentnamen" -#: ../python/frescobaldi_app/scorewiz/__init__.py:369 +#: ../python/frescobaldi_app/scorewiz/__init__.py:362 msgid "Key signature:" msgstr "Toonsoort:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:377 +#: ../python/frescobaldi_app/scorewiz/__init__.py:370 msgid "Time signature:" msgstr "Maatsoort:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:393 +#: ../python/frescobaldi_app/scorewiz/__init__.py:386 msgid "Pickup measure:" msgstr "Opmaat:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:405 +#: ../python/frescobaldi_app/scorewiz/__init__.py:398 msgid "Metronome mark:" msgstr "Metronoomgetal:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:434 +#: ../python/frescobaldi_app/scorewiz/__init__.py:427 msgid "Tempo indication:" msgstr "Tempo-aanduiding:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:438 +#: ../python/frescobaldi_app/scorewiz/__init__.py:431 msgid "A tempo indication, e.g. \"Allegro.\"" msgstr "Een tempo-aanduiding, zoals \"Allegro.\"" -#: ../python/frescobaldi_app/scorewiz/__init__.py:444 +#: ../python/frescobaldi_app/scorewiz/__init__.py:437 msgid "Pitch name language:" msgstr "Taal voor nootnamen:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:452 +#: ../python/frescobaldi_app/scorewiz/__init__.py:445 msgid "The LilyPond language you want to use for the pitch names." msgstr "De LilyPond-taal die u wilt gebruiken voor de toonhoogtes." -#: ../python/frescobaldi_app/scorewiz/__init__.py:469 +#: ../python/frescobaldi_app/scorewiz/__init__.py:451 msgid "Version:" msgstr "Versie:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:478 +#: ../python/frescobaldi_app/scorewiz/__init__.py:460 msgid "The LilyPond version you will be using for this document." msgstr "De LilyPond-versie die u wilt gebruiken voor dit document." -#: ../python/frescobaldi_app/scorewiz/__init__.py:482 +#: ../python/frescobaldi_app/scorewiz/__init__.py:464 msgid "Use typographical quotes" msgstr "Typografische aanhalingstekens" -#: ../python/frescobaldi_app/scorewiz/__init__.py:484 +#: ../python/frescobaldi_app/scorewiz/__init__.py:466 msgid "Replace normal quotes in titles with nice typographical quotes." msgstr "" "Vervang normale aanhalingstekens in titels met fraaie typografische " "aanhalingstekens." -#: ../python/frescobaldi_app/scorewiz/__init__.py:488 +#: ../python/frescobaldi_app/scorewiz/__init__.py:470 msgid "Suppress the default tagline output by LilyPond." msgstr "Onderdrukt de weergave van de standaard tagline door LilyPond." -#: ../python/frescobaldi_app/scorewiz/__init__.py:490 +#: ../python/frescobaldi_app/scorewiz/__init__.py:472 msgid "Remove bar numbers" msgstr "Maatnummers verwijderen" -#: ../python/frescobaldi_app/scorewiz/__init__.py:492 +#: ../python/frescobaldi_app/scorewiz/__init__.py:474 msgid "" "Suppress the display of measure numbers at the beginning of every system." msgstr "Onderdrukt de weergave van maatnummers aan het begin van elk systeem." -#: ../python/frescobaldi_app/scorewiz/__init__.py:495 +#: ../python/frescobaldi_app/scorewiz/__init__.py:477 msgid "Create MIDI output" msgstr "MIDI uitvoer aanmaken" -#: ../python/frescobaldi_app/scorewiz/__init__.py:497 +#: ../python/frescobaldi_app/scorewiz/__init__.py:479 msgid "Create a MIDI file in addition to the PDF file." msgstr "Maak, behalve een PDF, ook een MIDI-bestand aan." -#: ../python/frescobaldi_app/scorewiz/__init__.py:499 +#: ../python/frescobaldi_app/scorewiz/__init__.py:481 msgid "Show metronome mark" msgstr "Metronoomgetal weergeven" -#: ../python/frescobaldi_app/scorewiz/__init__.py:501 +#: ../python/frescobaldi_app/scorewiz/__init__.py:483 msgid "" "If checked, show the metronome mark at the beginning of the score. The MIDI " "output also uses the metronome setting." @@ -2218,151 +2356,159 @@ "Indien aangekruist, toont het metronoomgetal aan het begin van de partituur. " "De MIDI-uitvoer gebruikt deze instelling ook." -#: ../python/frescobaldi_app/scorewiz/__init__.py:512 +#: ../python/frescobaldi_app/scorewiz/__init__.py:487 +msgid "Wrap score in \\book block" +msgstr "Partituur in \\book-blok plaatsen" + +#: ../python/frescobaldi_app/scorewiz/__init__.py:489 +msgid "If checked, wraps the \\score block inside a \\book block." +msgstr "Indien aangekruist, plaatst het \\score-blok in een \\book-blok." + +#: ../python/frescobaldi_app/scorewiz/__init__.py:499 msgid "Landscape" msgstr "Oblong" -#: ../python/frescobaldi_app/scorewiz/__init__.py:526 +#: ../python/frescobaldi_app/scorewiz/__init__.py:511 msgid "First system:" msgstr "Eerste systeem:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:529 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/scorewiz/__init__.py:514 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "Long" msgstr "Lang" -#: ../python/frescobaldi_app/scorewiz/__init__.py:529 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/scorewiz/__init__.py:514 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "Short" msgstr "Kort" -#: ../python/frescobaldi_app/scorewiz/__init__.py:531 +#: ../python/frescobaldi_app/scorewiz/__init__.py:516 msgid "Use long or short instrument names before the first system." msgstr "Gebruik lange of korte instrumentnamen voor het eerste systeem." -#: ../python/frescobaldi_app/scorewiz/__init__.py:535 +#: ../python/frescobaldi_app/scorewiz/__init__.py:520 msgid "Other systems:" msgstr "Volgende systemen:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:540 +#: ../python/frescobaldi_app/scorewiz/__init__.py:525 msgid "Use short, long or no instrument names before the next systems." msgstr "" "Gebruik korte, lange of geen instrumentnamen voor de volgende systemen." -#: ../python/frescobaldi_app/scorewiz/__init__.py:548 +#: ../python/frescobaldi_app/scorewiz/__init__.py:533 msgid "Which language to use for the instrument names." msgstr "De taal die u wilt gebruiken voor de instrumentnamen." -#: ../python/frescobaldi_app/scorewiz/__init__.py:726 +#: ../python/frescobaldi_app/scorewiz/__init__.py:736 msgid "Remove default LilyPond tagline" msgstr "Standaard LilyPond-tagline verwijderen" -#: ../python/frescobaldi_app/scorewiz/__init__.py:1040 +#: ../python/frescobaldi_app/scorewiz/__init__.py:1077 msgid "No settings available." msgstr "Geen instellingen beschikbaar." -#: ../python/frescobaldi_app/scorewiz/parts.py:50 +#: ../python/frescobaldi_app/scorewiz/parts.py:54 msgid "Voices:" msgstr "Stemmen:" -#: ../python/frescobaldi_app/scorewiz/parts.py:55 +#: ../python/frescobaldi_app/scorewiz/parts.py:59 msgid "How many voices to put in this staff." msgstr "Hoeveel stemmen u in deze balk wilt." -#: ../python/frescobaldi_app/scorewiz/parts.py:93 +#: ../python/frescobaldi_app/scorewiz/parts.py:97 msgid "Music follows here." msgstr "Muziek volgt hier." -#: ../python/frescobaldi_app/scorewiz/parts.py:160 +#: ../python/frescobaldi_app/scorewiz/parts.py:164 msgid "Staff type:" msgstr "Type balk:" -#: ../python/frescobaldi_app/scorewiz/parts.py:164 +#: ../python/frescobaldi_app/scorewiz/parts.py:168 msgid "Normal staff" msgstr "Normaal" -#: ../python/frescobaldi_app/scorewiz/parts.py:165 +#: ../python/frescobaldi_app/scorewiz/parts.py:169 msgid "Tablature" msgstr "Tabulatuur" -#: ../python/frescobaldi_app/scorewiz/parts.py:166 +#: ../python/frescobaldi_app/scorewiz/parts.py:170 msgid "Both" msgstr "Beide" -#: ../python/frescobaldi_app/scorewiz/parts.py:177 +#: ../python/frescobaldi_app/scorewiz/parts.py:180 msgid "Tuning:" msgstr "Stemming:" -#: ../python/frescobaldi_app/scorewiz/parts.py:298 +#: ../python/frescobaldi_app/scorewiz/parts.py:301 msgid "Lyrics follow here." msgstr "Liedtekst volgt hier." -#: ../python/frescobaldi_app/scorewiz/parts.py:309 +#: ../python/frescobaldi_app/scorewiz/parts.py:312 msgid "Stanzas:" msgstr "Coupletten:" -#: ../python/frescobaldi_app/scorewiz/parts.py:313 +#: ../python/frescobaldi_app/scorewiz/parts.py:316 msgid "The number of stanzas." msgstr "Het aantal coupletten." -#: ../python/frescobaldi_app/scorewiz/parts.py:316 +#: ../python/frescobaldi_app/scorewiz/parts.py:319 msgid "Ambitus" msgstr "Ambitus" -#: ../python/frescobaldi_app/scorewiz/parts.py:319 +#: ../python/frescobaldi_app/scorewiz/parts.py:322 msgid "Show the pitch range of the voice at the beginning of the staff." msgstr "Toont het bereik van een zangstem aan het begin van de balk." -#: ../python/frescobaldi_app/scorewiz/parts.py:383 +#: ../python/frescobaldi_app/scorewiz/parts.py:386 msgid "Adjust how many separate voices you want on each staff." msgstr "Hier kunt u instellen hoeveel aparte stemmen u in elke balk wilt." -#: ../python/frescobaldi_app/scorewiz/parts.py:384 +#: ../python/frescobaldi_app/scorewiz/parts.py:387 msgid "This is primarily useful when you write polyphonic music like a fuge." msgstr "Dit is vooral handig als u polyfone muziek schrijft zoals een fuga." -#: ../python/frescobaldi_app/scorewiz/parts.py:388 +#: ../python/frescobaldi_app/scorewiz/parts.py:391 msgid "Right hand:" msgstr "Rechts:" -#: ../python/frescobaldi_app/scorewiz/parts.py:389 +#: ../python/frescobaldi_app/scorewiz/parts.py:392 msgid "Left hand:" msgstr "Links:" -#: ../python/frescobaldi_app/scorewiz/parts.py:408 -#: ../python/frescobaldi_app/scorewiz/parts.py:895 +#: ../python/frescobaldi_app/scorewiz/parts.py:411 +#: ../python/frescobaldi_app/scorewiz/parts.py:898 msgid "Chord names" msgstr "Akkoordnamen" -#: ../python/frescobaldi_app/scorewiz/parts.py:420 +#: ../python/frescobaldi_app/scorewiz/parts.py:423 msgid "Chords follow here." msgstr "Akkoordnamen volgen." -#: ../python/frescobaldi_app/scorewiz/parts.py:432 +#: ../python/frescobaldi_app/scorewiz/parts.py:435 msgid "Chord style:" msgstr "Akkoordstijl:" -#: ../python/frescobaldi_app/scorewiz/parts.py:437 +#: ../python/frescobaldi_app/scorewiz/parts.py:440 msgid "German" msgstr "Duits" -#: ../python/frescobaldi_app/scorewiz/parts.py:438 +#: ../python/frescobaldi_app/scorewiz/parts.py:441 msgid "Semi-German" msgstr "Semi-Duits" -#: ../python/frescobaldi_app/scorewiz/parts.py:439 +#: ../python/frescobaldi_app/scorewiz/parts.py:442 msgid "Italian" msgstr "Italiaans" -#: ../python/frescobaldi_app/scorewiz/parts.py:440 +#: ../python/frescobaldi_app/scorewiz/parts.py:443 msgid "French" msgstr "Frans" -#: ../python/frescobaldi_app/scorewiz/parts.py:441 +#: ../python/frescobaldi_app/scorewiz/parts.py:444 msgid "Guitar fret diagrams" msgstr "Gitaar-fretdiagrammen" -#: ../python/frescobaldi_app/scorewiz/parts.py:443 +#: ../python/frescobaldi_app/scorewiz/parts.py:446 msgid "" "Show predefined guitar fret diagrams below the chord names (LilyPond 2.12 " "and above)." @@ -2370,392 +2516,392 @@ "Voorgedefiniëerde gitaar-fretdiagrammen afbeelden onder de akkoordnamen " "(LilyPond 2.12 en hoger)." -#: ../python/frescobaldi_app/scorewiz/parts.py:449 +#: ../python/frescobaldi_app/scorewiz/parts.py:452 msgid "Figured Bass" msgstr "Becijferde bas" -#: ../python/frescobaldi_app/scorewiz/parts.py:457 -#: ../python/frescobaldi_app/scorewiz/parts.py:516 +#: ../python/frescobaldi_app/scorewiz/parts.py:460 +#: ../python/frescobaldi_app/scorewiz/parts.py:519 msgid "Figures follow here." msgstr "Bas-becijfering volgt." -#: ../python/frescobaldi_app/scorewiz/parts.py:464 +#: ../python/frescobaldi_app/scorewiz/parts.py:467 msgid "Use extender lines" msgstr "Extender-lijnen gebruiken" -#: ../python/frescobaldi_app/scorewiz/parts.py:469 +#: ../python/frescobaldi_app/scorewiz/parts.py:472 msgid "Violin" msgstr "Viool" -#: ../python/frescobaldi_app/scorewiz/parts.py:470 +#: ../python/frescobaldi_app/scorewiz/parts.py:473 msgid "Violin|Vl." msgstr "Viool|Vl." -#: ../python/frescobaldi_app/scorewiz/parts.py:475 +#: ../python/frescobaldi_app/scorewiz/parts.py:478 msgid "Viola" msgstr "Altviool" -#: ../python/frescobaldi_app/scorewiz/parts.py:476 +#: ../python/frescobaldi_app/scorewiz/parts.py:479 msgid "Viola|Vla." msgstr "Altviool|Avl." -#: ../python/frescobaldi_app/scorewiz/parts.py:483 +#: ../python/frescobaldi_app/scorewiz/parts.py:486 msgid "Cello" msgstr "Cello" -#: ../python/frescobaldi_app/scorewiz/parts.py:484 +#: ../python/frescobaldi_app/scorewiz/parts.py:487 msgid "Cello|Cl." msgstr "Cello|Cl." -#: ../python/frescobaldi_app/scorewiz/parts.py:491 +#: ../python/frescobaldi_app/scorewiz/parts.py:494 msgid "Contrabass" msgstr "Contrabas" -#: ../python/frescobaldi_app/scorewiz/parts.py:492 +#: ../python/frescobaldi_app/scorewiz/parts.py:495 msgid "Contrabass|Cb." msgstr "Contrabas|Cb." -#: ../python/frescobaldi_app/scorewiz/parts.py:499 +#: ../python/frescobaldi_app/scorewiz/parts.py:502 msgid "Basso continuo" msgstr "Basso continuo" -#: ../python/frescobaldi_app/scorewiz/parts.py:500 +#: ../python/frescobaldi_app/scorewiz/parts.py:503 msgid "Basso Continuo|B.c." msgstr "Basso continuo|B.c." -#: ../python/frescobaldi_app/scorewiz/parts.py:522 +#: ../python/frescobaldi_app/scorewiz/parts.py:525 msgid "Mandolin" msgstr "Mandoline" -#: ../python/frescobaldi_app/scorewiz/parts.py:523 +#: ../python/frescobaldi_app/scorewiz/parts.py:526 msgid "Mandolin|Mdl." msgstr "Mandoline|Mdl." -#: ../python/frescobaldi_app/scorewiz/parts.py:526 +#: ../python/frescobaldi_app/scorewiz/parts.py:529 msgid "Mandolin tuning" msgstr "Mandoline-stemming" -#: ../python/frescobaldi_app/scorewiz/parts.py:531 +#: ../python/frescobaldi_app/scorewiz/parts.py:534 msgid "Banjo" msgstr "Banjo" -#: ../python/frescobaldi_app/scorewiz/parts.py:532 +#: ../python/frescobaldi_app/scorewiz/parts.py:535 msgid "Banjo|Bj." msgstr "Banjo|Bj." -#: ../python/frescobaldi_app/scorewiz/parts.py:536 +#: ../python/frescobaldi_app/scorewiz/parts.py:539 msgid "Open G-tuning (aDGBD)" msgstr "Open G-stemming (aDGBD)" -#: ../python/frescobaldi_app/scorewiz/parts.py:537 +#: ../python/frescobaldi_app/scorewiz/parts.py:540 msgid "C-tuning (gCGBD)" msgstr "C-stemming (gCGBD)" -#: ../python/frescobaldi_app/scorewiz/parts.py:538 +#: ../python/frescobaldi_app/scorewiz/parts.py:541 msgid "Modal tuning (gDGCD)" msgstr "Modale stemming (gDGCD)" -#: ../python/frescobaldi_app/scorewiz/parts.py:539 +#: ../python/frescobaldi_app/scorewiz/parts.py:542 msgid "Open D-tuning (aDF#AD)" msgstr "Open D-stemming (aDF#AD)" -#: ../python/frescobaldi_app/scorewiz/parts.py:540 +#: ../python/frescobaldi_app/scorewiz/parts.py:543 msgid "Open Dm-tuning (aDFAD)" msgstr "Open Dm-stemming (aDFAD)" -#: ../python/frescobaldi_app/scorewiz/parts.py:544 +#: ../python/frescobaldi_app/scorewiz/parts.py:547 msgid "Four strings (instead of five)" msgstr "Vier snaren (ipv vijf)" -#: ../python/frescobaldi_app/scorewiz/parts.py:561 +#: ../python/frescobaldi_app/scorewiz/parts.py:564 msgid "Classical guitar" msgstr "Klassiek gitaar" -#: ../python/frescobaldi_app/scorewiz/parts.py:562 +#: ../python/frescobaldi_app/scorewiz/parts.py:565 msgid "Guitar|Gt." msgstr "Gitaar|Gt." -#: ../python/frescobaldi_app/scorewiz/parts.py:566 +#: ../python/frescobaldi_app/scorewiz/parts.py:569 msgid "Guitar tuning" msgstr "Gitaarstemming" -#: ../python/frescobaldi_app/scorewiz/parts.py:567 +#: ../python/frescobaldi_app/scorewiz/parts.py:570 msgid "Open G-tuning" msgstr "Open G-stemming" -#: ../python/frescobaldi_app/scorewiz/parts.py:579 +#: ../python/frescobaldi_app/scorewiz/parts.py:582 msgid "Jazz guitar" msgstr "Jazzgitaar" -#: ../python/frescobaldi_app/scorewiz/parts.py:580 +#: ../python/frescobaldi_app/scorewiz/parts.py:583 msgid "Jazz guitar|J.Gt." msgstr "Jazzgitaar|J.gt." -#: ../python/frescobaldi_app/scorewiz/parts.py:586 +#: ../python/frescobaldi_app/scorewiz/parts.py:589 msgid "Bass|Bs." msgstr "Bas|Bs." -#: ../python/frescobaldi_app/scorewiz/parts.py:591 +#: ../python/frescobaldi_app/scorewiz/parts.py:594 msgid "Bass tuning" msgstr "Basstemming" -#: ../python/frescobaldi_app/scorewiz/parts.py:596 +#: ../python/frescobaldi_app/scorewiz/parts.py:599 msgid "Electric bass" msgstr "Electrische bas" -#: ../python/frescobaldi_app/scorewiz/parts.py:597 +#: ../python/frescobaldi_app/scorewiz/parts.py:600 msgid "Electric bass|E.Bs." msgstr "Electrische bas|E.Bs." -#: ../python/frescobaldi_app/scorewiz/parts.py:602 +#: ../python/frescobaldi_app/scorewiz/parts.py:605 msgid "Harp" msgstr "Harp" -#: ../python/frescobaldi_app/scorewiz/parts.py:603 +#: ../python/frescobaldi_app/scorewiz/parts.py:606 msgid "Harp|Hp." msgstr "Harp|Hp." -#: ../python/frescobaldi_app/scorewiz/parts.py:618 +#: ../python/frescobaldi_app/scorewiz/parts.py:621 msgid "Upper staff:" msgstr "Bovenste balk:" -#: ../python/frescobaldi_app/scorewiz/parts.py:619 +#: ../python/frescobaldi_app/scorewiz/parts.py:622 msgid "Lower staff:" msgstr "Onderste balk:" -#: ../python/frescobaldi_app/scorewiz/parts.py:623 +#: ../python/frescobaldi_app/scorewiz/parts.py:626 msgid "Flute" msgstr "Fluit" -#: ../python/frescobaldi_app/scorewiz/parts.py:624 +#: ../python/frescobaldi_app/scorewiz/parts.py:627 msgid "Flute|Fl." msgstr "Fluit|Fl." -#: ../python/frescobaldi_app/scorewiz/parts.py:629 +#: ../python/frescobaldi_app/scorewiz/parts.py:632 msgid "Piccolo" msgstr "Piccolo" -#: ../python/frescobaldi_app/scorewiz/parts.py:630 +#: ../python/frescobaldi_app/scorewiz/parts.py:633 msgid "Piccolo|Pic." msgstr "Piccolo|Pic." -#: ../python/frescobaldi_app/scorewiz/parts.py:636 +#: ../python/frescobaldi_app/scorewiz/parts.py:639 msgid "Bass flute" msgstr "Basfluit" -#: ../python/frescobaldi_app/scorewiz/parts.py:637 +#: ../python/frescobaldi_app/scorewiz/parts.py:640 msgid "Bass flute|Bfl." msgstr "Basfluit|Bfl." -#: ../python/frescobaldi_app/scorewiz/parts.py:643 +#: ../python/frescobaldi_app/scorewiz/parts.py:646 msgid "Oboe" msgstr "Hobo" -#: ../python/frescobaldi_app/scorewiz/parts.py:644 +#: ../python/frescobaldi_app/scorewiz/parts.py:647 msgid "Oboe|Ob." msgstr "Hobo|Hb." -#: ../python/frescobaldi_app/scorewiz/parts.py:649 +#: ../python/frescobaldi_app/scorewiz/parts.py:652 msgid "Oboe d'Amore" msgstr "Liefdeshobo" -#: ../python/frescobaldi_app/scorewiz/parts.py:650 +#: ../python/frescobaldi_app/scorewiz/parts.py:653 msgid "Oboe d'amore|Ob.d'am." msgstr "Liefdeshobo|Lhb." -#: ../python/frescobaldi_app/scorewiz/parts.py:656 +#: ../python/frescobaldi_app/scorewiz/parts.py:659 msgid "English Horn" msgstr "Althobo (Engelse hoorn)" -#: ../python/frescobaldi_app/scorewiz/parts.py:657 +#: ../python/frescobaldi_app/scorewiz/parts.py:660 msgid "English horn|Eng.h." msgstr "Althobo|Ahb." -#: ../python/frescobaldi_app/scorewiz/parts.py:663 +#: ../python/frescobaldi_app/scorewiz/parts.py:666 msgid "Bassoon" msgstr "Fagot" -#: ../python/frescobaldi_app/scorewiz/parts.py:664 +#: ../python/frescobaldi_app/scorewiz/parts.py:667 msgid "Bassoon|Bn." msgstr "Fagot|Fag." -#: ../python/frescobaldi_app/scorewiz/parts.py:671 +#: ../python/frescobaldi_app/scorewiz/parts.py:674 msgid "Contrabassoon" msgstr "Contrafagot" -#: ../python/frescobaldi_app/scorewiz/parts.py:672 +#: ../python/frescobaldi_app/scorewiz/parts.py:675 msgid "Contrabassoon|C.Bn." msgstr "Contrafagot|Cfag." -#: ../python/frescobaldi_app/scorewiz/parts.py:680 +#: ../python/frescobaldi_app/scorewiz/parts.py:683 msgid "Clarinet" msgstr "Klarinet" -#: ../python/frescobaldi_app/scorewiz/parts.py:681 +#: ../python/frescobaldi_app/scorewiz/parts.py:684 msgid "Clarinet|Cl." msgstr "Klarinet|Klar." -#: ../python/frescobaldi_app/scorewiz/parts.py:687 +#: ../python/frescobaldi_app/scorewiz/parts.py:690 msgid "Sopranino Sax" msgstr "Sopraninosax" -#: ../python/frescobaldi_app/scorewiz/parts.py:688 +#: ../python/frescobaldi_app/scorewiz/parts.py:691 msgid "Sopranino Sax|SiSx." msgstr "Sopraninosax|Sisx." -#: ../python/frescobaldi_app/scorewiz/parts.py:694 +#: ../python/frescobaldi_app/scorewiz/parts.py:697 msgid "Soprano Sax" msgstr "Sopraansax" -#: ../python/frescobaldi_app/scorewiz/parts.py:695 +#: ../python/frescobaldi_app/scorewiz/parts.py:698 msgid "Soprano Sax|SoSx." msgstr "Sopraansax|Sosx." -#: ../python/frescobaldi_app/scorewiz/parts.py:701 +#: ../python/frescobaldi_app/scorewiz/parts.py:704 msgid "Alto Sax" msgstr "Altsax" -#: ../python/frescobaldi_app/scorewiz/parts.py:702 +#: ../python/frescobaldi_app/scorewiz/parts.py:705 msgid "Alto Sax|ASx." msgstr "Altsax|Asx." -#: ../python/frescobaldi_app/scorewiz/parts.py:708 +#: ../python/frescobaldi_app/scorewiz/parts.py:711 msgid "Tenor Sax" msgstr "Tenorsax" -#: ../python/frescobaldi_app/scorewiz/parts.py:709 +#: ../python/frescobaldi_app/scorewiz/parts.py:712 msgid "Tenor Sax|TSx." msgstr "Tenorsax|Tsx." -#: ../python/frescobaldi_app/scorewiz/parts.py:715 +#: ../python/frescobaldi_app/scorewiz/parts.py:718 msgid "Baritone Sax" msgstr "Baritonsax" -#: ../python/frescobaldi_app/scorewiz/parts.py:716 +#: ../python/frescobaldi_app/scorewiz/parts.py:719 msgid "Baritone Sax|BSx." msgstr "Baritonsax|Bsx." -#: ../python/frescobaldi_app/scorewiz/parts.py:722 +#: ../python/frescobaldi_app/scorewiz/parts.py:725 msgid "Bass Sax" msgstr "Bassax" -#: ../python/frescobaldi_app/scorewiz/parts.py:723 +#: ../python/frescobaldi_app/scorewiz/parts.py:726 msgid "Bass Sax|BsSx." msgstr "Bassax|Bssx." -#: ../python/frescobaldi_app/scorewiz/parts.py:729 +#: ../python/frescobaldi_app/scorewiz/parts.py:732 msgid "Soprano recorder" msgstr "Sopraanblokfluit" -#: ../python/frescobaldi_app/scorewiz/parts.py:730 +#: ../python/frescobaldi_app/scorewiz/parts.py:733 msgid "Soprano recorder|S.rec." msgstr "Sopraanblokfluit|Sbfl." -#: ../python/frescobaldi_app/scorewiz/parts.py:736 +#: ../python/frescobaldi_app/scorewiz/parts.py:739 msgid "Alto recorder" msgstr "Altblokfluit" -#: ../python/frescobaldi_app/scorewiz/parts.py:737 +#: ../python/frescobaldi_app/scorewiz/parts.py:740 msgid "Alto recorder|A.rec." msgstr "Altblokfluit|Ablf." -#: ../python/frescobaldi_app/scorewiz/parts.py:742 +#: ../python/frescobaldi_app/scorewiz/parts.py:745 msgid "Tenor recorder" msgstr "Tenorblokfluit" -#: ../python/frescobaldi_app/scorewiz/parts.py:743 +#: ../python/frescobaldi_app/scorewiz/parts.py:746 msgid "Tenor recorder|T.rec." msgstr "Tenorblokfluit|Tblf." -#: ../python/frescobaldi_app/scorewiz/parts.py:748 +#: ../python/frescobaldi_app/scorewiz/parts.py:751 msgid "Bass recorder" msgstr "Basblokfluit" -#: ../python/frescobaldi_app/scorewiz/parts.py:749 +#: ../python/frescobaldi_app/scorewiz/parts.py:752 msgid "Bass recorder|B.rec." msgstr "Basblokfluit|Bblf." -#: ../python/frescobaldi_app/scorewiz/parts.py:756 +#: ../python/frescobaldi_app/scorewiz/parts.py:759 msgid "Horn in F" msgstr "Hoorn in F" -#: ../python/frescobaldi_app/scorewiz/parts.py:757 +#: ../python/frescobaldi_app/scorewiz/parts.py:760 msgid "Horn in F|Hn.F." msgstr "Hoorn in F|Hn.F." -#: ../python/frescobaldi_app/scorewiz/parts.py:763 +#: ../python/frescobaldi_app/scorewiz/parts.py:766 msgid "Trumpet in C" msgstr "Trompet in C" -#: ../python/frescobaldi_app/scorewiz/parts.py:764 +#: ../python/frescobaldi_app/scorewiz/parts.py:767 msgid "Trumpet in C|Tr.C" msgstr "Trompet in C|Tr.C" -#: ../python/frescobaldi_app/scorewiz/parts.py:769 +#: ../python/frescobaldi_app/scorewiz/parts.py:772 msgid "Trumpet in Bb" msgstr "Trompet in Bes" -#: ../python/frescobaldi_app/scorewiz/parts.py:770 +#: ../python/frescobaldi_app/scorewiz/parts.py:773 msgid "Trumpet in Bb|Tr.Bb" msgstr "Trompet in Bes|Tr.Bes" -#: ../python/frescobaldi_app/scorewiz/parts.py:775 +#: ../python/frescobaldi_app/scorewiz/parts.py:778 msgid "Trombone" msgstr "Trombone" -#: ../python/frescobaldi_app/scorewiz/parts.py:776 +#: ../python/frescobaldi_app/scorewiz/parts.py:779 msgid "Trombone|Trb." msgstr "Trombone|Trb." -#: ../python/frescobaldi_app/scorewiz/parts.py:783 +#: ../python/frescobaldi_app/scorewiz/parts.py:786 msgid "Tuba" msgstr "Tuba" -#: ../python/frescobaldi_app/scorewiz/parts.py:784 +#: ../python/frescobaldi_app/scorewiz/parts.py:787 msgid "Tuba|Tb." msgstr "Tuba|Tb." -#: ../python/frescobaldi_app/scorewiz/parts.py:790 +#: ../python/frescobaldi_app/scorewiz/parts.py:793 msgid "Bass Tuba" msgstr "Bastuba" -#: ../python/frescobaldi_app/scorewiz/parts.py:791 +#: ../python/frescobaldi_app/scorewiz/parts.py:794 msgid "Bass Tuba|B.Tb." msgstr "Bastuba|Btb." -#: ../python/frescobaldi_app/scorewiz/parts.py:799 +#: ../python/frescobaldi_app/scorewiz/parts.py:802 msgid "Soprano" msgstr "Sopraan" -#: ../python/frescobaldi_app/scorewiz/parts.py:800 +#: ../python/frescobaldi_app/scorewiz/parts.py:803 msgid "Soprano|S." msgstr "Sopraan|S." -#: ../python/frescobaldi_app/scorewiz/parts.py:804 +#: ../python/frescobaldi_app/scorewiz/parts.py:807 msgid "Mezzo soprano" msgstr "Mezzosopraan" -#: ../python/frescobaldi_app/scorewiz/parts.py:805 +#: ../python/frescobaldi_app/scorewiz/parts.py:808 msgid "Mezzo-soprano|Ms." msgstr "Mezzosopraan|Ms." -#: ../python/frescobaldi_app/scorewiz/parts.py:810 +#: ../python/frescobaldi_app/scorewiz/parts.py:813 msgid "Alto|A." msgstr "Alt|A." -#: ../python/frescobaldi_app/scorewiz/parts.py:816 +#: ../python/frescobaldi_app/scorewiz/parts.py:819 msgid "Tenor|T." msgstr "Tenor|T." -#: ../python/frescobaldi_app/scorewiz/parts.py:823 +#: ../python/frescobaldi_app/scorewiz/parts.py:826 msgid "Bass|B." msgstr "Bas|B." -#: ../python/frescobaldi_app/scorewiz/parts.py:829 +#: ../python/frescobaldi_app/scorewiz/parts.py:832 msgid "Lead sheet" msgstr "Lead-sheet" -#: ../python/frescobaldi_app/scorewiz/parts.py:891 +#: ../python/frescobaldi_app/scorewiz/parts.py:894 msgid "" "The Lead Sheet provides a staff with chord names above and lyrics below it. " "A second staff is optional." @@ -2763,22 +2909,22 @@ "Met een \"Lead-sheet\" krijgt u een balk met akkoordnamen erboven en " "liedteksten eronder. Een tweede balk is optioneel." -#: ../python/frescobaldi_app/scorewiz/parts.py:902 +#: ../python/frescobaldi_app/scorewiz/parts.py:905 msgid "Add accompaniment staff" msgstr "Begeleidingsbalk toevoegen" -#: ../python/frescobaldi_app/scorewiz/parts.py:904 +#: ../python/frescobaldi_app/scorewiz/parts.py:907 msgid "" "Adds an accompaniment staff and also puts an accompaniment voice in the " "upper staff." msgstr "" "Voegt een begeleidingsbalk toe, en ook een tweede stem aan de bovenste balk." -#: ../python/frescobaldi_app/scorewiz/parts.py:911 +#: ../python/frescobaldi_app/scorewiz/parts.py:914 msgid "Choir" msgstr "Koor" -#: ../python/frescobaldi_app/scorewiz/parts.py:915 +#: ../python/frescobaldi_app/scorewiz/parts.py:918 msgid "" "Please select the voices for the choir. Use the letters S, A, T, or B. A " "hyphen denotes a new staff." @@ -2786,38 +2932,38 @@ "Selecteer de stemmen voor het koor. Gebruik de letters S, A, T en/of B. Een " "koppelteken geeft een nieuwe balk aan." -#: ../python/frescobaldi_app/scorewiz/parts.py:917 +#: ../python/frescobaldi_app/scorewiz/parts.py:920 msgid "Hint: For a double choir you can use two choir parts." msgstr "Tip: gebruik twee koorpartijen voor een dubbelkoor." -#: ../python/frescobaldi_app/scorewiz/parts.py:922 +#: ../python/frescobaldi_app/scorewiz/parts.py:925 msgid "Voicing:" msgstr "Stemmen:" -#: ../python/frescobaldi_app/scorewiz/parts.py:936 -msgid "Lyrics" -msgstr "Liedteksten" +#: ../python/frescobaldi_app/scorewiz/parts.py:942 +msgid "Lyrics:" +msgstr "Liedteksten:" -#: ../python/frescobaldi_app/scorewiz/parts.py:940 +#: ../python/frescobaldi_app/scorewiz/parts.py:946 msgid "All voices same lyrics" msgstr "Alle stemmen zelfde liedtekst" -#: ../python/frescobaldi_app/scorewiz/parts.py:943 -msgid "One set of the same lyrics is placed between all staves." +#: ../python/frescobaldi_app/scorewiz/parts.py:947 +msgid "A set of the same lyrics is placed between all staves." msgstr "Een set van dezelfde liedteksten wordt tussen alle balken geplaatst." -#: ../python/frescobaldi_app/scorewiz/parts.py:945 +#: ../python/frescobaldi_app/scorewiz/parts.py:948 msgid "Every voice same lyrics" msgstr "Elke stem zelfde liedtekst" -#: ../python/frescobaldi_app/scorewiz/parts.py:947 +#: ../python/frescobaldi_app/scorewiz/parts.py:949 msgid "" "Every voice gets its own lyrics, using the same text as the other voices." msgstr "" "Elke stem krijgt zijn eigen liedtekst, met dezelfde tekst als de andere " "stemmen." -#: ../python/frescobaldi_app/scorewiz/parts.py:950 +#: ../python/frescobaldi_app/scorewiz/parts.py:951 msgid "Every voice different lyrics" msgstr "Elke stem andere liedtekst" @@ -2825,190 +2971,220 @@ msgid "Every voice gets a different set of lyrics." msgstr "Elke stem krijgt zijn eigen liedteksten." -#: ../python/frescobaldi_app/scorewiz/parts.py:956 +#: ../python/frescobaldi_app/scorewiz/parts.py:953 +msgid "Distribute stanzas" +msgstr "Coupletten verdelen" + +#: ../python/frescobaldi_app/scorewiz/parts.py:954 +msgid "One set of stanzas is distributed across the staves." +msgstr "Een enkele set liedteksten wordt verdeeld over alle balken." + +#: ../python/frescobaldi_app/scorewiz/parts.py:959 msgid "Piano reduction" msgstr "Piano-uittreksel" -#: ../python/frescobaldi_app/scorewiz/parts.py:958 +#: ../python/frescobaldi_app/scorewiz/parts.py:961 msgid "Adds an automatically generated piano reduction." msgstr "Voegt automatisch een piano-uittreksel toe." -#: ../python/frescobaldi_app/scorewiz/parts.py:983 +#: ../python/frescobaldi_app/scorewiz/parts.py:963 +msgid "Rehearsal MIDI files" +msgstr "MIDI-oefenbestanden" + +#: ../python/frescobaldi_app/scorewiz/parts.py:965 +msgid "" +"Creates a rehearsal MIDI file for every voice, even if no MIDI output is " +"generated for the main score." +msgstr "" +"Genereert een MIDI-oefenbestand voor elke stem, ook als MIDI uitvoer voor de " +"hoofdpartituur is uitgeschakeld." + +#: ../python/frescobaldi_app/scorewiz/parts.py:1017 msgid "Choir|Ch." msgstr "Koor|K." -#: ../python/frescobaldi_app/scorewiz/parts.py:1199 +#: ../python/frescobaldi_app/scorewiz/parts.py:1262 +msgid "Rehearsal MIDI files:" +msgstr "MIDI-oefenbestanden:" + +#: ../python/frescobaldi_app/scorewiz/parts.py:1309 msgid "Piano" msgstr "Piano" -#: ../python/frescobaldi_app/scorewiz/parts.py:1200 +#: ../python/frescobaldi_app/scorewiz/parts.py:1310 msgid "Piano|Pno." msgstr "Piano|Pno." -#: ../python/frescobaldi_app/scorewiz/parts.py:1205 +#: ../python/frescobaldi_app/scorewiz/parts.py:1315 msgid "Harpsichord" msgstr "Klavecimbel" -#: ../python/frescobaldi_app/scorewiz/parts.py:1206 +#: ../python/frescobaldi_app/scorewiz/parts.py:1316 msgid "Harpsichord|Hs." msgstr "Klavecimbel|Kl." -#: ../python/frescobaldi_app/scorewiz/parts.py:1211 +#: ../python/frescobaldi_app/scorewiz/parts.py:1321 msgid "Clavichord" msgstr "Clavichord" -#: ../python/frescobaldi_app/scorewiz/parts.py:1212 +#: ../python/frescobaldi_app/scorewiz/parts.py:1322 msgid "Clavichord|Clv." msgstr "Clavichord|Clv." -#: ../python/frescobaldi_app/scorewiz/parts.py:1217 +#: ../python/frescobaldi_app/scorewiz/parts.py:1327 msgid "Organ" msgstr "Orgel" -#: ../python/frescobaldi_app/scorewiz/parts.py:1218 +#: ../python/frescobaldi_app/scorewiz/parts.py:1328 msgid "Organ|Org." msgstr "Orgel|Org." -#: ../python/frescobaldi_app/scorewiz/parts.py:1223 +#: ../python/frescobaldi_app/scorewiz/parts.py:1333 msgid "Pedal:" msgstr "Pedaal:" -#: ../python/frescobaldi_app/scorewiz/parts.py:1224 +#: ../python/frescobaldi_app/scorewiz/parts.py:1334 msgid "Set to 0 to disable the pedal altogether." msgstr "Stel 0 in om de pedaalbalk te verwijderen." -#: ../python/frescobaldi_app/scorewiz/parts.py:1234 +#: ../python/frescobaldi_app/scorewiz/parts.py:1344 msgid "Celesta" msgstr "Celesta" -#: ../python/frescobaldi_app/scorewiz/parts.py:1235 +#: ../python/frescobaldi_app/scorewiz/parts.py:1345 msgid "Celesta|Cel." msgstr "Celesta|Cel." -#: ../python/frescobaldi_app/scorewiz/parts.py:1240 +#: ../python/frescobaldi_app/scorewiz/parts.py:1350 msgid "Timpani" msgstr "Pauken" -#: ../python/frescobaldi_app/scorewiz/parts.py:1241 +#: ../python/frescobaldi_app/scorewiz/parts.py:1351 msgid "Timpani|Tmp." msgstr "Pauken|Pkn." -#: ../python/frescobaldi_app/scorewiz/parts.py:1248 +#: ../python/frescobaldi_app/scorewiz/parts.py:1358 msgid "Xylophone" msgstr "Xylofoon" -#: ../python/frescobaldi_app/scorewiz/parts.py:1249 +#: ../python/frescobaldi_app/scorewiz/parts.py:1359 msgid "Xylophone|Xyl." msgstr "Xylofoon|Xyl." -#: ../python/frescobaldi_app/scorewiz/parts.py:1254 +#: ../python/frescobaldi_app/scorewiz/parts.py:1364 msgid "Marimba" msgstr "Marimba" -#: ../python/frescobaldi_app/scorewiz/parts.py:1255 +#: ../python/frescobaldi_app/scorewiz/parts.py:1365 msgid "Marimba|Mar." msgstr "Marimba|Mar." -#: ../python/frescobaldi_app/scorewiz/parts.py:1260 +#: ../python/frescobaldi_app/scorewiz/parts.py:1370 msgid "Vibraphone" msgstr "Vibrafoon" -#: ../python/frescobaldi_app/scorewiz/parts.py:1261 +#: ../python/frescobaldi_app/scorewiz/parts.py:1371 msgid "Vibraphone|Vib." msgstr "Vibrafoon|Vib." -#: ../python/frescobaldi_app/scorewiz/parts.py:1266 +#: ../python/frescobaldi_app/scorewiz/parts.py:1376 msgid "Tubular bells" msgstr "Buisklokken" -#: ../python/frescobaldi_app/scorewiz/parts.py:1267 +#: ../python/frescobaldi_app/scorewiz/parts.py:1377 msgid "Tubular bells|Tub." msgstr "Buisklokken|Bkl." -#: ../python/frescobaldi_app/scorewiz/parts.py:1272 +#: ../python/frescobaldi_app/scorewiz/parts.py:1382 msgid "Glockenspiel" msgstr "Klokkenspel" -#: ../python/frescobaldi_app/scorewiz/parts.py:1273 +#: ../python/frescobaldi_app/scorewiz/parts.py:1383 msgid "Glockenspiel|Gls." msgstr "Klokkenspel|Kls." -#: ../python/frescobaldi_app/scorewiz/parts.py:1278 +#: ../python/frescobaldi_app/scorewiz/parts.py:1388 msgid "Drums" msgstr "Slagwerk" -#: ../python/frescobaldi_app/scorewiz/parts.py:1279 +#: ../python/frescobaldi_app/scorewiz/parts.py:1389 msgid "Drums|Dr." msgstr "Slagwerk|Slw." -#: ../python/frescobaldi_app/scorewiz/parts.py:1289 +#: ../python/frescobaldi_app/scorewiz/parts.py:1399 msgid "Drums follow here." msgstr "Slagwerk volgt." -#: ../python/frescobaldi_app/scorewiz/parts.py:1315 +#: ../python/frescobaldi_app/scorewiz/parts.py:1424 msgid "keep some distance." msgstr "houd enige afstand." -#: ../python/frescobaldi_app/scorewiz/parts.py:1322 +#: ../python/frescobaldi_app/scorewiz/parts.py:1432 msgid "Style:" msgstr "Stijl:" -#: ../python/frescobaldi_app/scorewiz/parts.py:1326 +#: ../python/frescobaldi_app/scorewiz/parts.py:1436 msgid "Drums (5 lines, default)" msgstr "Drums (5 lijnen, standaard)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1327 +#: ../python/frescobaldi_app/scorewiz/parts.py:1437 msgid "Timbales-style (2 lines)" msgstr "Timbales-stijl (2 lijnen)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1328 +#: ../python/frescobaldi_app/scorewiz/parts.py:1438 msgid "Congas-style (2 lines)" msgstr "Conga's-stijl (2 lijnen)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1329 +#: ../python/frescobaldi_app/scorewiz/parts.py:1439 msgid "Bongos-style (2 lines)" msgstr "Bongo's-stijl (2 lijnen)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1330 +#: ../python/frescobaldi_app/scorewiz/parts.py:1440 msgid "Percussion-style (1 line)" msgstr "Percussie-stijl (1 lijn)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1331 +#: ../python/frescobaldi_app/scorewiz/parts.py:1441 msgid "Remove stems" msgstr "Stokken verwijderen" -#: ../python/frescobaldi_app/scorewiz/parts.py:1332 +#: ../python/frescobaldi_app/scorewiz/parts.py:1442 msgid "Remove the stems from the drum notes." msgstr "Verwijder de stokken van de slagwerknoten." -#: ../python/frescobaldi_app/scorewiz/parts.py:1341 +#: ../python/frescobaldi_app/scorewiz/parts.py:1451 msgid "Strings" msgstr "Snaarinstrumenten" -#: ../python/frescobaldi_app/scorewiz/parts.py:1348 +#: ../python/frescobaldi_app/scorewiz/parts.py:1458 msgid "Plucked strings" msgstr "Getokkelde instrumenten" -#: ../python/frescobaldi_app/scorewiz/parts.py:1357 +#: ../python/frescobaldi_app/scorewiz/parts.py:1467 msgid "Woodwinds" msgstr "Houtblazers" -#: ../python/frescobaldi_app/scorewiz/parts.py:1378 +#: ../python/frescobaldi_app/scorewiz/parts.py:1488 msgid "Brass" msgstr "Koper" -#: ../python/frescobaldi_app/scorewiz/parts.py:1386 +#: ../python/frescobaldi_app/scorewiz/parts.py:1496 msgid "Vocal" msgstr "Vocaal" -#: ../python/frescobaldi_app/scorewiz/parts.py:1395 +#: ../python/frescobaldi_app/scorewiz/parts.py:1505 msgid "Keyboard instruments" msgstr "Toetsinstrumenten" -#: ../python/frescobaldi_app/scorewiz/parts.py:1411 +#: ../python/frescobaldi_app/scorewiz/parts.py:1521 msgid "Special" msgstr "Speciaal" +#~ msgid "Space above:" +#~ msgstr "Ruimte erboven:" + +#~ msgid "Name or full path of the convert-ly program." +#~ msgstr "Naam of pad van het convert-ly programma." + #~ msgid "Expand" #~ msgstr "Sneltekst" @@ -3044,6 +3220,9 @@ #~ msgid "Paper Size Letter" #~ msgstr "Papierformaat Letter" +#~ msgid "Override" +#~ msgstr "Override" + #~ msgid "Once Override" #~ msgstr "Once Override" @@ -3248,9 +3427,6 @@ #~ msgid "Clear LilyPond Log" #~ msgstr "LilyPond uitvoer wissen" -#~ msgid "Insert LilyPond version (%s)" -#~ msgstr "LilyPond-versie (%s) invoegen" - #~ msgid "Record MIDI with Rumor" #~ msgstr "MIDI opnemen met Rumor" @@ -3266,9 +3442,6 @@ #~ msgid "Dock/Undock Quick Insert Panel" #~ msgstr "Quick Insert-paneel los- of aankoppelen" -#~ msgid "unknown" -#~ msgstr "onbekend" - #~ msgid "" #~ "The document has been processed with convert-ly, but remained unchanged. " #~ "This is the message given by convert-ly: %s" @@ -3282,9 +3455,6 @@ #~ msgid "PDF" #~ msgstr "PDF" -#~ msgid "Commands" -#~ msgstr "Commando's" - #~ msgid "Name or full path of the pdftk program (see %s)." #~ msgstr "Naam of pad van het pdftk programma (zie %s)." Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/po/pl.mo and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/po/pl.mo differ diff -Nru frescobaldi-1.0.2/po/pl.po frescobaldi-1.1.1/po/pl.po --- frescobaldi-1.0.2/po/pl.po 2010-02-18 08:12:04.000000000 +0000 +++ frescobaldi-1.1.1/po/pl.po 2010-05-03 19:31:55.000000000 +0100 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: frescobaldi 0.1\n" "Report-Msgid-Bugs-To: info@frescobaldi.org\n" -"POT-Creation-Date: 2010-02-16 10:04+0100\n" +"POT-Creation-Date: 2010-05-03 20:28+0200\n" "PO-Revision-Date: 2009-12-07 10:33+0100\n" "Last-Translator: Piotr Komorowski \n" "Language-Team: Polish \n" @@ -17,54 +17,53 @@ "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" -#: ../frescobaldi.py:32 dummy.py:16 +#: ../frescobaldi.py:37 dummy.py:16 msgid "Frescobaldi" msgstr "Frescobaldi" -#: ../frescobaldi.py:34 dummy.py:17 +#: ../frescobaldi.py:39 dummy.py:17 msgid "LilyPond Music Editor" msgstr "Edytor nutowy LilyPond" -#: ../frescobaldi.py:36 -#, fuzzy +#: ../frescobaldi.py:41 msgid "Copyright (c) 2008-2010, Wilbert Berendsen" -msgstr "Copyright (c) 2008-2009, Wilbert Berendsen" +msgstr "Copyright (c) 2008-2010, Wilbert Berendsen" -#: ../frescobaldi.py:45 +#: ../frescobaldi.py:50 msgctxt "NAME OF TRANSLATORS" msgid "Your name" msgstr "Piotr Komorowski" -#: ../frescobaldi.py:46 +#: ../frescobaldi.py:51 msgctxt "EMAIL OF TRANSLATORS" msgid "i18n@frescobaldi.org" msgstr "i18n@frescobaldi.org" -#: ../frescobaldi.py:52 +#: ../frescobaldi.py:57 msgid "Session to start" msgstr "Sesja początkowa" -#: ../frescobaldi.py:53 +#: ../frescobaldi.py:58 msgid "Start a new instance" msgstr "Rozpocznij nowy przykład" -#: ../frescobaldi.py:54 +#: ../frescobaldi.py:59 msgid "Encoding to use" msgstr "Używane kodowanie" -#: ../frescobaldi.py:55 +#: ../frescobaldi.py:60 msgid "Line number to go to, starting at 1" msgstr "Do której linii dojść, zaczynając w 1" -#: ../frescobaldi.py:56 +#: ../frescobaldi.py:61 msgid "Column to go to, starting at 0" msgstr "Do której kolumny dojść, zaczynając w 0" -#: ../frescobaldi.py:57 +#: ../frescobaldi.py:62 msgid "Try to use smart line and column numbers" msgstr "Spróbuj użyć linii i numerów kolumn" -#: ../frescobaldi.py:58 +#: ../frescobaldi.py:63 msgid "LilyPond files to open, may also be textedit URLs" msgstr "Plik LilyPonda, lub tekstowy URL do otwarcia " @@ -104,344 +103,353 @@ msgid "&Extra Tools" msgstr "&Ekstra narzędzia" -#: ../python/ly/__init__.py:94 +#: ../python/ly/__init__.py:81 msgid "Dedication" msgstr "Dedykacja" -#: ../python/ly/__init__.py:95 +#: ../python/ly/__init__.py:82 msgid "Title" msgstr "Tytuł" -#: ../python/ly/__init__.py:96 +#: ../python/ly/__init__.py:83 msgid "Subtitle" msgstr "Podtytuł" -#: ../python/ly/__init__.py:97 +#: ../python/ly/__init__.py:84 msgid "Subsubtitle" msgstr "Podpodtytuł" -#: ../python/ly/__init__.py:98 +#: ../python/ly/__init__.py:85 msgid "Instrument" msgstr "Instrument" -#: ../python/ly/__init__.py:99 +#: ../python/ly/__init__.py:86 msgid "Composer" msgstr "Kompozytor" -#: ../python/ly/__init__.py:100 +#: ../python/ly/__init__.py:87 msgid "Arranger" msgstr "Aranżer" -#: ../python/ly/__init__.py:101 +#: ../python/ly/__init__.py:88 msgid "Poet" msgstr "Autor tekstu" -#: ../python/ly/__init__.py:102 +#: ../python/ly/__init__.py:89 msgid "Meter" msgstr "Licznik" -#: ../python/ly/__init__.py:103 +#: ../python/ly/__init__.py:90 msgid "Piece" msgstr "Utwór" -#: ../python/ly/__init__.py:104 +#: ../python/ly/__init__.py:91 msgid "Opus" msgstr "Opus" -#: ../python/ly/__init__.py:105 +#: ../python/ly/__init__.py:92 msgid "Copyright" msgstr "Copyright" -#: ../python/ly/__init__.py:106 +#: ../python/ly/__init__.py:93 msgid "Tagline" msgstr "Przypis" -#: ../python/ly/__init__.py:114 +#: ../python/ly/__init__.py:101 msgid "Major" msgstr "Dur" -#: ../python/ly/__init__.py:115 +#: ../python/ly/__init__.py:102 msgid "Minor" msgstr "Moll" -#: ../python/ly/__init__.py:116 +#: ../python/ly/__init__.py:103 msgid "Ionian" msgstr "Jońska" -#: ../python/ly/__init__.py:117 +#: ../python/ly/__init__.py:104 msgid "Dorian" msgstr "Dorycka" -#: ../python/ly/__init__.py:118 +#: ../python/ly/__init__.py:105 msgid "Phrygian" msgstr "Frygijska" -#: ../python/ly/__init__.py:119 +#: ../python/ly/__init__.py:106 msgid "Lydian" msgstr "Lidyjska" -#: ../python/ly/__init__.py:120 +#: ../python/ly/__init__.py:107 msgid "Mixolydian" msgstr "Miksolidyjska" -#: ../python/ly/__init__.py:121 +#: ../python/ly/__init__.py:108 msgid "Aeolian" msgstr "Eolska" -#: ../python/ly/__init__.py:122 +#: ../python/ly/__init__.py:109 msgid "Locrian" msgstr "Lokryjska" -#: ../python/ly/articulation.py:33 +#: ../python/ly/articulation.py:35 msgid "Articulation" msgstr "Artykulacja" -#: ../python/ly/articulation.py:34 +#: ../python/ly/articulation.py:36 msgid "Accent" msgstr "Akcent" -#: ../python/ly/articulation.py:35 +#: ../python/ly/articulation.py:37 msgid "Marcato" msgstr "Marcato" -#: ../python/ly/articulation.py:36 +#: ../python/ly/articulation.py:38 msgid "Staccatissimo" msgstr "Staccatissimo" -#: ../python/ly/articulation.py:37 +#: ../python/ly/articulation.py:39 msgid "Staccato" msgstr "Staccato" -#: ../python/ly/articulation.py:38 +#: ../python/ly/articulation.py:40 msgid "Portato" msgstr "Portato" -#: ../python/ly/articulation.py:39 +#: ../python/ly/articulation.py:41 msgid "Tenuto" msgstr "Tenuto" -#: ../python/ly/articulation.py:40 +#: ../python/ly/articulation.py:42 msgid "Espressivo" msgstr "Espressivo" -#: ../python/ly/articulation.py:42 +#: ../python/ly/articulation.py:44 msgid "Ornaments" msgstr "Ozdobniki" -#: ../python/ly/articulation.py:43 +#: ../python/ly/articulation.py:45 msgid "Trill" msgstr "Tryl" -#: ../python/ly/articulation.py:44 +#: ../python/ly/articulation.py:46 msgid "Prall" msgstr "Mordent" -#: ../python/ly/articulation.py:45 +#: ../python/ly/articulation.py:47 msgid "Mordent" msgstr "Mordent przekreślony" -#: ../python/ly/articulation.py:46 +#: ../python/ly/articulation.py:48 msgid "Turn" msgstr "Obiegnik" -#: ../python/ly/articulation.py:47 +#: ../python/ly/articulation.py:49 msgid "Prall prall" msgstr "" -#: ../python/ly/articulation.py:48 +#: ../python/ly/articulation.py:50 msgid "Prall mordent" msgstr "" -#: ../python/ly/articulation.py:49 +#: ../python/ly/articulation.py:51 msgid "Up prall" msgstr "" -#: ../python/ly/articulation.py:50 +#: ../python/ly/articulation.py:52 msgid "Down prall" msgstr "" -#: ../python/ly/articulation.py:51 +#: ../python/ly/articulation.py:53 msgid "Up mordent" msgstr "" -#: ../python/ly/articulation.py:52 +#: ../python/ly/articulation.py:54 msgid "Down mordent" msgstr "" -#: ../python/ly/articulation.py:53 +#: ../python/ly/articulation.py:55 msgid "Prall up" msgstr "" -#: ../python/ly/articulation.py:54 +#: ../python/ly/articulation.py:56 msgid "Prall down" msgstr "" -#: ../python/ly/articulation.py:55 +#: ../python/ly/articulation.py:57 msgid "Line prall" msgstr "" -#: ../python/ly/articulation.py:56 +#: ../python/ly/articulation.py:58 msgid "Reverse turn" msgstr "Obiegnik odwrócony" -#: ../python/ly/articulation.py:58 +#: ../python/ly/articulation.py:60 msgid "Signs" msgstr "Symbole" -#: ../python/ly/articulation.py:59 +#: ../python/ly/articulation.py:61 msgid "Fermata" msgstr "Fermata" -#: ../python/ly/articulation.py:60 +#: ../python/ly/articulation.py:62 msgid "Short fermata" msgstr "Krótka fermata" -#: ../python/ly/articulation.py:61 +#: ../python/ly/articulation.py:63 msgid "Long fermata" msgstr "Długa fermata" -#: ../python/ly/articulation.py:62 +#: ../python/ly/articulation.py:64 msgid "Very long fermata" msgstr "Bardzo długa fermata" -#: ../python/ly/articulation.py:63 +#: ../python/ly/articulation.py:65 msgid "Segno" msgstr "Segno" -#: ../python/ly/articulation.py:64 +#: ../python/ly/articulation.py:66 msgid "Coda" msgstr "Coda" -#: ../python/ly/articulation.py:65 +#: ../python/ly/articulation.py:67 msgid "Varcoda" msgstr "Varcoda" -#: ../python/ly/articulation.py:66 +#: ../python/ly/articulation.py:68 msgid "Signumcongruentiae" msgstr "Signumcongruetiae" -#: ../python/ly/articulation.py:68 +#: ../python/ly/articulation.py:70 msgid "Other" msgstr "Inne" -#: ../python/ly/articulation.py:69 +#: ../python/ly/articulation.py:71 msgid "Upbow" msgstr "Smyczek do góry" -#: ../python/ly/articulation.py:70 +#: ../python/ly/articulation.py:72 msgid "Downbow" msgstr "Smyczek na dół" -#: ../python/ly/articulation.py:71 +#: ../python/ly/articulation.py:73 +msgid "Snappizzicato" +msgstr "" + +#: ../python/ly/articulation.py:74 msgid "Open (e.g. brass)" msgstr "Otwarty (np.dęte)" -#: ../python/ly/articulation.py:72 +#: ../python/ly/articulation.py:75 msgid "Stopped (e.g. brass)" msgstr "Zakryty (np. dęte)" -#: ../python/ly/articulation.py:73 +#: ../python/ly/articulation.py:76 msgid "Flageolet" msgstr "Flażolet" -#: ../python/ly/articulation.py:74 +#: ../python/ly/articulation.py:77 msgid "Thumb" msgstr "Kciuk" -#: ../python/ly/articulation.py:75 +#: ../python/ly/articulation.py:78 msgid "Left heel" msgstr "Lewa pięta" -#: ../python/ly/articulation.py:76 +#: ../python/ly/articulation.py:79 msgid "Right heel" msgstr "Prawa pięta" -#: ../python/ly/articulation.py:77 +#: ../python/ly/articulation.py:80 msgid "Left toe" msgstr "Lewy nos" -#: ../python/ly/articulation.py:78 +#: ../python/ly/articulation.py:81 msgid "Right toe" msgstr "Prawy nos" -#: ../python/kateshell/exception.py:42 +#: ../python/ly/articulation.py:82 +#, fuzzy +msgid "Half open (e.g. hi-hat)" +msgstr "Otwarty (np.dęte)" + +#: ../python/kateshell/exception.py:43 msgid "An internal error has occurred:" msgstr "Pojawił się błąd wewnętrzny:" -#: ../python/kateshell/exception.py:45 +#: ../python/kateshell/exception.py:46 msgid "Internal Error" msgstr "Błąd wewnętrzny " -#: ../python/kateshell/exception.py:51 +#: ../python/kateshell/exception.py:52 msgid "Email Bug Report..." msgstr "Wyślij raport o błędzie..." -#: ../python/kateshell/exception.py:64 +#: ../python/kateshell/exception.py:65 msgid "Optionally describe what you were doing below:" msgstr "Opisz co zrobiłeś, gdy pojawił się błąd:" -#: ../python/kateshell/mainwindow.py:91 +#: ../python/kateshell/mainwindow.py:94 msgid "Left Sidebar" msgstr "Lewy panel" -#: ../python/kateshell/mainwindow.py:95 +#: ../python/kateshell/mainwindow.py:98 msgid "Right Sidebar" msgstr "Prawy panel" -#: ../python/kateshell/mainwindow.py:107 +#: ../python/kateshell/mainwindow.py:110 msgid "Top Sidebar" msgstr "Górny panel" -#: ../python/kateshell/mainwindow.py:120 +#: ../python/kateshell/mainwindow.py:123 msgid "Bottom Sidebar" msgstr "Dolny panel" -#: ../python/kateshell/mainwindow.py:165 +#: ../python/kateshell/mainwindow.py:168 msgid "Show Path" msgstr "Pokaż ścieżkę" -#: ../python/kateshell/mainwindow.py:168 +#: ../python/kateshell/mainwindow.py:171 msgid "Show Document Tabs" msgstr "Pokaż zakładki dokumentów" -#: ../python/kateshell/mainwindow.py:186 +#: ../python/kateshell/mainwindow.py:188 msgid "&Tool Views" msgstr "&Widok narzędzi" -#: ../python/kateshell/mainwindow.py:277 +#: ../python/kateshell/mainwindow.py:278 msgid "Please select some text first." msgstr "Proszę najpierw wybrać tekst" -#: ../python/kateshell/mainwindow.py:327 +#: ../python/kateshell/mainwindow.py:328 msgid "modified" msgstr "zmieniony" -#: ../python/kateshell/mainwindow.py:337 +#: ../python/kateshell/mainwindow.py:338 msgid "Line: %1 Col: %2" msgstr "Linia: %1 Kol: %2" -#: ../python/kateshell/mainwindow.py:346 +#: ../python/kateshell/mainwindow.py:347 msgid "BLOCK" msgstr "Blok" -#: ../python/kateshell/mainwindow.py:346 +#: ../python/kateshell/mainwindow.py:347 msgid "Block selection mode" msgstr "Tryb wyboru blokowego" -#: ../python/kateshell/mainwindow.py:348 +#: ../python/kateshell/mainwindow.py:349 msgid "LINE" msgstr "Linia" -#: ../python/kateshell/mainwindow.py:348 +#: ../python/kateshell/mainwindow.py:349 msgid "Line selection mode" msgstr "Tryb wyboru liniowego" -#: ../python/kateshell/mainwindow.py:386 -#: ../python/frescobaldi_app/blankpaper.py:335 +#: ../python/kateshell/mainwindow.py:393 +#: ../python/frescobaldi_app/blankpaper.py:331 msgid "All Files" msgstr "Wszystkie pliki" -#: ../python/kateshell/mainwindow.py:387 +#: ../python/kateshell/mainwindow.py:394 msgid "Open File" msgstr "Otwórz plik" @@ -449,7 +457,7 @@ msgid "Right-click for tab options" msgstr "Prawy klik dla opcji zakładek" -#: ../python/kateshell/mainwindow.py:870 +#: ../python/kateshell/mainwindow.py:871 msgid "Move To" msgstr "Skocz do" @@ -465,7 +473,7 @@ msgid "Please install %1" msgstr "Proszę zainstalować %1" -#: ../python/frescobaldi_app/actions.py:55 +#: ../python/frescobaldi_app/actions.py:56 msgid "Open %1 in external viewer" msgstr "Otwórz %1 w przeglądarce zewnętrznej" @@ -473,44 +481,44 @@ msgid "Print %1" msgstr "Drukuj %1" -#: ../python/frescobaldi_app/actions.py:66 +#: ../python/frescobaldi_app/actions.py:65 msgid "Play %1" msgstr "Graj %1" -#: ../python/frescobaldi_app/actions.py:95 +#: ../python/frescobaldi_app/actions.py:91 msgid "Open PDF" msgstr "Otwórz PDF" -#: ../python/frescobaldi_app/actions.py:96 +#: ../python/frescobaldi_app/actions.py:92 msgid "Print" msgstr "Drukuj" -#: ../python/frescobaldi_app/actions.py:98 +#: ../python/frescobaldi_app/actions.py:94 msgid "Play MIDI" msgstr "Graj MIDI" -#: ../python/frescobaldi_app/actions.py:101 -#: ../python/frescobaldi_app/mainapp.py:712 +#: ../python/frescobaldi_app/actions.py:97 +#: ../python/frescobaldi_app/mainapp.py:726 msgid "Email..." msgstr "Email..." -#: ../python/frescobaldi_app/actions.py:154 +#: ../python/frescobaldi_app/actions.py:149 msgid "There are no files to send via email." msgstr "Brak plików do wysłania przez e-mail." -#: ../python/frescobaldi_app/actions.py:155 +#: ../python/frescobaldi_app/actions.py:150 msgid "No files to send" msgstr "Brak plików do wysłania" -#: ../python/frescobaldi_app/actions.py:163 +#: ../python/frescobaldi_app/actions.py:158 msgid "Email documents" msgstr "Wyślij dokumenty e-mailem" -#: ../python/frescobaldi_app/actions.py:167 +#: ../python/frescobaldi_app/actions.py:162 msgid "Please select the files you want to send:" msgstr "Proszę wybrać pliki do wysłania:" -#: ../python/frescobaldi_app/actions.py:172 +#: ../python/frescobaldi_app/actions.py:166 msgid "" "These are the files that are up-to-date (i.e. newer than the LilyPond source " "document). Also LilyPond files included by the source document are shown." @@ -518,7 +526,7 @@ "To są zaktualizowane pliki (tj. nowsze niż dokument źródłowy LilyPonda). " "Pokazane są również pliki zawarte w dokumencie źródłowym." -#: ../python/frescobaldi_app/actions.py:182 +#: ../python/frescobaldi_app/actions.py:176 msgid "" "Note: this PDF file has been created with embedded point-and-click URLs " "(preview mode), which increases the file size dramatically. Please consider " @@ -542,15 +550,15 @@ "co znacznie zwiększa jego objętość.Proszę rozważyć zamianę na tryb wydruku, " "co spowoduję znaczne zmniejszenie objętości pliku." -#: ../python/frescobaldi_app/actions.py:283 +#: ../python/frescobaldi_app/actions.py:273 msgid "Printing failed: %1" msgstr "Drukowanie nie powiodło się: %1" -#: ../python/frescobaldi_app/actions.py:286 +#: ../python/frescobaldi_app/actions.py:276 msgid "The document has been sent to the printer." msgstr "Dokument został wysłany do drukarki" -#: ../python/frescobaldi_app/actions.py:289 +#: ../python/frescobaldi_app/actions.py:279 msgid "" "Printing failed: %1\n" "\n" @@ -560,178 +568,162 @@ "\n" "Zadanie wydruku %2 prawdopodobnie nie istnieje. Proszę sprawdzić ustawienia." -#: ../python/frescobaldi_app/actions.py:294 +#: ../python/frescobaldi_app/actions.py:284 msgid "The print command contains errors. Please check your settings." msgstr "Zadanie wydruku zawiera błędy. Proszę sprawdzić ustawienia." -#: ../python/frescobaldi_app/blankpaper.py:55 -#: ../python/frescobaldi_app/mainapp.py:738 +#: ../python/frescobaldi_app/blankpaper.py:56 +#: ../python/frescobaldi_app/mainapp.py:753 msgid "Create blank staff paper" msgstr "Utwórz pusty papier nutowy" -#: ../python/frescobaldi_app/blankpaper.py:69 +#: ../python/frescobaldi_app/blankpaper.py:70 msgid "Type:" msgstr "Typ:" -#: ../python/frescobaldi_app/blankpaper.py:72 +#: ../python/frescobaldi_app/blankpaper.py:73 msgid "Action:" msgstr "Akcja:" -#: ../python/frescobaldi_app/blankpaper.py:78 +#: ../python/frescobaldi_app/blankpaper.py:79 msgid "Choose what kind of empty staves you want to create." msgstr "Wybierz rodzaj pustej pięciolinii do utworzenia." -#: ../python/frescobaldi_app/blankpaper.py:80 +#: ../python/frescobaldi_app/blankpaper.py:81 msgid "Choose which action happens when clicking \"Ok\"." msgstr "Wybierz rodzaj akcji dla przycisku \"Ok\"." -#: ../python/frescobaldi_app/blankpaper.py:82 +#: ../python/frescobaldi_app/blankpaper.py:83 msgid "Preview the empty staff paper." msgstr "Podgląd pustego papieru nutowego." -#: ../python/frescobaldi_app/blankpaper.py:84 +#: ../python/frescobaldi_app/blankpaper.py:85 msgid "Click to see more settings." msgstr "Kliknij, aby zobaczyć więcej ustawień." -#: ../python/frescobaldi_app/blankpaper.py:87 +#: ../python/frescobaldi_app/blankpaper.py:88 msgid "Paper" msgstr "Papier" -#: ../python/frescobaldi_app/blankpaper.py:89 +#: ../python/frescobaldi_app/blankpaper.py:90 msgid "Settings" msgstr "Ustawienia" -#: ../python/frescobaldi_app/blankpaper.py:95 -#: ../python/frescobaldi_app/scorewiz/__init__.py:509 +#: ../python/frescobaldi_app/blankpaper.py:96 +#: ../python/frescobaldi_app/scorewiz/__init__.py:496 msgid "Paper size:" msgstr "Rozmiar papieru:" -#: ../python/frescobaldi_app/blankpaper.py:99 -#: ../python/frescobaldi_app/scorewiz/__init__.py:448 -#: ../python/frescobaldi_app/scorewiz/__init__.py:513 -#: ../python/frescobaldi_app/scorewiz/__init__.py:547 -#: ../python/frescobaldi_app/scorewiz/parts.py:180 -#: ../python/frescobaldi_app/scorewiz/parts.py:436 +#: ../python/frescobaldi_app/blankpaper.py:100 +#: ../python/frescobaldi_app/scorewiz/__init__.py:441 +#: ../python/frescobaldi_app/scorewiz/__init__.py:500 +#: ../python/frescobaldi_app/scorewiz/__init__.py:532 +#: ../python/frescobaldi_app/scorewiz/parts.py:183 +#: ../python/frescobaldi_app/scorewiz/parts.py:439 msgid "Default" msgstr "Domyślny" -#: ../python/frescobaldi_app/blankpaper.py:103 +#: ../python/frescobaldi_app/blankpaper.py:104 msgid "Staff Size:" msgstr "Rozmiar pięciolinii:" -#: ../python/frescobaldi_app/blankpaper.py:110 +#: ../python/frescobaldi_app/blankpaper.py:111 msgid "Page count:" msgstr "Numery stron:" -#: ../python/frescobaldi_app/blankpaper.py:116 -#: ../python/frescobaldi_app/scorewiz/__init__.py:486 +#: ../python/frescobaldi_app/blankpaper.py:117 +#: ../python/frescobaldi_app/scorewiz/__init__.py:468 msgid "Remove default tagline" msgstr "Usuń domyślną stopkę" -#: ../python/frescobaldi_app/blankpaper.py:121 +#: ../python/frescobaldi_app/blankpaper.py:122 msgid "Print Bar Lines" msgstr "Drukuj kreski taktowe" -#: ../python/frescobaldi_app/blankpaper.py:123 +#: ../python/frescobaldi_app/blankpaper.py:124 msgid "Bars per line:" msgstr "Ilość taktów na linię:" -#: ../python/frescobaldi_app/blankpaper.py:130 +#: ../python/frescobaldi_app/blankpaper.py:131 msgid "Print Page Numbers" msgstr "Drukuj numery stron" -#: ../python/frescobaldi_app/blankpaper.py:132 +#: ../python/frescobaldi_app/blankpaper.py:133 msgid "Start with:" msgstr "Zacznij od:" -#: ../python/frescobaldi_app/blankpaper.py:289 +#: ../python/frescobaldi_app/blankpaper.py:285 msgid "Blank staff paper preview" msgstr "Podgląd pustego papieru nutowego" -#: ../python/frescobaldi_app/blankpaper.py:308 +#: ../python/frescobaldi_app/blankpaper.py:304 msgid "No PDF was created." msgstr "Nie utworzono pliku PDF." -#: ../python/frescobaldi_app/blankpaper.py:319 +#: ../python/frescobaldi_app/blankpaper.py:315 msgid "Open in PDF viewer" msgstr "Otwórz w przeglądarce PDF" -#: ../python/frescobaldi_app/blankpaper.py:328 +#: ../python/frescobaldi_app/blankpaper.py:324 msgid "Save PDF As..." msgstr "Zapisz PDF jako..." -#: ../python/frescobaldi_app/blankpaper.py:335 +#: ../python/frescobaldi_app/blankpaper.py:331 msgid "PDF Files" msgstr "Pliki PDF" -#: ../python/frescobaldi_app/blankpaper.py:337 +#: ../python/frescobaldi_app/blankpaper.py:333 msgid "Save PDF" msgstr "Zapisz PDF" -#: ../python/frescobaldi_app/blankpaper.py:355 -#: ../python/frescobaldi_app/runlily.py:375 -msgid "" -"A file named \"%1\" already exists. Are you sure you want to overwrite it?" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:358 -#: ../python/frescobaldi_app/runlily.py:378 -msgid "Overwrite File?" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:358 -#: ../python/frescobaldi_app/runlily.py:378 -msgid "&Overwrite" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:380 +#: ../python/frescobaldi_app/blankpaper.py:357 msgid "Directly print on default printer" msgstr "Wydrukuj bezpośrednio na drukarce domyślnej." -#: ../python/frescobaldi_app/blankpaper.py:389 +#: ../python/frescobaldi_app/blankpaper.py:366 msgid "Copy LilyPond code to editor" msgstr "Kopiuj kod LilyPonda do edytora" -#: ../python/frescobaldi_app/blankpaper.py:488 +#: ../python/frescobaldi_app/blankpaper.py:465 msgid "Staves per page:" msgstr "Ilość pięciolinii na stronie:" -#: ../python/frescobaldi_app/blankpaper.py:493 -#: ../python/frescobaldi_app/blankpaper.py:828 +#: ../python/frescobaldi_app/blankpaper.py:470 +#: ../python/frescobaldi_app/blankpaper.py:803 msgid "Clef:" msgstr "Klucz:" -#: ../python/frescobaldi_app/blankpaper.py:499 +#: ../python/frescobaldi_app/blankpaper.py:476 msgid "Single Staff" msgstr "Pojedyncza pięciolinia" -#: ../python/frescobaldi_app/blankpaper.py:519 -#: ../python/frescobaldi_app/blankpaper.py:575 -#: ../python/frescobaldi_app/blankpaper.py:671 +#: ../python/frescobaldi_app/blankpaper.py:496 +#: ../python/frescobaldi_app/blankpaper.py:552 +#: ../python/frescobaldi_app/blankpaper.py:647 msgid "Systems per page:" msgstr "Ilość systemów na stronie:" -#: ../python/frescobaldi_app/blankpaper.py:523 +#: ../python/frescobaldi_app/blankpaper.py:500 msgid "Clefs" msgstr "Klucze" -#: ../python/frescobaldi_app/blankpaper.py:527 +#: ../python/frescobaldi_app/blankpaper.py:504 msgid "Piano Staff" msgstr "System fortepianowy" -#: ../python/frescobaldi_app/blankpaper.py:547 +#: ../python/frescobaldi_app/blankpaper.py:524 msgid "Organ Staff" msgstr "System organowy" -#: ../python/frescobaldi_app/blankpaper.py:571 +#: ../python/frescobaldi_app/blankpaper.py:548 msgid "Staves per system:" msgstr "Ilość pięciolinii na system:" -#: ../python/frescobaldi_app/blankpaper.py:582 +#: ../python/frescobaldi_app/blankpaper.py:559 msgid "Clefs:" msgstr "Klucze:" -#: ../python/frescobaldi_app/blankpaper.py:589 +#: ../python/frescobaldi_app/blankpaper.py:566 msgid "" "Enter as many letters (S, A, T or B) as there are staves.\n" "See \"What's This\" for more information." @@ -739,7 +731,7 @@ "Wstaw tyle liter (S, A, T lub B), ile jest pięciolinii.\n" "Zobacz \"Co to jest\", by uzyskać więcej informacji." -#: ../python/frescobaldi_app/blankpaper.py:592 +#: ../python/frescobaldi_app/blankpaper.py:569 msgid "" "To configure clefs, first set the number of staves per system. Then enter as " "many letters (S, A, T or B) as there are staves.\n" @@ -763,49 +755,55 @@ "najpierw ustal liczbę pięciolinii na 4. Następnie wprowadź \"SATB\"(bez " "czudzysłowu)." -#: ../python/frescobaldi_app/blankpaper.py:606 +#: ../python/frescobaldi_app/blankpaper.py:582 msgid "Choir Staff" msgstr "System chóralny" -#: ../python/frescobaldi_app/blankpaper.py:613 -#: ../python/frescobaldi_app/scorewiz/__init__.py:395 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/blankpaper.py:589 +#: ../python/frescobaldi_app/lqi.py:159 +#: ../python/frescobaldi_app/scorewiz/__init__.py:388 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "None" msgstr "Brak" -#: ../python/frescobaldi_app/blankpaper.py:759 +#: ../python/frescobaldi_app/blankpaper.py:734 msgid "Custom Staff" msgstr "System użytkownika" -#: ../python/frescobaldi_app/blankpaper.py:818 +#: ../python/frescobaldi_app/blankpaper.py:793 msgid "Staff" msgstr "Pięciolinia:" -#: ../python/frescobaldi_app/blankpaper.py:841 -msgid "Space above:" -msgstr "Przestrzeń powyżej:" - -#: ../python/frescobaldi_app/blankpaper.py:844 +#: ../python/frescobaldi_app/blankpaper.py:812 msgid "Space below:" msgstr "Przestrzeń poniżej:" -#: ../python/frescobaldi_app/blankpaper.py:879 +#: ../python/frescobaldi_app/blankpaper.py:852 msgid "Brace" msgstr "Klamra" -#: ../python/frescobaldi_app/blankpaper.py:904 +#: ../python/frescobaldi_app/blankpaper.py:877 msgid "Bracket" msgstr "Klamra" -#: ../python/frescobaldi_app/blankpaper.py:913 +#: ../python/frescobaldi_app/blankpaper.py:886 msgid "Square Bracket" msgstr "Klamra kwadratowa" -#: ../python/frescobaldi_app/blankpaper.py:915 +#: ../python/frescobaldi_app/blankpaper.py:888 msgid "Connect bar lines" msgstr "Łącz kreski taktowe" -#: ../python/frescobaldi_app/document.py:66 +#: ../python/frescobaldi_app/charselect.py:41 +#: ../python/frescobaldi_app/mainapp.py:871 +msgid "Special Characters" +msgstr "" + +#: ../python/frescobaldi_app/charselect.py:85 +msgid "unknown" +msgstr "" + +#: ../python/frescobaldi_app/document.py:68 msgid "" "Can't perform the requested translation.\n" "\n" @@ -817,7 +815,7 @@ "Muzyka zawiera ćwierćtonowe znaki chromatyczne, które nie są dostępne w tym " "języku \"%1\"." -#: ../python/frescobaldi_app/document.py:81 +#: ../python/frescobaldi_app/document.py:82 msgid "" "The pitch language of the selected text has been updated, but you need to " "manually add the following command to your document:" @@ -825,30 +823,30 @@ "Język nazw dźwięków w zaznaczonym obszarze został zaktualizowany, musisz " "jednak ręcznie dodać do swojego dokumentu następujące polecenie: " -#: ../python/frescobaldi_app/document.py:84 -#: ../python/frescobaldi_app/mainapp.py:561 +#: ../python/frescobaldi_app/document.py:85 +#: ../python/frescobaldi_app/mainapp.py:572 msgid "Pitch Name Language" msgstr "Język nazw dźwięków" -#: ../python/frescobaldi_app/document.py:139 +#: ../python/frescobaldi_app/document.py:140 msgid "Please enter the name for the variable to assign the selected text to:" msgstr "" "Proszę wybrać nazwę dla zmniennej przyporządkowanej do wybranego tekstu:" -#: ../python/frescobaldi_app/document.py:140 -#: ../python/frescobaldi_app/mainapp.py:455 +#: ../python/frescobaldi_app/document.py:141 +#: ../python/frescobaldi_app/mainapp.py:461 msgid "Cut and Assign" msgstr "Wytnij i przyporządkuj" -#: ../python/frescobaldi_app/document.py:452 +#: ../python/frescobaldi_app/document.py:451 msgid "Open %1" msgstr "Otwórz %1" -#: ../python/frescobaldi_app/document.py:707 +#: ../python/frescobaldi_app/document.py:705 msgid "Please select a music expression, enclosed in << ... >> or { ... }." msgstr "Proszę zaznaczyć oznaczenie wykonawcze w klamrach <<...>>lub {...}." -#: ../python/frescobaldi_app/document.py:727 +#: ../python/frescobaldi_app/document.py:725 msgid "" "Could not understand the entered pitches.\n" "\n" @@ -858,7 +856,7 @@ "\n" "Proszę upewnij się, że używasz nazw dźwięków w języku \"%1\". " -#: ../python/frescobaldi_app/document.py:735 +#: ../python/frescobaldi_app/document.py:733 msgid "" "Can't perform the requested transposition.\n" "\n" @@ -870,47 +868,47 @@ "Muzyka może zawierać ćwierćtonowe znaki chromatyczne, które nie są dostępne " "języku \"%1\"." -#: ../python/frescobaldi_app/document.py:748 +#: ../python/frescobaldi_app/document.py:746 msgid "Transpose" msgstr "Transponuj" -#: ../python/frescobaldi_app/document.py:755 +#: ../python/frescobaldi_app/document.py:753 msgid "Please enter a start pitch and a destination pitch:" msgstr "Proszę wprowadzić wysokość wyjściową i docelową:" -#: ../python/frescobaldi_app/document.py:759 +#: ../python/frescobaldi_app/document.py:757 msgid "Transpose from:" msgstr "Transponuj z:" -#: ../python/frescobaldi_app/document.py:763 +#: ../python/frescobaldi_app/document.py:761 msgid "to:" msgstr "do:" -#: ../python/frescobaldi_app/expand.py:147 -#: ../python/frescobaldi_app/mainapp.py:786 +#: ../python/frescobaldi_app/expand.py:149 +#: ../python/frescobaldi_app/mainapp.py:870 msgid "Expansion Manager" msgstr "Menadżer rozszerzeń" -#: ../python/frescobaldi_app/expand.py:161 -#: ../python/frescobaldi_app/lilydoc.py:125 +#: ../python/frescobaldi_app/expand.py:163 +#: ../python/frescobaldi_app/lilydoc.py:127 msgid "Search..." msgstr "Szukaj..." -#: ../python/frescobaldi_app/expand.py:170 -#: ../python/frescobaldi_app/rumor.py:507 +#: ../python/frescobaldi_app/expand.py:172 +#: ../python/frescobaldi_app/rumor.py:505 msgid "Name" msgstr "Nazwa" -#: ../python/frescobaldi_app/expand.py:170 -#: ../python/frescobaldi_app/rumor.py:507 +#: ../python/frescobaldi_app/expand.py:172 +#: ../python/frescobaldi_app/rumor.py:505 msgid "Description" msgstr "Opis" -#: ../python/frescobaldi_app/expand.py:170 +#: ../python/frescobaldi_app/expand.py:172 msgid "Shortcut" msgstr "Skrót" -#: ../python/frescobaldi_app/expand.py:193 +#: ../python/frescobaldi_app/expand.py:195 msgid "" "This is the list of defined expansions.\n" "\n" @@ -938,7 +936,7 @@ "funkcję (skrót: Ctrl+.) i wybierając rozszerzenie z listy (zatwierdzając " "Enter lub OK)." -#: ../python/frescobaldi_app/expand.py:213 +#: ../python/frescobaldi_app/expand.py:214 msgid "" "This is the text associated with the selected shortcut. Some characters have " "special meaning:" @@ -946,19 +944,19 @@ "To jest tekst skojarzony z wybranym skrótem. Niektóry znaki posiadają " "specjalne znaczenie:" -#: ../python/frescobaldi_app/expand.py:215 +#: ../python/frescobaldi_app/expand.py:216 msgid "Place the cursor on this spot." msgstr "Umieść kursor w tym miejscu." -#: ../python/frescobaldi_app/expand.py:216 +#: ../python/frescobaldi_app/expand.py:217 msgid "Translate the following pitch." msgstr "Przetłumacz daną nazwę dźwięku." -#: ../python/frescobaldi_app/expand.py:268 +#: ../python/frescobaldi_app/expand.py:265 msgid "New Item" msgstr "Nowy objekt." -#: ../python/frescobaldi_app/expand.py:348 +#: ../python/frescobaldi_app/expand.py:345 msgid "" "Another expansion already uses this name.\n" "\n" @@ -968,7 +966,7 @@ "\n" "Proszę użyć innej nazwy." -#: ../python/frescobaldi_app/expand.py:354 +#: ../python/frescobaldi_app/expand.py:351 msgid "" "Please only use letters, numbers and the underscore character in the " "expansion name." @@ -976,52 +974,60 @@ "Proszę używać wyłącznie liter, liczb i znaków podkreślenia w nazwie " "rozszerzeń." -#: ../python/frescobaldi_app/expand.py:381 +#: ../python/frescobaldi_app/expand.py:376 msgid "Please don't leave the description empty." msgstr "Proszę nie zostawiać pustego pola opisu." -#: ../python/frescobaldi_app/hyphen.py:123 -#: ../python/frescobaldi_app/mainapp.py:676 +#: ../python/frescobaldi_app/hyphen.py:119 +msgid "" +"Could not find any hyphenation dictionaries.\n" +"\n" +"Please install a package containing some and/or or configure the search path " +"to find them in the Frescobaldi settings under \"Paths.\"" +msgstr "" + +#: ../python/frescobaldi_app/hyphen.py:132 +#: ../python/frescobaldi_app/mainapp.py:686 msgid "Hyphenate Lyrics Text" msgstr "Rozdziel tekst myślnikami" -#: ../python/frescobaldi_app/hyphen.py:127 +#: ../python/frescobaldi_app/hyphen.py:136 msgid "Please select a language:" msgstr "Proszę wybrać język:" -#: ../python/frescobaldi_app/lilydoc.py:99 +#: ../python/frescobaldi_app/lilydoc.py:101 msgid "Home" msgstr "" -#: ../python/frescobaldi_app/lilydoc.py:100 +#: ../python/frescobaldi_app/lilydoc.py:102 msgid "Larger text" msgstr "Większy tekst" -#: ../python/frescobaldi_app/lilydoc.py:101 +#: ../python/frescobaldi_app/lilydoc.py:103 msgid "Smaller text" msgstr "Mniejszy tekst" -#: ../python/frescobaldi_app/lilydoc.py:110 +#: ../python/frescobaldi_app/lilydoc.py:112 msgid "First Page" msgstr "Pierwsza strona" -#: ../python/frescobaldi_app/lilydoc.py:111 +#: ../python/frescobaldi_app/lilydoc.py:113 msgid "Previous" msgstr "Poprzedni" -#: ../python/frescobaldi_app/lilydoc.py:112 +#: ../python/frescobaldi_app/lilydoc.py:114 msgid "Up one level" msgstr "Do góry o jeden poziom" -#: ../python/frescobaldi_app/lilydoc.py:113 +#: ../python/frescobaldi_app/lilydoc.py:115 msgid "Next" msgstr "Następny" -#: ../python/frescobaldi_app/lilydoc.py:114 +#: ../python/frescobaldi_app/lilydoc.py:116 msgid "Table of contents" msgstr "Spis treści" -#: ../python/frescobaldi_app/lilydoc.py:115 +#: ../python/frescobaldi_app/lilydoc.py:117 msgid "Index" msgstr "Indeks" @@ -1033,84 +1039,84 @@ msgid "Open Link in &New Window" msgstr "Otwórz Odnośnik w &Nowym Oknie" -#: ../python/frescobaldi_app/lilydoc.py:322 -#: ../python/frescobaldi_app/runlily.py:339 +#: ../python/frescobaldi_app/lilydoc.py:321 +#: ../python/frescobaldi_app/runlily.py:508 msgid "&Copy" msgstr "&Kopiuj" -#: ../python/frescobaldi_app/lilydoc.py:325 +#: ../python/frescobaldi_app/lilydoc.py:324 msgid "Open Document in &New Window" msgstr "Otwórz Dokument w &Nowym Oknie" -#: ../python/frescobaldi_app/lilydoc.py:677 +#: ../python/frescobaldi_app/lilydoc.py:675 msgid "Loading..." msgstr "Ładowanie..." -#: ../python/frescobaldi_app/lilydoc.py:684 +#: ../python/frescobaldi_app/lilydoc.py:682 msgid "Not available" msgstr "Niedostępne" -#: ../python/frescobaldi_app/lilydoc.py:732 +#: ../python/frescobaldi_app/lilydoc.py:734 msgid "Notation Reference" msgstr "Słownik notacji" -#: ../python/frescobaldi_app/lilydoc.py:752 +#: ../python/frescobaldi_app/lilydoc.py:754 msgid "LilyPond Command Index" msgstr "Indeks poleceń LilyPonda" -#: ../python/frescobaldi_app/lilydoc.py:772 +#: ../python/frescobaldi_app/lilydoc.py:780 msgid "Learning Manual" msgstr "Podręcznik użytkownika" -#: ../python/frescobaldi_app/lilydoc.py:792 +#: ../python/frescobaldi_app/lilydoc.py:800 msgid "Learning Manual Index" msgstr "Indeks podręcznika użytkownika" -#: ../python/frescobaldi_app/lilydoc.py:808 +#: ../python/frescobaldi_app/lilydoc.py:816 msgid "LilyPond &Help" msgstr "&Pomoc LilyPond" -#: ../python/frescobaldi_app/lqi.py:62 +#: ../python/frescobaldi_app/lqi.py:82 msgid "Articulations" msgstr "Artykulacja" -#: ../python/frescobaldi_app/lqi.py:63 +#: ../python/frescobaldi_app/lqi.py:83 msgid "Different kinds of articulations and other signs." msgstr "Różne rodzaje artykulacji i inne znaki." -#: ../python/frescobaldi_app/lqi.py:70 +#: ../python/frescobaldi_app/lqi.py:90 msgid "Allow shorthands" msgstr "Pozwól na stenografowanie" -#: ../python/frescobaldi_app/lqi.py:73 +#: ../python/frescobaldi_app/lqi.py:93 msgid "Use short notation for some articulations like staccato." msgstr "Użyj skrótowej notacji dla artykulacji takich jak staccato" -#: ../python/frescobaldi_app/lqi.py:79 +#: ../python/frescobaldi_app/lqi.py:99 msgid "Direction:" msgstr "Kierunek:" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Up" msgstr "Do góry" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Neutral" msgstr "Neutralnie" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Down" msgstr "Na dół" -#: ../python/frescobaldi_app/lqi.py:85 +#: ../python/frescobaldi_app/lqi.py:105 msgid "The direction to use for the articulations." msgstr "Kierunek oznaczeń artykulacyjnych" -#: ../python/frescobaldi_app/lqi.py:112 +#: ../python/frescobaldi_app/lqi.py:134 msgid "Click an articulation sign to add it to your document." msgstr "Kliknij oznaczenie artykulacyjne, aby dodać je do Twojego dokumentu." -#: ../python/frescobaldi_app/lqi.py:113 +#: ../python/frescobaldi_app/lqi.py:135 msgid "" "If you select some music first, the articulation will be added to all notes " "in the selection." @@ -1118,99 +1124,106 @@ "Jeśli najpierw zaznaczysz fragment muzyki, artykulacja zostanie dodana do " "wszystkich nut w danym obszarze." -#: ../python/frescobaldi_app/mainapp.py:53 +#: ../python/frescobaldi_app/lqi.py:159 +msgid "Configure Keyboard Shortcut (%1)" +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:54 msgid "LilyPond files" msgstr "Pliki LilyPond" -#: ../python/frescobaldi_app/mainapp.py:392 -#: ../python/frescobaldi_app/scorewiz/__init__.py:355 +#: ../python/frescobaldi_app/mainapp.py:424 +#: ../python/frescobaldi_app/settings.py:620 +#: ../python/frescobaldi_app/scorewiz/__init__.py:348 msgid "LilyPond" msgstr "LilyPond" -#: ../python/frescobaldi_app/mainapp.py:403 +#: ../python/frescobaldi_app/mainapp.py:435 msgid "Setup New Score..." msgstr "Stwórz Nową Partyturę..." -#: ../python/frescobaldi_app/mainapp.py:408 +#: ../python/frescobaldi_app/mainapp.py:440 msgid "Run LilyPond (preview)" msgstr "Uruchom LilyPonda (podgląd)" -#: ../python/frescobaldi_app/mainapp.py:412 +#: ../python/frescobaldi_app/mainapp.py:444 msgid "Run LilyPond (publish)" msgstr "Uruchom LiliPonda (do druku)" -#: ../python/frescobaldi_app/mainapp.py:418 -msgid "Can't process document" -msgstr "Nie można przetworzyć dokumentu" - -#: ../python/frescobaldi_app/mainapp.py:421 -msgid "There is already a LilyPond job running for this document." -msgstr "LilyPond już pracuje nad tym dokumentem." - -#: ../python/frescobaldi_app/mainapp.py:427 -msgid "Your document has been modified, please save first." -msgstr "Twój dokument został zmieniony, proszę najpierw go zapisać." +#: ../python/frescobaldi_app/mainapp.py:448 +#, fuzzy +msgid "Run LilyPond (custom)..." +msgstr "Uruchom LiliPonda (do druku)" -#: ../python/frescobaldi_app/mainapp.py:446 +#: ../python/frescobaldi_app/mainapp.py:452 msgid "Interrupt LilyPond Job" msgstr "Przerwij działanie LilyPonda" -#: ../python/frescobaldi_app/mainapp.py:456 +#: ../python/frescobaldi_app/mainapp.py:462 msgid "Cut selection and assign it to a LilyPond variable." msgstr "Wytnij fragment i przyporządkuj go do zmiennej LilyPonda." -#: ../python/frescobaldi_app/mainapp.py:460 +#: ../python/frescobaldi_app/mainapp.py:466 msgid "Repeat last note or chord" msgstr "Powtórz ostatnią nutę lub akord." -#: ../python/frescobaldi_app/mainapp.py:461 +#: ../python/frescobaldi_app/mainapp.py:467 msgid "Repeat the last music expression (note or chord)." msgstr "Powtórz ostatnie wyrażenie (nutę lub akord)." -#: ../python/frescobaldi_app/mainapp.py:465 +#: ../python/frescobaldi_app/mainapp.py:471 msgid "Insert or Manage Expansions..." msgstr "Wstaw lub zarządzaj rozszerzeniami..." -#: ../python/frescobaldi_app/mainapp.py:466 +#: ../python/frescobaldi_app/mainapp.py:472 msgid "Expand last word or open the expansions dialog." msgstr "Rozszerz ostatni wyraz lub otwórz okno dialogowe rozszerzeń." -#: ../python/frescobaldi_app/mainapp.py:471 +#: ../python/frescobaldi_app/mainapp.py:476 +msgid "Special Characters..." +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:477 +#, fuzzy +msgid "Insert special characters." +msgstr "Wstaw klamrę" + +#: ../python/frescobaldi_app/mainapp.py:482 msgid "Add to Expansions" msgstr "Dodaj do Rozszerzeń" -#: ../python/frescobaldi_app/mainapp.py:475 +#: ../python/frescobaldi_app/mainapp.py:486 msgid "Next blank line" msgstr "Następna pusta linia" -#: ../python/frescobaldi_app/mainapp.py:476 +#: ../python/frescobaldi_app/mainapp.py:487 msgid "Go to the next blank line." msgstr "Przejdź do następnej pustej lini." -#: ../python/frescobaldi_app/mainapp.py:486 +#: ../python/frescobaldi_app/mainapp.py:497 msgid "Previous blank line" msgstr "Poprzednia pusta linia." -#: ../python/frescobaldi_app/mainapp.py:487 +#: ../python/frescobaldi_app/mainapp.py:498 msgid "Go to the previous blank line." msgstr "Przejdź do poprzedniej pustej lini." -#: ../python/frescobaldi_app/mainapp.py:496 +#: ../python/frescobaldi_app/mainapp.py:507 msgid "Select to next blank line" msgstr "Zaznacz do następnej pustej linii." -#: ../python/frescobaldi_app/mainapp.py:498 +#: ../python/frescobaldi_app/mainapp.py:509 msgid "" "Selects text from the current position down to and including the next blank " "line." msgstr "" "Zaznacza tekst od obecnej pozycji aż do (i razem z) następnej pustej linii." -#: ../python/frescobaldi_app/mainapp.py:523 +#: ../python/frescobaldi_app/mainapp.py:534 msgid "Select to previous blank line" msgstr "Zaznacz do poprzedniej pustej linii." -#: ../python/frescobaldi_app/mainapp.py:525 +#: ../python/frescobaldi_app/mainapp.py:536 msgid "" "Selects text from the current position up to right after the previous blank " "line." @@ -1218,23 +1231,23 @@ "Zaznacza tekst od obecnej pozycji, aż do miejsca zaraz za poprzednią pustą " "linią." -#: ../python/frescobaldi_app/mainapp.py:549 +#: ../python/frescobaldi_app/mainapp.py:560 msgid "Move selection to next blank line" msgstr "Przenieś zaznaczenie do następnej pustej linii." -#: ../python/frescobaldi_app/mainapp.py:550 +#: ../python/frescobaldi_app/mainapp.py:561 msgid "Moves selected block to next blank line." msgstr "Przenieś zaznaczony blok do następnej pustej linii." -#: ../python/frescobaldi_app/mainapp.py:554 +#: ../python/frescobaldi_app/mainapp.py:565 msgid "Move selection to previous blank line" msgstr "Przenieś zaznaczenie do poprzedniej pustej linii." -#: ../python/frescobaldi_app/mainapp.py:555 +#: ../python/frescobaldi_app/mainapp.py:566 msgid "Moves selected block to previous blank line." msgstr "Przenieś zaznaczony blok do poprzedniej pustej linii." -#: ../python/frescobaldi_app/mainapp.py:562 +#: ../python/frescobaldi_app/mainapp.py:573 msgid "" "Change the LilyPond language used for pitch names in this document or in the " "selection." @@ -1242,11 +1255,11 @@ "Zmień języku używany przez LilyPonda dla nazw dźwięków dla tego dokumentu, " "lub w danym zaznaczeniu." -#: ../python/frescobaldi_app/mainapp.py:569 +#: ../python/frescobaldi_app/mainapp.py:579 msgid "Convert Relative to &Absolute" msgstr "Konwertuj Relatywne do &Absolutnych" -#: ../python/frescobaldi_app/mainapp.py:570 +#: ../python/frescobaldi_app/mainapp.py:580 msgid "" "Converts the notes in the document or selection from relative to absolute " "pitch." @@ -1254,11 +1267,11 @@ "Konwertuje nuty w danym dokumencie lub fragmencie z wysokości relatywnych do " "absolutnych." -#: ../python/frescobaldi_app/mainapp.py:574 +#: ../python/frescobaldi_app/mainapp.py:584 msgid "Convert Absolute to &Relative" msgstr "Konwertuj Absolutne do &Relatywnych" -#: ../python/frescobaldi_app/mainapp.py:575 +#: ../python/frescobaldi_app/mainapp.py:585 msgid "" "Converts the notes in the document or selection from absolute to relative " "pitch." @@ -1266,75 +1279,75 @@ "Zmienia nuty w danym dokumencie, lub fragmencie z zapisu absolutnego na " "relatywny." -#: ../python/frescobaldi_app/mainapp.py:579 +#: ../python/frescobaldi_app/mainapp.py:589 msgid "Transpose..." msgstr "Transponuj" -#: ../python/frescobaldi_app/mainapp.py:580 +#: ../python/frescobaldi_app/mainapp.py:590 msgid "Transposes all notes in the document or selection." msgstr "Transponuje wszystkie nuty w danym dokumencie, lub jego fragmencie." -#: ../python/frescobaldi_app/mainapp.py:585 +#: ../python/frescobaldi_app/mainapp.py:595 msgid "Double durations" msgstr "Zdubluj wartości" -#: ../python/frescobaldi_app/mainapp.py:586 +#: ../python/frescobaldi_app/mainapp.py:596 msgid "Double all the durations in the selection." msgstr "Zdubluj wartości w danym fragmencie. " -#: ../python/frescobaldi_app/mainapp.py:591 +#: ../python/frescobaldi_app/mainapp.py:601 msgid "Halve durations" msgstr "Zmniejsz wartości o połowę" -#: ../python/frescobaldi_app/mainapp.py:592 +#: ../python/frescobaldi_app/mainapp.py:602 msgid "Halve all the durations in the selection." msgstr "Zmniejsz wartości o połowę w danym fragmencie." -#: ../python/frescobaldi_app/mainapp.py:597 +#: ../python/frescobaldi_app/mainapp.py:607 msgid "Dot durations" msgstr "Dodaj kropkę" -#: ../python/frescobaldi_app/mainapp.py:598 +#: ../python/frescobaldi_app/mainapp.py:608 msgid "Add a dot to all the durations in the selection." msgstr "Dodaj kropkę do wszystkich wartości w danym fragmencie." -#: ../python/frescobaldi_app/mainapp.py:603 +#: ../python/frescobaldi_app/mainapp.py:613 msgid "Undot durations" msgstr "Odejmij kropkę" -#: ../python/frescobaldi_app/mainapp.py:604 +#: ../python/frescobaldi_app/mainapp.py:614 msgid "Remove one dot from all the durations in the selection." msgstr "Usuń po jednej kropce z wszystkich nut w danym fragmencie." -#: ../python/frescobaldi_app/mainapp.py:609 +#: ../python/frescobaldi_app/mainapp.py:619 msgid "Remove scaling" msgstr "Usuń skalowanie" -#: ../python/frescobaldi_app/mainapp.py:610 +#: ../python/frescobaldi_app/mainapp.py:620 msgid "Remove all scaling (*n/m) from the durations in the selection." msgstr "Usuń skalowanie (*n/m) z wartości rytmicznych w tym fragmencie." -#: ../python/frescobaldi_app/mainapp.py:615 +#: ../python/frescobaldi_app/mainapp.py:625 msgid "Remove durations" msgstr "Wyczyść wartości" -#: ../python/frescobaldi_app/mainapp.py:616 +#: ../python/frescobaldi_app/mainapp.py:626 msgid "Remove all durations from the selection." msgstr "Wyczyść wszystkie wartości w danym fragmencie." -#: ../python/frescobaldi_app/mainapp.py:621 +#: ../python/frescobaldi_app/mainapp.py:631 msgid "Make implicit" msgstr "Ukryj wartości rytmiczne" -#: ../python/frescobaldi_app/mainapp.py:622 +#: ../python/frescobaldi_app/mainapp.py:632 msgid "Make durations implicit (remove repeated durations)." msgstr "Ukryj symbole wartości rytmicznych (ukryj powtarzające się wartości)." -#: ../python/frescobaldi_app/mainapp.py:627 +#: ../python/frescobaldi_app/mainapp.py:637 msgid "Make explicit" msgstr "Pokaż wartości rytmiczne" -#: ../python/frescobaldi_app/mainapp.py:628 +#: ../python/frescobaldi_app/mainapp.py:638 msgid "" "Make durations explicit (add duration to every note, even if it is the same " "as the preceding note)." @@ -1342,206 +1355,225 @@ "Pokaż wszystkie wartości rytmiczne (pokazuje wartość rytmiczną przy każdej " "nuty, nawet jeśli jest taka sama jak poprzednia)." -#: ../python/frescobaldi_app/mainapp.py:634 +#: ../python/frescobaldi_app/mainapp.py:644 msgid "Apply rhythm..." msgstr "Dodaj rytm..." -#: ../python/frescobaldi_app/mainapp.py:635 +#: ../python/frescobaldi_app/mainapp.py:645 msgid "Apply an entered rhythm to the selected music." msgstr "Dodaj podany rytm do zaznaczonego fragmentu muzyki." -#: ../python/frescobaldi_app/mainapp.py:639 +#: ../python/frescobaldi_app/mainapp.py:649 msgid "Copy rhythm" msgstr "Kopiuj rytm" -#: ../python/frescobaldi_app/mainapp.py:640 +#: ../python/frescobaldi_app/mainapp.py:650 msgid "Copy the rhythm of the selected music." msgstr "Kopiuj rytm z zaznaczonego fragmentu muzyki." -#: ../python/frescobaldi_app/mainapp.py:646 +#: ../python/frescobaldi_app/mainapp.py:656 msgid "Paste rhythm" msgstr "Wklej rytm" -#: ../python/frescobaldi_app/mainapp.py:647 +#: ../python/frescobaldi_app/mainapp.py:657 msgid "Paste a rhythm to the selected music." msgstr "Wklej rytm do wybranego fragmentu muzyki." -#: ../python/frescobaldi_app/mainapp.py:655 +#: ../python/frescobaldi_app/mainapp.py:665 msgid "Double bar line" msgstr "Podwójna kreska taktowa" -#: ../python/frescobaldi_app/mainapp.py:656 +#: ../python/frescobaldi_app/mainapp.py:666 msgid "Ending bar line" msgstr "Końcowa kreska taktowa" -#: ../python/frescobaldi_app/mainapp.py:657 +#: ../python/frescobaldi_app/mainapp.py:667 msgid "Dotted bar line" msgstr "Kropkowana kreska taktowa" -#: ../python/frescobaldi_app/mainapp.py:658 +#: ../python/frescobaldi_app/mainapp.py:668 msgid "Dashed bar line" msgstr "Przerywana kreska taktowa" -#: ../python/frescobaldi_app/mainapp.py:659 +#: ../python/frescobaldi_app/mainapp.py:669 msgid "Invisible bar line" msgstr "Niewidzialna kreska taktowa" -#: ../python/frescobaldi_app/mainapp.py:660 +#: ../python/frescobaldi_app/mainapp.py:670 msgid "Repeat start" msgstr "Powtórz początek" -#: ../python/frescobaldi_app/mainapp.py:661 +#: ../python/frescobaldi_app/mainapp.py:671 msgid "Repeat both" msgstr "Powtórz obydwa" -#: ../python/frescobaldi_app/mainapp.py:662 +#: ../python/frescobaldi_app/mainapp.py:672 msgid "Repeat end" msgstr "Powtórz koniec" -#: ../python/frescobaldi_app/mainapp.py:663 +#: ../python/frescobaldi_app/mainapp.py:673 msgid "Tick bar line" msgstr "Bez kresek taktowych (apostrofy)" -#: ../python/frescobaldi_app/mainapp.py:664 +#: ../python/frescobaldi_app/mainapp.py:674 msgid "Single bar line" msgstr "Pojedyncza kreska taktowa" -#: ../python/frescobaldi_app/mainapp.py:665 +#: ../python/frescobaldi_app/mainapp.py:675 msgid "Small-Wide-Small bar line" msgstr "Potrójna kreska taktowa" -#: ../python/frescobaldi_app/mainapp.py:666 +#: ../python/frescobaldi_app/mainapp.py:676 msgid "Wide-Small bar line" msgstr "Podwójna kreska taktowa" -#: ../python/frescobaldi_app/mainapp.py:667 +#: ../python/frescobaldi_app/mainapp.py:677 msgid "Double wide bar line" msgstr "Kreska taktowa o podwójnej szerokości" -#: ../python/frescobaldi_app/mainapp.py:668 +#: ../python/frescobaldi_app/mainapp.py:678 msgid "Repeat both (old)" msgstr "Powtórz obydwa (stary)" -#: ../python/frescobaldi_app/mainapp.py:669 +#: ../python/frescobaldi_app/mainapp.py:679 msgid "Repeat both (classic)" msgstr "Powtórz obydwa (klasyczny)" -#: ../python/frescobaldi_app/mainapp.py:681 +#: ../python/frescobaldi_app/mainapp.py:691 msgid "Remove hyphenation" msgstr "Usuń rozdzielenie tekstu myślnikami" -#: ../python/frescobaldi_app/mainapp.py:686 +#: ../python/frescobaldi_app/mainapp.py:695 +msgid "Copy Lyrics with hyphenation removed" +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:700 msgid "Single Quote" msgstr "Cudzysłów pojedynczy" -#: ../python/frescobaldi_app/mainapp.py:690 +#: ../python/frescobaldi_app/mainapp.py:704 msgid "Double Quote" msgstr "Cudzysłów podwójny" -#: ../python/frescobaldi_app/mainapp.py:694 +#: ../python/frescobaldi_app/mainapp.py:708 msgid "Align" msgstr "Wyrównaj" -#: ../python/frescobaldi_app/mainapp.py:698 +#: ../python/frescobaldi_app/mainapp.py:712 msgid "Insert LilyPond version" msgstr "Wstaw wersję LilyPonda" -#: ../python/frescobaldi_app/mainapp.py:703 +#: ../python/frescobaldi_app/mainapp.py:717 msgid "Update with convert-ly" msgstr "Uaktualnij z convert-ly" -#: ../python/frescobaldi_app/mainapp.py:708 +#: ../python/frescobaldi_app/mainapp.py:722 msgid "Open Current Folder" msgstr "Otwórz obecny folder" -#: ../python/frescobaldi_app/mainapp.py:722 +#: ../python/frescobaldi_app/mainapp.py:737 msgid "Repeat selected music" msgstr "Powtórz zaznaczony fragment muzyki" -#: ../python/frescobaldi_app/mainapp.py:728 +#: ../python/frescobaldi_app/mainapp.py:743 msgid "Insert pair of braces" msgstr "Wstaw klamrę" -#: ../python/frescobaldi_app/mainapp.py:776 +#: ../python/frescobaldi_app/mainapp.py:794 +msgid "Can't process document" +msgstr "Nie można przetworzyć dokumentu" + +#: ../python/frescobaldi_app/mainapp.py:799 +msgid "Your document has been modified, please save first." +msgstr "Twój dokument został zmieniony, proszę najpierw go zapisać." + +#: ../python/frescobaldi_app/mainapp.py:824 +msgid "There is already a LilyPond job running for this document." +msgstr "LilyPond już pracuje nad tym dokumentem." + +#: ../python/frescobaldi_app/mainapp.py:860 msgid "Abort the running LilyPond process" msgstr "Przerwij działanie LilyPonda" -#: ../python/frescobaldi_app/mainapp.py:779 -msgid "Run LilyPond in preview mode" +#: ../python/frescobaldi_app/mainapp.py:863 +#, fuzzy +msgid "Run LilyPond in preview mode (Shift-click for custom dialog)" msgstr "Uruchom LilyPonda w trybie podglądu" -#: ../python/frescobaldi_app/mainapp.py:796 +#: ../python/frescobaldi_app/mainapp.py:872 +#: ../python/frescobaldi_app/mainapp.py:1088 +msgid "Quick Insert" +msgstr "Szybkie wstawianie" + +#: ../python/frescobaldi_app/mainapp.py:882 msgid "Apply Rhythm" msgstr "Dodaj rytm" -#: ../python/frescobaldi_app/mainapp.py:804 +#: ../python/frescobaldi_app/mainapp.py:890 msgid "Enter a rhythm:" msgstr "Wprowadź rytm:" -#: ../python/frescobaldi_app/mainapp.py:807 +#: ../python/frescobaldi_app/mainapp.py:893 msgid "Enter a rhythm using space separated duration values (e.g. 8. 16 8 4 8)" msgstr "Wprowadź rytm używając wartości oddzielonych spacją (np. 8. 16 8 4 8)" -#: ../python/frescobaldi_app/mainapp.py:862 +#: ../python/frescobaldi_app/mainapp.py:917 msgid "Terminal" msgstr "Terminal" -#: ../python/frescobaldi_app/mainapp.py:900 +#: ../python/frescobaldi_app/mainapp.py:948 msgid "S&ynchronize Terminal with Current Document" msgstr "S&ynchronizuj Terminal z obecnym dokumentem" -#: ../python/frescobaldi_app/mainapp.py:921 -#: ../python/frescobaldi_app/runlily.py:629 +#: ../python/frescobaldi_app/mainapp.py:969 +#: ../python/frescobaldi_app/runlily.py:783 msgid "PDF Preview" msgstr "Podgląd PDF" -#: ../python/frescobaldi_app/mainapp.py:950 +#: ../python/frescobaldi_app/mainapp.py:1026 msgid "Show PDF Navigation Panel" msgstr "Pokaż panel nawigacyjny PDF" -#: ../python/frescobaldi_app/mainapp.py:951 +#: ../python/frescobaldi_app/mainapp.py:1027 msgid "Show PDF minipager" msgstr "Pokaż minipodgląd PDF" -#: ../python/frescobaldi_app/mainapp.py:952 +#: ../python/frescobaldi_app/mainapp.py:1028 msgid "Configure Okular..." msgstr "Ustawienia Okular..." -#: ../python/frescobaldi_app/mainapp.py:955 +#: ../python/frescobaldi_app/mainapp.py:1031 msgid "S&ynchronize Preview with Current Document" msgstr "S&ynchronizuj podgląd z obecnym dokumentem" -#: ../python/frescobaldi_app/mainapp.py:956 +#: ../python/frescobaldi_app/mainapp.py:1032 #, fuzzy msgid "Reload" msgstr "Nagrywaj" -#: ../python/frescobaldi_app/mainapp.py:1024 -msgid "Quick Insert" -msgstr "Szybkie wstawianie" - -#: ../python/frescobaldi_app/mainapp.py:1036 -#: ../python/frescobaldi_app/runlily.py:334 +#: ../python/frescobaldi_app/mainapp.py:1100 +#: ../python/frescobaldi_app/runlily.py:503 msgid "LilyPond Log" msgstr "LilyPond Log" -#: ../python/frescobaldi_app/mainapp.py:1040 +#: ../python/frescobaldi_app/mainapp.py:1104 msgid "no log" msgstr "no log" -#: ../python/frescobaldi_app/mainapp.py:1079 +#: ../python/frescobaldi_app/mainapp.py:1141 msgid "Only show on errors" msgstr "Pokazuj tylko przy błędzie" -#: ../python/frescobaldi_app/mainapp.py:1103 +#: ../python/frescobaldi_app/mainapp.py:1165 msgid "Rumor" msgstr "Rumor" -#: ../python/frescobaldi_app/mainapp.py:1115 +#: ../python/frescobaldi_app/mainapp.py:1177 +#: ../python/frescobaldi_app/settings.py:297 msgid "LilyPond Documentation" msgstr "Dokumentacja LilyPonda" -#: ../python/frescobaldi_app/rumor.py:72 +#: ../python/frescobaldi_app/rumor.py:73 msgid "" "The meter to use. Leave 'Auto' to let Frescobaldi determine the meter from " "the LilyPond document." @@ -1549,31 +1581,31 @@ "Ustawienie tempa. Pozostaw 'Auto', aby Frescobaldi określił tempo na " "podstawie danych dokumentu LilyPonda" -#: ../python/frescobaldi_app/rumor.py:79 +#: ../python/frescobaldi_app/rumor.py:80 msgid "Quantize:" msgstr "Kwantyzuj:" -#: ../python/frescobaldi_app/rumor.py:85 +#: ../python/frescobaldi_app/rumor.py:86 msgid "The shortest note duration to use." msgstr "Najkrótsza użyta wartość" -#: ../python/frescobaldi_app/rumor.py:90 +#: ../python/frescobaldi_app/rumor.py:91 msgid "Step" msgstr "Krok" -#: ../python/frescobaldi_app/rumor.py:92 +#: ../python/frescobaldi_app/rumor.py:93 msgid "Record LilyPond input note by note, without durations." msgstr "Nagrywaj nuta po nucie, bez wartości rytmicznych." -#: ../python/frescobaldi_app/rumor.py:96 +#: ../python/frescobaldi_app/rumor.py:97 msgid "Mono" msgstr "Mono" -#: ../python/frescobaldi_app/rumor.py:98 +#: ../python/frescobaldi_app/rumor.py:99 msgid "Record monophonic input, without chords." msgstr "Nagrywaj jednogłosowo, bez akordów." -#: ../python/frescobaldi_app/rumor.py:107 +#: ../python/frescobaldi_app/rumor.py:108 msgid "" "The number of accidentals. A negative number designates flats. Leave 'Auto' " "to let Frescobaldi determine the key signature from the LilyPond document." @@ -1583,23 +1615,23 @@ " \n" "ustalić tonację na podstawie dokumentu LilyPonda." -#: ../python/frescobaldi_app/rumor.py:113 +#: ../python/frescobaldi_app/rumor.py:114 msgid "Tempo:" msgstr "Tempo:" -#: ../python/frescobaldi_app/rumor.py:116 +#: ../python/frescobaldi_app/rumor.py:117 msgid "Meter:" msgstr "Licznik:" -#: ../python/frescobaldi_app/rumor.py:119 +#: ../python/frescobaldi_app/rumor.py:120 msgid "Key:" msgstr "Tonacja:" -#: ../python/frescobaldi_app/rumor.py:131 +#: ../python/frescobaldi_app/rumor.py:132 msgid "Configure..." msgstr "Ustawienia..." -#: ../python/frescobaldi_app/rumor.py:132 +#: ../python/frescobaldi_app/rumor.py:133 msgid "Adjust more settings, like MIDI input and output." msgstr "Więcej ustawień, np. wejścia i wyjścia MIDI. " @@ -1611,138 +1643,138 @@ msgid "Set these settings as default." msgstr "Ustaw jako domyślne." -#: ../python/frescobaldi_app/rumor.py:148 +#: ../python/frescobaldi_app/rumor.py:147 msgid "Found rumor version %1." msgstr "Znaleziono rumor w wersji %1." -#: ../python/frescobaldi_app/rumor.py:151 +#: ../python/frescobaldi_app/rumor.py:150 msgid "Could not find Rumor: %1" msgstr "Nie znaleziono Rumora :%1" -#: ../python/frescobaldi_app/rumor.py:165 +#: ../python/frescobaldi_app/rumor.py:164 msgid "Settings have been saved." msgstr "Ustawienia zostały zapisane." -#: ../python/frescobaldi_app/rumor.py:316 +#: ../python/frescobaldi_app/rumor.py:315 msgid "Record" msgstr "Nagrywaj" -#: ../python/frescobaldi_app/rumor.py:318 +#: ../python/frescobaldi_app/rumor.py:317 msgid "Start or stop Rumor MIDI-recording." msgstr "Zacznij lub skończ nagrywanie MIDI z Rumorem" -#: ../python/frescobaldi_app/rumor.py:334 +#: ../python/frescobaldi_app/rumor.py:333 msgid "Rumor is recording, press ESC to stop." msgstr "Rumor nagrywa, naciśnij ESC by zakończyć." -#: ../python/frescobaldi_app/rumor.py:360 +#: ../python/frescobaldi_app/rumor.py:359 msgid "Rumor stopped." msgstr "Rumor zatrzymany." -#: ../python/frescobaldi_app/rumor.py:394 +#: ../python/frescobaldi_app/rumor.py:393 msgid "TiMidity" msgstr "TiMidity" -#: ../python/frescobaldi_app/rumor.py:395 +#: ../python/frescobaldi_app/rumor.py:394 msgid "Start or stop the TiMidity ALSA MIDI client." msgstr "Zacznij lub zakończ TiMidity jako klienta ALSA MIDI." -#: ../python/frescobaldi_app/rumor.py:415 +#: ../python/frescobaldi_app/rumor.py:413 msgid "Rumor Settings" msgstr "Ustawienia Rumora" -#: ../python/frescobaldi_app/rumor.py:423 +#: ../python/frescobaldi_app/rumor.py:421 msgid "OSS device %1" msgstr "Urządzenie OSS %1" -#: ../python/frescobaldi_app/rumor.py:425 +#: ../python/frescobaldi_app/rumor.py:423 msgid "Keyboard" msgstr "Klawiatura" -#: ../python/frescobaldi_app/rumor.py:431 +#: ../python/frescobaldi_app/rumor.py:429 msgid "MIDI input:" msgstr "Wejście MIDI:" -#: ../python/frescobaldi_app/rumor.py:435 +#: ../python/frescobaldi_app/rumor.py:433 msgid "" "MIDI input to use. Choose 'Keyboard' if you want to play on the keyboard of " "your computer." msgstr "" "Wejście MIDI. Wybierz 'Keybourd', jeśli chcesz grać na klawiaturze komputera." -#: ../python/frescobaldi_app/rumor.py:441 +#: ../python/frescobaldi_app/rumor.py:439 msgid "MIDI output:" msgstr "Wyjście MIDI:" -#: ../python/frescobaldi_app/rumor.py:445 +#: ../python/frescobaldi_app/rumor.py:443 msgid "MIDI output to use." msgstr "Wyjście MIDI do wykorzystania" -#: ../python/frescobaldi_app/rumor.py:450 -#: ../python/frescobaldi_app/scorewiz/__init__.py:544 +#: ../python/frescobaldi_app/rumor.py:448 +#: ../python/frescobaldi_app/scorewiz/__init__.py:529 msgid "Language:" msgstr "Język:" -#: ../python/frescobaldi_app/rumor.py:455 +#: ../python/frescobaldi_app/rumor.py:453 msgid "The LilyPond language you want Rumor to output the pitches in." msgstr "Ustawienie języka LilyPond, w którym Rumor zapisze nagrywane nuty." -#: ../python/frescobaldi_app/rumor.py:463 +#: ../python/frescobaldi_app/rumor.py:461 msgid "Explicit durations" msgstr "Uwidocznione wartości rytmiczne" -#: ../python/frescobaldi_app/rumor.py:465 +#: ../python/frescobaldi_app/rumor.py:463 msgid "" "Add a duration after every note, even if it is the same as the preceding " "note." msgstr "" "Dodaj wartość do każdej nuty, nawet jeśli jest taka sama jak poprzednia." -#: ../python/frescobaldi_app/rumor.py:470 +#: ../python/frescobaldi_app/rumor.py:468 msgid "Absolute pitch" msgstr "Absolutne wysokości" -#: ../python/frescobaldi_app/rumor.py:472 +#: ../python/frescobaldi_app/rumor.py:470 msgid "Use absolute pitches instead of relative." msgstr "Używaj absolutnych nazw wysokości, zamiast relatywnych." -#: ../python/frescobaldi_app/rumor.py:478 +#: ../python/frescobaldi_app/rumor.py:476 msgid "No barlines" msgstr "Bez kresek taktowych" -#: ../python/frescobaldi_app/rumor.py:480 +#: ../python/frescobaldi_app/rumor.py:478 msgid "Filter the barlines out of Rumor's output." msgstr "Filtruj kreski taktowe z wyjścia Rumora." -#: ../python/frescobaldi_app/rumor.py:484 +#: ../python/frescobaldi_app/rumor.py:482 msgid "No dots" msgstr "Bez kropek" -#: ../python/frescobaldi_app/rumor.py:486 +#: ../python/frescobaldi_app/rumor.py:484 msgid "Do not use dotted notes, but ties instead." msgstr "Zamiast kropek używaj wiązań." -#: ../python/frescobaldi_app/rumor.py:490 +#: ../python/frescobaldi_app/rumor.py:488 msgid "Legato" msgstr "Legato" -#: ../python/frescobaldi_app/rumor.py:491 +#: ../python/frescobaldi_app/rumor.py:489 msgid "Do not use rests, but give all notes the maximum length." msgstr "Zamiast pauz, wydłużaj wartości nut" -#: ../python/frescobaldi_app/rumor.py:496 +#: ../python/frescobaldi_app/rumor.py:494 msgid "Strip rests" msgstr "Usuń pauzy" -#: ../python/frescobaldi_app/rumor.py:498 +#: ../python/frescobaldi_app/rumor.py:496 msgid "Strip leading and trialing rests from output." msgstr "Usuń pauzy na początku i końcu pliku wyjściowego." -#: ../python/frescobaldi_app/rumor.py:502 +#: ../python/frescobaldi_app/rumor.py:500 msgid "Guile scripts to load:" msgstr "Skrypt Guile do załadowania:" -#: ../python/frescobaldi_app/rumor.py:509 +#: ../python/frescobaldi_app/rumor.py:507 msgid "" "Here you can select which Guile scripts you want Rumor to load. Check " "\"What's this\" for more information." @@ -1750,7 +1782,7 @@ "Tu możesz wybrać skrypt Guile, jakiego ma używać Rumor. Sprawdź \"Co to jest" "\", by uzyskać więcej informacji." -#: ../python/frescobaldi_app/rumor.py:513 +#: ../python/frescobaldi_app/rumor.py:511 msgid "" "Here you can select which Guile scripts you want Rumor to load. You can add " "your own scripts by putting them in %1. If the first line of your script " @@ -1760,55 +1792,132 @@ "własne skrypty, umieszczając je w %1. Jeśli pierwsza linijka twojego skryptu " "rozpoczyna się średnikiem, będzie ona pokazywana jako opis." -#: ../python/frescobaldi_app/rumor.py:635 +#: ../python/frescobaldi_app/rumor.py:633 msgid "Auto" msgstr "Auto" -#: ../python/frescobaldi_app/runlily.py:88 +#: ../python/frescobaldi_app/runlily.py:101 msgid "preview mode" msgstr "tryb podglądu" -#: ../python/frescobaldi_app/runlily.py:88 +#: ../python/frescobaldi_app/runlily.py:101 msgid "publish mode" msgstr "tryb wydruku" -#: ../python/frescobaldi_app/runlily.py:89 +#: ../python/frescobaldi_app/runlily.py:104 +msgid "LilyPond %1 [%2] starting (%3)..." +msgstr "LilyPond %1 [%2] zaczyna (%3)..." + +#: ../python/frescobaldi_app/runlily.py:107 msgid "LilyPond [%1] starting (%2)..." msgstr "LilyPond [%1] zaczyna (%2)..." -#: ../python/frescobaldi_app/runlily.py:95 +#: ../python/frescobaldi_app/runlily.py:131 msgid "LilyPond [%1] exited with return code %2." msgstr "LilyPond [%1] zakończył z kodem %2." -#: ../python/frescobaldi_app/runlily.py:98 +#: ../python/frescobaldi_app/runlily.py:134 msgid "LilyPond [%1] exited with exit status %2." msgstr "LilyPond [%1] zakończył ze statusem %2." -#: ../python/frescobaldi_app/runlily.py:107 +#: ../python/frescobaldi_app/runlily.py:140 msgid "LilyPond [%1] finished (%2)." msgstr "LilyPond [%1] zakończył (%2)." -#: ../python/frescobaldi_app/runlily.py:115 +#: ../python/frescobaldi_app/runlily.py:150 msgid "Could not start LilyPond. Please check path and permissions." msgstr "Nie można uruchomić LilyPonda. Sprawdź scieżkę oraz pozwolenia." -#: ../python/frescobaldi_app/runlily.py:118 +#: ../python/frescobaldi_app/runlily.py:153 msgid "Could not read from the LilyPond process." msgstr "Nie można odczytać z tego przebiegu LilyPonda." -#: ../python/frescobaldi_app/runlily.py:121 +#: ../python/frescobaldi_app/runlily.py:156 msgid "An unknown error occured." msgstr "Pojawił się nieznany błąd." -#: ../python/frescobaldi_app/runlily.py:323 +#: ../python/frescobaldi_app/runlily.py:229 +#: ../python/frescobaldi_app/runlily.py:232 +#, fuzzy +msgid "Run LilyPond" +msgstr "LilyPond" + +#: ../python/frescobaldi_app/runlily.py:239 +#, fuzzy +msgid "Select which LilyPond version you want to run:" +msgstr "Proszę wybrać pliki do wysłania:" + +#: ../python/frescobaldi_app/runlily.py:247 +#, fuzzy +msgid "Run LilyPond in preview mode (with Point and Click)" +msgstr "Uruchom LilyPonda w trybie podglądu" + +#: ../python/frescobaldi_app/runlily.py:250 +#: ../python/frescobaldi_app/settings.py:150 +msgid "Run LilyPond with verbose output" +msgstr "Uruchom LilyPonda z wyświetlaniem szczegółów" + +#: ../python/frescobaldi_app/runlily.py:292 +#, fuzzy +msgid "Command" +msgstr "Polecenie wydruku:" + +#: ../python/frescobaldi_app/runlily.py:299 +#, fuzzy +msgid "LilyPond %1" +msgstr "LilyPond" + +#: ../python/frescobaldi_app/runlily.py:300 +#, fuzzy +msgid "Use LilyPond version %1" +msgstr "Wstaw wersję LilyPonda" + +#: ../python/frescobaldi_app/runlily.py:303 +#: ../python/frescobaldi_app/settings.py:601 +#, fuzzy +msgid "default" +msgstr "Domyślny" + +#: ../python/frescobaldi_app/runlily.py:304 +#, fuzzy +msgid "Default LilyPond Version." +msgstr "Wstaw wersję LilyPonda" + +#: ../python/frescobaldi_app/runlily.py:306 +msgid "automatic" +msgstr "" + +#: ../python/frescobaldi_app/runlily.py:307 +#, fuzzy +msgid "Automatic LilyPond Version (determined from document)." +msgstr "Wersja LilyPond jakiej użyjesz dla tego dokumentu." + +#: ../python/frescobaldi_app/runlily.py:312 +#, fuzzy +msgid "Path: %1" +msgstr "Graj %1" + +#: ../python/frescobaldi_app/runlily.py:316 +#, fuzzy +msgid "LilyPond (version unknown)" +msgstr "Wstaw wersję LilyPonda" + +#: ../python/frescobaldi_app/runlily.py:317 +#, fuzzy +msgid "" +"Use LilyPond (version unknown)\n" +"Path: %1" +msgstr "Wstaw wersję LilyPonda" + +#: ../python/frescobaldi_app/runlily.py:491 msgid "Click to edit this file" msgstr "Kliknij by rozpocząć edycję pliku" -#: ../python/frescobaldi_app/runlily.py:355 +#: ../python/frescobaldi_app/runlily.py:524 msgid "Save LilyPond Log as" msgstr "Zapisz LilyPond Log jako" -#: ../python/frescobaldi_app/runlily.py:392 +#: ../python/frescobaldi_app/runlily.py:540 msgid "" "Could not save LilyPond log:\n" "\n" @@ -1818,108 +1927,96 @@ "\n" "%1" -#: ../python/frescobaldi_app/settings.py:49 +#: ../python/frescobaldi_app/settings.py:54 msgid "Configure" msgstr "Ustaw" -#: ../python/frescobaldi_app/settings.py:104 +#: ../python/frescobaldi_app/settings.py:110 msgid "Editor Component" msgstr "Edytor komponentów" -#: ../python/frescobaldi_app/settings.py:105 +#: ../python/frescobaldi_app/settings.py:111 msgid "Editor Component Options" msgstr "Opcje edytora komponentów" -#: ../python/frescobaldi_app/settings.py:134 +#: ../python/frescobaldi_app/settings.py:140 msgid "General Preferences" msgstr "Ustawienia ogólne" -#: ../python/frescobaldi_app/settings.py:135 +#: ../python/frescobaldi_app/settings.py:141 msgid "General Frescobaldi Preferences" msgstr "Ustawienia ogólne Frescobaldiego" -#: ../python/frescobaldi_app/settings.py:140 +#: ../python/frescobaldi_app/settings.py:146 msgid "Save document when LilyPond is run" msgstr "Zapisz dokument podczas działania LilyPonda" -#: ../python/frescobaldi_app/settings.py:142 +#: ../python/frescobaldi_app/settings.py:148 msgid "Let LilyPond delete intermediate output files" msgstr "Pozwól, by LilyPond usuwał wynikowe pliki pośrednie" -#: ../python/frescobaldi_app/settings.py:144 -msgid "Run LilyPond with verbose output" -msgstr "Uruchom LilyPonda z wyświetlaniem szczegółów" - -#: ../python/frescobaldi_app/settings.py:146 +#: ../python/frescobaldi_app/settings.py:152 msgid "Remember cursor position, bookmarks, etc." msgstr "Zapamietaj pozycje kursora, zakładki, itd." -#: ../python/frescobaldi_app/settings.py:148 +#: ../python/frescobaldi_app/settings.py:154 msgid "Disable the built-in PDF preview" msgstr "Wyłącz wbudowany podgląd PDF" -#: ../python/frescobaldi_app/settings.py:165 +#: ../python/frescobaldi_app/settings.py:170 msgid "LilyPond version number to use for new documents" msgstr "Wersja LilyPond jakiej użyjesz dla tego dokumentu." -#: ../python/frescobaldi_app/settings.py:167 +#: ../python/frescobaldi_app/settings.py:172 msgid "Use version number of installed LilyPond" msgstr "Użyj numeru wersji LilyPonda, która jest zainstalowana" -#: ../python/frescobaldi_app/settings.py:168 +#: ../python/frescobaldi_app/settings.py:173 msgid "Use version number of last convert-ly rule" msgstr "Użyj numeru wersji z ostaniej dostępnej reguły convert-ly" -#: ../python/frescobaldi_app/settings.py:169 +#: ../python/frescobaldi_app/settings.py:174 msgid "Use custom version number:" msgstr "Użyj wersji użytkownika:" -#: ../python/frescobaldi_app/settings.py:175 +#: ../python/frescobaldi_app/settings.py:179 msgid "Enter a valid LilyPond version number, e.g. 2.12.0" msgstr "Wprowadź poprawną wersję LilyPonda, np. 2.12.0" -#: ../python/frescobaldi_app/settings.py:233 +#: ../python/frescobaldi_app/settings.py:234 msgid "Paths" msgstr "Ścieżki" -#: ../python/frescobaldi_app/settings.py:234 +#: ../python/frescobaldi_app/settings.py:235 msgid "Paths to programs or data used by Frescobaldi" msgstr "Ścieżka do programów lub danych używanych przez Frescobaldiego" -#: ../python/frescobaldi_app/settings.py:244 -msgid "Name or full path of the LilyPond program." -msgstr "Nazwa lub pełna ścieżka do programu LilyPond." - -#: ../python/frescobaldi_app/settings.py:246 -msgid "Name or full path of the convert-ly program." -msgstr "Nazwa lub pełna ścieżka do programu convert-ly" - -#: ../python/frescobaldi_app/settings.py:247 +#: ../python/frescobaldi_app/settings.py:249 msgid "PDF Viewer:" msgstr "Przeglądarka PDF:" -#: ../python/frescobaldi_app/settings.py:248 +#: ../python/frescobaldi_app/settings.py:250 msgid "PDF Viewer" msgstr "Przeglądarka PDF" -#: ../python/frescobaldi_app/settings.py:249 -#: ../python/frescobaldi_app/settings.py:252 +#: ../python/frescobaldi_app/settings.py:251 +#: ../python/frescobaldi_app/settings.py:254 msgid "(leave empty for operating system default)" msgstr "(pozostaw puste dla domyślnych wartości systemu operacyjnego)" -#: ../python/frescobaldi_app/settings.py:250 +#: ../python/frescobaldi_app/settings.py:252 msgid "MIDI Player:" msgstr "Odtwarzacz MIDI:" -#: ../python/frescobaldi_app/settings.py:251 +#: ../python/frescobaldi_app/settings.py:253 msgid "MIDI Player" msgstr "Odtwarzacz MIDI" -#: ../python/frescobaldi_app/settings.py:253 +#: ../python/frescobaldi_app/settings.py:255 msgid "Printcommand:" msgstr "Polecenie wydruku:" -#: ../python/frescobaldi_app/settings.py:254 +#: ../python/frescobaldi_app/settings.py:256 msgid "" "Command to print a PDF file, for example lpr or kprinter. You may add some " "arguments, e.g. lpr -P myprinter." @@ -1927,23 +2024,23 @@ "Polecenie wydruku pliku PDF, np. lpr lub kprinter. Możesz dodać różne " "wartości, np. lpr -P myprinter." -#: ../python/frescobaldi_app/settings.py:270 +#: ../python/frescobaldi_app/settings.py:272 msgid "Default directory:" msgstr "Domyślna lokalizacja:" -#: ../python/frescobaldi_app/settings.py:275 +#: ../python/frescobaldi_app/settings.py:277 msgid "The default folder for your LilyPond documents (optional)." msgstr "Domyślny folder dla Twoich dokumentów LilyPonda (do wyboru)." -#: ../python/frescobaldi_app/settings.py:287 +#: ../python/frescobaldi_app/settings.py:288 msgid "LilyPond documentation:" msgstr "Dokumentacja LilyPonda:" -#: ../python/frescobaldi_app/settings.py:292 +#: ../python/frescobaldi_app/settings.py:294 msgid "Url or path to the LilyPond documentation." msgstr "Url lub ścieżka do dokumentacji LilyPonda." -#: ../python/frescobaldi_app/settings.py:304 +#: ../python/frescobaldi_app/settings.py:305 msgid "" "Paths to search for hyphenation dictionaries of OpenOffice.org, Scribus, " "KOffice, etc, one per line. If you leave out the starting slash, the " @@ -1953,23 +2050,23 @@ "KOffice, itd., (po jednej na linię). Jeśli pozostawisz początkowy lewy " "ukośnik, użyte zostaną prefiksy dla zmiennych środowiskowych z KDEDIRS. " -#: ../python/frescobaldi_app/settings.py:363 +#: ../python/frescobaldi_app/settings.py:366 msgid "Rumor MIDI input" msgstr "Wejście MIDI Rumora" -#: ../python/frescobaldi_app/settings.py:364 +#: ../python/frescobaldi_app/settings.py:367 msgid "Rumor MIDI input plugin settings" msgstr "Ustawienia wtyczki wejścia MIDI Rumora" -#: ../python/frescobaldi_app/settings.py:369 +#: ../python/frescobaldi_app/settings.py:372 msgid "Commands used by the Rumor MIDI input module" msgstr "Polecenia używane przez moduł wejścia MIDI Rumora" -#: ../python/frescobaldi_app/settings.py:376 +#: ../python/frescobaldi_app/settings.py:379 msgid "Name or full path of the Rumor program." msgstr "Nazwa lub pełna ścieżka programu Rumor." -#: ../python/frescobaldi_app/settings.py:378 +#: ../python/frescobaldi_app/settings.py:381 msgid "" "Name or full path of the aconnect program (part of ALSA, for MIDI input and " "playback using Rumor)." @@ -1977,30 +2074,87 @@ "Nazwa lub pełna ścieżka do programu aconnect (część ALSA, dla wejść i wyjść " "MIDI przy użyciu Rumora)." -#: ../python/frescobaldi_app/settings.py:382 +#: ../python/frescobaldi_app/settings.py:385 msgid "" "Full command to start Timidity (or any other program) as an ALSA MIDI client." msgstr "" "Pełne polecenie rozpoczynające Timidity (lub inny program), jako klienta " "MIDI dla ALSA." -#: ../python/frescobaldi_app/version.py:55 +#: ../python/frescobaldi_app/settings.py:421 +#, fuzzy +msgid "LilyPond versions to use:" +msgstr "Wstaw wersję LilyPonda" + +#: ../python/frescobaldi_app/settings.py:432 +msgid "" +"Enable automatic version selection (choose LilyPond version from document)" +msgstr "" + +#: ../python/frescobaldi_app/settings.py:558 +msgid "Convert-ly:" +msgstr "" + +#: ../python/frescobaldi_app/settings.py:559 +#, fuzzy +msgid "Lilypond-book:" +msgstr "LilyPond" + +#: ../python/frescobaldi_app/settings.py:595 +#, fuzzy +msgid "Path" +msgstr "Ścieżki" + +#: ../python/frescobaldi_app/settings.py:596 +#, fuzzy +msgid "Version" +msgstr "Wersja:" + +#: ../python/frescobaldi_app/settings.py:599 +#, fuzzy +msgid "Can't determine LilyPond version." +msgstr "Wstaw wersję LilyPonda" + +#: ../python/frescobaldi_app/settings.py:624 +#, fuzzy +msgid "LilyPond Command:" +msgstr "Indeks poleceń LilyPonda" + +#: ../python/frescobaldi_app/settings.py:628 +msgid "Name or full path of the LilyPond program." +msgstr "Nazwa lub pełna ścieżka do programu LilyPond." + +#: ../python/frescobaldi_app/settings.py:629 +#, fuzzy +msgid "LilyPond Command" +msgstr "Indeks poleceń LilyPonda" + +#: ../python/frescobaldi_app/settings.py:642 +#, fuzzy +msgid "Set as default" +msgstr "Ustaw jako domyślne." + +#: ../python/frescobaldi_app/settings.py:644 +msgid "Include in automatic version selection" +msgstr "" + +#: ../python/frescobaldi_app/version.py:61 msgid "Your document has already a LilyPond version statement." msgstr "Twój dokument ma już oznaczenie wersji LilyPonda." -#: ../python/frescobaldi_app/version.py:56 +#: ../python/frescobaldi_app/version.py:62 msgid "Version already set" msgstr "Wersja jest już ustalona" -#: ../python/frescobaldi_app/version.py:64 -#: ../python/frescobaldi_app/version.py:82 +#: ../python/frescobaldi_app/version.py:70 +#: ../python/frescobaldi_app/version.py:88 msgid "" "Can't determine the version of LilyPond. Please check your LilyPond " "installation." msgstr "" "Nie można ustalić wersji LilyPonda. Proszę sprawdzić czy jest zainstalowany." -#: ../python/frescobaldi_app/version.py:78 +#: ../python/frescobaldi_app/version.py:84 msgid "" "Can't determine the LilyPond version of the current document. Please add a " "\\version statement with the correct version." @@ -2008,11 +2162,11 @@ "Nie można ustalić wersji LilyPonda dla obecnego dokumentu. Proszędodać " "wyrażenie \\version z poprawnym numerem wersji." -#: ../python/frescobaldi_app/version.py:86 +#: ../python/frescobaldi_app/version.py:92 msgid "This LilyPond document is already up-to-date." msgstr "Ten dokument LilyPonda jest już w najnowszej wersji." -#: ../python/frescobaldi_app/version.py:100 +#: ../python/frescobaldi_app/version.py:105 msgid "" "The document has been processed with convert-ly. You'll find the messages of " "convert-ly in a comment block at the end. You still may have to edit some " @@ -2022,7 +2176,7 @@ "znajdziesz w komentarzu na końcu pliku. Nadal możesz pracawać nad " "niektórymipartiami ręcznie." -#: ../python/frescobaldi_app/version.py:106 +#: ../python/frescobaldi_app/version.py:111 msgid "" "The document has been processed with convert-ly, but remained unchanged. " "This is the message given by convert-ly: %1" @@ -2030,182 +2184,182 @@ "Ten dokument był przetwarzany przez convert-ly, ale pozostał niezmieniony.To " "jest wiadomość od convert-ly: %1" -#: ../python/frescobaldi_app/version.py:111 +#: ../python/frescobaldi_app/version.py:116 msgid "Could not start convert-ly: %1" msgstr "Nie można rozpocząć konwersji przy użyciu convert-ly: %1" -#: ../python/frescobaldi_app/widgets.py:46 +#: ../python/frescobaldi_app/widgets.py:47 msgid "Tap" msgstr "Wystukaj" -#: ../python/frescobaldi_app/widgets.py:52 +#: ../python/frescobaldi_app/widgets.py:53 msgid "Click this button a few times to set the tempo." msgstr "Kliknij na ten przycisk by ustalić tempo." -#: ../python/frescobaldi_app/widgets.py:178 +#: ../python/frescobaldi_app/widgets.py:179 msgid "The tempo in beats per minute." msgstr "Tempo wg metronomu." -#: ../python/frescobaldi_app/widgets.py:290 +#: ../python/frescobaldi_app/widgets.py:288 msgid "Treble" msgstr "Wiolinowy" -#: ../python/frescobaldi_app/widgets.py:291 -#: ../python/frescobaldi_app/scorewiz/parts.py:809 +#: ../python/frescobaldi_app/widgets.py:289 +#: ../python/frescobaldi_app/scorewiz/parts.py:812 msgid "Alto" msgstr "Alt" -#: ../python/frescobaldi_app/widgets.py:292 -#: ../python/frescobaldi_app/scorewiz/parts.py:815 +#: ../python/frescobaldi_app/widgets.py:290 +#: ../python/frescobaldi_app/scorewiz/parts.py:818 msgid "Tenor" msgstr "Tenor" -#: ../python/frescobaldi_app/widgets.py:293 +#: ../python/frescobaldi_app/widgets.py:291 msgid "Treble 8" msgstr "Wiolinowy 8" -#: ../python/frescobaldi_app/widgets.py:294 -#: ../python/frescobaldi_app/scorewiz/parts.py:585 -#: ../python/frescobaldi_app/scorewiz/parts.py:822 +#: ../python/frescobaldi_app/widgets.py:292 +#: ../python/frescobaldi_app/scorewiz/parts.py:588 +#: ../python/frescobaldi_app/scorewiz/parts.py:825 msgid "Bass" msgstr "Bas" -#: ../python/frescobaldi_app/widgets.py:295 -#: ../python/frescobaldi_app/scorewiz/parts.py:1402 +#: ../python/frescobaldi_app/widgets.py:293 +#: ../python/frescobaldi_app/scorewiz/parts.py:1512 msgid "Percussion" msgstr "Perkusja" -#: ../python/frescobaldi_app/widgets.py:298 +#: ../python/frescobaldi_app/widgets.py:296 msgid "Tab clef" msgstr "Klucz tabulaturowy" -#: ../python/frescobaldi_app/widgets.py:300 +#: ../python/frescobaldi_app/widgets.py:298 msgid "No Clef" msgstr "Bez klucza" -#: ../python/frescobaldi_app/scorewiz/__init__.py:68 +#: ../python/frescobaldi_app/scorewiz/__init__.py:62 msgid "Score Setup Wizard" msgstr "Kreator partytury" -#: ../python/frescobaldi_app/scorewiz/__init__.py:137 +#: ../python/frescobaldi_app/scorewiz/__init__.py:133 msgid "Titles and Headers" msgstr "Tytuły i nagłówki" -#: ../python/frescobaldi_app/scorewiz/__init__.py:155 +#: ../python/frescobaldi_app/scorewiz/__init__.py:151 msgid "Click to enter a value." msgstr "Kliknij by wprowadzić wartość." -#: ../python/frescobaldi_app/scorewiz/__init__.py:157 +#: ../python/frescobaldi_app/scorewiz/__init__.py:153 msgid "bottom of first page" msgstr "stopka pierwszej strony" -#: ../python/frescobaldi_app/scorewiz/__init__.py:158 +#: ../python/frescobaldi_app/scorewiz/__init__.py:154 msgid "bottom of last page" msgstr "stopka ostatniej strony" -#: ../python/frescobaldi_app/scorewiz/__init__.py:201 +#: ../python/frescobaldi_app/scorewiz/__init__.py:194 msgid "Parts" msgstr "Głosy" -#: ../python/frescobaldi_app/scorewiz/__init__.py:206 +#: ../python/frescobaldi_app/scorewiz/__init__.py:199 msgid "Available parts:" msgstr "Dostępne głosy:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:209 +#: ../python/frescobaldi_app/scorewiz/__init__.py:202 msgid "Add selected part to your score." msgstr "Dodaj wybrane głosy do partytury." -#: ../python/frescobaldi_app/scorewiz/__init__.py:214 +#: ../python/frescobaldi_app/scorewiz/__init__.py:207 msgid "Score:" msgstr "Partytura:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:348 -#: ../python/frescobaldi_app/scorewiz/__init__.py:353 +#: ../python/frescobaldi_app/scorewiz/__init__.py:341 +#: ../python/frescobaldi_app/scorewiz/__init__.py:346 msgid "Score settings" msgstr "Ustawienia partytury" -#: ../python/frescobaldi_app/scorewiz/__init__.py:360 +#: ../python/frescobaldi_app/scorewiz/__init__.py:353 msgid "General preferences" msgstr "Ustawienia ogólne" -#: ../python/frescobaldi_app/scorewiz/__init__.py:362 +#: ../python/frescobaldi_app/scorewiz/__init__.py:355 msgid "Instrument names" msgstr "Nazwy instrumentów" -#: ../python/frescobaldi_app/scorewiz/__init__.py:369 +#: ../python/frescobaldi_app/scorewiz/__init__.py:362 msgid "Key signature:" msgstr "Tonacja:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:377 +#: ../python/frescobaldi_app/scorewiz/__init__.py:370 msgid "Time signature:" msgstr "Metrum:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:393 +#: ../python/frescobaldi_app/scorewiz/__init__.py:386 msgid "Pickup measure:" msgstr "Przedtakt:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:405 +#: ../python/frescobaldi_app/scorewiz/__init__.py:398 msgid "Metronome mark:" msgstr "Oznaczenie metronomiczne:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:434 +#: ../python/frescobaldi_app/scorewiz/__init__.py:427 msgid "Tempo indication:" msgstr "Oznaczenie tempa:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:438 +#: ../python/frescobaldi_app/scorewiz/__init__.py:431 msgid "A tempo indication, e.g. \"Allegro.\"" msgstr "Oznaczenie tempa, np. \"Allegro.\"" -#: ../python/frescobaldi_app/scorewiz/__init__.py:444 +#: ../python/frescobaldi_app/scorewiz/__init__.py:437 msgid "Pitch name language:" msgstr "Język dla nazw dźwięków:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:452 +#: ../python/frescobaldi_app/scorewiz/__init__.py:445 msgid "The LilyPond language you want to use for the pitch names." msgstr "Wybierz język,którego Lilypond użyje dla zapisywania wysokości" -#: ../python/frescobaldi_app/scorewiz/__init__.py:469 +#: ../python/frescobaldi_app/scorewiz/__init__.py:451 msgid "Version:" msgstr "Wersja:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:478 +#: ../python/frescobaldi_app/scorewiz/__init__.py:460 msgid "The LilyPond version you will be using for this document." msgstr "Wersja LilyPond jakiej użyjesz dla tego dokumentu." -#: ../python/frescobaldi_app/scorewiz/__init__.py:482 +#: ../python/frescobaldi_app/scorewiz/__init__.py:464 msgid "Use typographical quotes" msgstr "Użyj cudzysłowu drukarskiego" -#: ../python/frescobaldi_app/scorewiz/__init__.py:484 +#: ../python/frescobaldi_app/scorewiz/__init__.py:466 msgid "Replace normal quotes in titles with nice typographical quotes." msgstr "Zamień normalny cudzysłów na cudzysłów drukarski." -#: ../python/frescobaldi_app/scorewiz/__init__.py:488 +#: ../python/frescobaldi_app/scorewiz/__init__.py:470 msgid "Suppress the default tagline output by LilyPond." msgstr "Ukryj domyślną stopkę dodawaną przez LilyPond." -#: ../python/frescobaldi_app/scorewiz/__init__.py:490 +#: ../python/frescobaldi_app/scorewiz/__init__.py:472 msgid "Remove bar numbers" msgstr "Usuń numery taktów" -#: ../python/frescobaldi_app/scorewiz/__init__.py:492 +#: ../python/frescobaldi_app/scorewiz/__init__.py:474 msgid "" "Suppress the display of measure numbers at the beginning of every system." msgstr "Ukryj numery taktów na początku każdego systemu." -#: ../python/frescobaldi_app/scorewiz/__init__.py:495 +#: ../python/frescobaldi_app/scorewiz/__init__.py:477 msgid "Create MIDI output" msgstr "Generuj plik MIDI" -#: ../python/frescobaldi_app/scorewiz/__init__.py:497 +#: ../python/frescobaldi_app/scorewiz/__init__.py:479 msgid "Create a MIDI file in addition to the PDF file." msgstr "Generuj plik MIDI oraz PDF." -#: ../python/frescobaldi_app/scorewiz/__init__.py:499 +#: ../python/frescobaldi_app/scorewiz/__init__.py:481 msgid "Show metronome mark" msgstr "Pokaż oznaczenie metronomiczne" -#: ../python/frescobaldi_app/scorewiz/__init__.py:501 +#: ../python/frescobaldi_app/scorewiz/__init__.py:483 msgid "" "If checked, show the metronome mark at the beginning of the score. The MIDI " "output also uses the metronome setting." @@ -2213,151 +2367,159 @@ "Jeśli zaznaczysz, oznaczenie metronomiczne pojawi się na początkupartytury. " "Użyte zostanie także w pliku MIDI." -#: ../python/frescobaldi_app/scorewiz/__init__.py:512 +#: ../python/frescobaldi_app/scorewiz/__init__.py:487 +msgid "Wrap score in \\book block" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/__init__.py:489 +msgid "If checked, wraps the \\score block inside a \\book block." +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/__init__.py:499 msgid "Landscape" msgstr "Układ poziomy" -#: ../python/frescobaldi_app/scorewiz/__init__.py:526 +#: ../python/frescobaldi_app/scorewiz/__init__.py:511 msgid "First system:" msgstr "Pierwszy system:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:529 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/scorewiz/__init__.py:514 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "Long" msgstr "Pełna nazwa" -#: ../python/frescobaldi_app/scorewiz/__init__.py:529 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/scorewiz/__init__.py:514 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "Short" msgstr "Skrót" -#: ../python/frescobaldi_app/scorewiz/__init__.py:531 +#: ../python/frescobaldi_app/scorewiz/__init__.py:516 msgid "Use long or short instrument names before the first system." msgstr "Użyj pełnej nazwy lub skrótu na początku pierwszego systemu. " -#: ../python/frescobaldi_app/scorewiz/__init__.py:535 +#: ../python/frescobaldi_app/scorewiz/__init__.py:520 msgid "Other systems:" msgstr "Inne systemy:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:540 +#: ../python/frescobaldi_app/scorewiz/__init__.py:525 msgid "Use short, long or no instrument names before the next systems." msgstr "" "Użyj skrótów, pełnych nazw lub nie używaj nazw przed kolejnymi systemami." -#: ../python/frescobaldi_app/scorewiz/__init__.py:548 +#: ../python/frescobaldi_app/scorewiz/__init__.py:533 msgid "Which language to use for the instrument names." msgstr "Język dla nazw instrumentów." -#: ../python/frescobaldi_app/scorewiz/__init__.py:726 +#: ../python/frescobaldi_app/scorewiz/__init__.py:736 msgid "Remove default LilyPond tagline" msgstr "Usuń domyślną stopkę LilyPonda" -#: ../python/frescobaldi_app/scorewiz/__init__.py:1040 +#: ../python/frescobaldi_app/scorewiz/__init__.py:1077 msgid "No settings available." msgstr "Brak dostępnych ustawień." -#: ../python/frescobaldi_app/scorewiz/parts.py:50 +#: ../python/frescobaldi_app/scorewiz/parts.py:54 msgid "Voices:" msgstr "Głosy:" -#: ../python/frescobaldi_app/scorewiz/parts.py:55 +#: ../python/frescobaldi_app/scorewiz/parts.py:59 msgid "How many voices to put in this staff." msgstr "Ilość głosów dla tej pięciolinii." -#: ../python/frescobaldi_app/scorewiz/parts.py:93 +#: ../python/frescobaldi_app/scorewiz/parts.py:97 msgid "Music follows here." msgstr "Poniżej wpisz nuty." -#: ../python/frescobaldi_app/scorewiz/parts.py:160 +#: ../python/frescobaldi_app/scorewiz/parts.py:164 msgid "Staff type:" msgstr "Rodzaj pięciolinii:" -#: ../python/frescobaldi_app/scorewiz/parts.py:164 +#: ../python/frescobaldi_app/scorewiz/parts.py:168 msgid "Normal staff" msgstr "Normalna pięciolinia" -#: ../python/frescobaldi_app/scorewiz/parts.py:165 +#: ../python/frescobaldi_app/scorewiz/parts.py:169 msgid "Tablature" msgstr "Tabulatura" -#: ../python/frescobaldi_app/scorewiz/parts.py:166 +#: ../python/frescobaldi_app/scorewiz/parts.py:170 msgid "Both" msgstr "Obydwa" -#: ../python/frescobaldi_app/scorewiz/parts.py:177 +#: ../python/frescobaldi_app/scorewiz/parts.py:180 msgid "Tuning:" msgstr "Strój:" -#: ../python/frescobaldi_app/scorewiz/parts.py:298 +#: ../python/frescobaldi_app/scorewiz/parts.py:301 msgid "Lyrics follow here." msgstr "Poniżej wpisz tekst." -#: ../python/frescobaldi_app/scorewiz/parts.py:309 +#: ../python/frescobaldi_app/scorewiz/parts.py:312 msgid "Stanzas:" msgstr "Zwrotki:" -#: ../python/frescobaldi_app/scorewiz/parts.py:313 +#: ../python/frescobaldi_app/scorewiz/parts.py:316 msgid "The number of stanzas." msgstr "Liczba strof." -#: ../python/frescobaldi_app/scorewiz/parts.py:316 +#: ../python/frescobaldi_app/scorewiz/parts.py:319 msgid "Ambitus" msgstr "Ambitus" -#: ../python/frescobaldi_app/scorewiz/parts.py:319 +#: ../python/frescobaldi_app/scorewiz/parts.py:322 msgid "Show the pitch range of the voice at the beginning of the staff." msgstr "Pokaż skalę głosu na początku pięciolinii." -#: ../python/frescobaldi_app/scorewiz/parts.py:383 +#: ../python/frescobaldi_app/scorewiz/parts.py:386 msgid "Adjust how many separate voices you want on each staff." msgstr "Ustal ilość oddzielnych głosów dla każdej pięciolinii. " -#: ../python/frescobaldi_app/scorewiz/parts.py:384 +#: ../python/frescobaldi_app/scorewiz/parts.py:387 msgid "This is primarily useful when you write polyphonic music like a fuge." msgstr "Jest to szczególnie użyteczne w pisaniu muzyki polifonicznej, np. fug." -#: ../python/frescobaldi_app/scorewiz/parts.py:388 +#: ../python/frescobaldi_app/scorewiz/parts.py:391 msgid "Right hand:" msgstr "Prawa ręka:" -#: ../python/frescobaldi_app/scorewiz/parts.py:389 +#: ../python/frescobaldi_app/scorewiz/parts.py:392 msgid "Left hand:" msgstr "Lewa ręka:" -#: ../python/frescobaldi_app/scorewiz/parts.py:408 -#: ../python/frescobaldi_app/scorewiz/parts.py:895 +#: ../python/frescobaldi_app/scorewiz/parts.py:411 +#: ../python/frescobaldi_app/scorewiz/parts.py:898 msgid "Chord names" msgstr "Nazwy akordów" -#: ../python/frescobaldi_app/scorewiz/parts.py:420 +#: ../python/frescobaldi_app/scorewiz/parts.py:423 msgid "Chords follow here." msgstr "Poniżej wpisz akordy." -#: ../python/frescobaldi_app/scorewiz/parts.py:432 +#: ../python/frescobaldi_app/scorewiz/parts.py:435 msgid "Chord style:" msgstr "Styl akordów:" -#: ../python/frescobaldi_app/scorewiz/parts.py:437 +#: ../python/frescobaldi_app/scorewiz/parts.py:440 msgid "German" msgstr "Niemiecki" -#: ../python/frescobaldi_app/scorewiz/parts.py:438 +#: ../python/frescobaldi_app/scorewiz/parts.py:441 msgid "Semi-German" msgstr "Pół-Niemiecki" -#: ../python/frescobaldi_app/scorewiz/parts.py:439 +#: ../python/frescobaldi_app/scorewiz/parts.py:442 msgid "Italian" msgstr "Włoski" -#: ../python/frescobaldi_app/scorewiz/parts.py:440 +#: ../python/frescobaldi_app/scorewiz/parts.py:443 msgid "French" msgstr "Francuski" -#: ../python/frescobaldi_app/scorewiz/parts.py:441 +#: ../python/frescobaldi_app/scorewiz/parts.py:444 msgid "Guitar fret diagrams" msgstr "Wykres progów gitary" -#: ../python/frescobaldi_app/scorewiz/parts.py:443 +#: ../python/frescobaldi_app/scorewiz/parts.py:446 msgid "" "Show predefined guitar fret diagrams below the chord names (LilyPond 2.12 " "and above)." @@ -2365,392 +2527,392 @@ "Pokaż tabulaturowy wykres progów gitary pod nazwami akordów (LilyPond 2.12 i " "wyższy)." -#: ../python/frescobaldi_app/scorewiz/parts.py:449 +#: ../python/frescobaldi_app/scorewiz/parts.py:452 msgid "Figured Bass" msgstr "Bas cyfrowany" -#: ../python/frescobaldi_app/scorewiz/parts.py:457 -#: ../python/frescobaldi_app/scorewiz/parts.py:516 +#: ../python/frescobaldi_app/scorewiz/parts.py:460 +#: ../python/frescobaldi_app/scorewiz/parts.py:519 msgid "Figures follow here." msgstr "Poniżej wpisz cyfowanie basu." -#: ../python/frescobaldi_app/scorewiz/parts.py:464 +#: ../python/frescobaldi_app/scorewiz/parts.py:467 msgid "Use extender lines" msgstr "Użyj wypełniających linii" -#: ../python/frescobaldi_app/scorewiz/parts.py:469 +#: ../python/frescobaldi_app/scorewiz/parts.py:472 msgid "Violin" msgstr "Skrzypce" -#: ../python/frescobaldi_app/scorewiz/parts.py:470 +#: ../python/frescobaldi_app/scorewiz/parts.py:473 msgid "Violin|Vl." msgstr "Skrzypce|Skrz." -#: ../python/frescobaldi_app/scorewiz/parts.py:475 +#: ../python/frescobaldi_app/scorewiz/parts.py:478 msgid "Viola" msgstr "Altówka" -#: ../python/frescobaldi_app/scorewiz/parts.py:476 +#: ../python/frescobaldi_app/scorewiz/parts.py:479 msgid "Viola|Vla." msgstr "Altówka|Alt." -#: ../python/frescobaldi_app/scorewiz/parts.py:483 +#: ../python/frescobaldi_app/scorewiz/parts.py:486 msgid "Cello" msgstr "Wiolonczela" -#: ../python/frescobaldi_app/scorewiz/parts.py:484 +#: ../python/frescobaldi_app/scorewiz/parts.py:487 msgid "Cello|Cl." msgstr "Wiolonczela|Wiol." -#: ../python/frescobaldi_app/scorewiz/parts.py:491 +#: ../python/frescobaldi_app/scorewiz/parts.py:494 msgid "Contrabass" msgstr "Kontrabas" -#: ../python/frescobaldi_app/scorewiz/parts.py:492 +#: ../python/frescobaldi_app/scorewiz/parts.py:495 msgid "Contrabass|Cb." msgstr "Kontrabas|Kb." -#: ../python/frescobaldi_app/scorewiz/parts.py:499 +#: ../python/frescobaldi_app/scorewiz/parts.py:502 msgid "Basso continuo" msgstr "Basso continuo" -#: ../python/frescobaldi_app/scorewiz/parts.py:500 +#: ../python/frescobaldi_app/scorewiz/parts.py:503 msgid "Basso Continuo|B.c." msgstr "Basso Continuo|B.c." -#: ../python/frescobaldi_app/scorewiz/parts.py:522 +#: ../python/frescobaldi_app/scorewiz/parts.py:525 msgid "Mandolin" msgstr "Mandolina" -#: ../python/frescobaldi_app/scorewiz/parts.py:523 +#: ../python/frescobaldi_app/scorewiz/parts.py:526 msgid "Mandolin|Mdl." msgstr "Mandolina|Mdl." -#: ../python/frescobaldi_app/scorewiz/parts.py:526 +#: ../python/frescobaldi_app/scorewiz/parts.py:529 msgid "Mandolin tuning" msgstr "Strój mandoliny" -#: ../python/frescobaldi_app/scorewiz/parts.py:531 +#: ../python/frescobaldi_app/scorewiz/parts.py:534 msgid "Banjo" msgstr "Banjo" -#: ../python/frescobaldi_app/scorewiz/parts.py:532 +#: ../python/frescobaldi_app/scorewiz/parts.py:535 msgid "Banjo|Bj." msgstr "Banjo|Bj." -#: ../python/frescobaldi_app/scorewiz/parts.py:536 +#: ../python/frescobaldi_app/scorewiz/parts.py:539 msgid "Open G-tuning (aDGBD)" msgstr "Strój G (aDGHD)" -#: ../python/frescobaldi_app/scorewiz/parts.py:537 +#: ../python/frescobaldi_app/scorewiz/parts.py:540 msgid "C-tuning (gCGBD)" msgstr "Strój C (gCGHD)" -#: ../python/frescobaldi_app/scorewiz/parts.py:538 +#: ../python/frescobaldi_app/scorewiz/parts.py:541 msgid "Modal tuning (gDGCD)" msgstr "Strój modalny(gDGCD)" -#: ../python/frescobaldi_app/scorewiz/parts.py:539 +#: ../python/frescobaldi_app/scorewiz/parts.py:542 msgid "Open D-tuning (aDF#AD)" msgstr "Strój D (aDF#AD)" -#: ../python/frescobaldi_app/scorewiz/parts.py:540 +#: ../python/frescobaldi_app/scorewiz/parts.py:543 msgid "Open Dm-tuning (aDFAD)" msgstr "Strój d-moll (aDFAD)" -#: ../python/frescobaldi_app/scorewiz/parts.py:544 +#: ../python/frescobaldi_app/scorewiz/parts.py:547 msgid "Four strings (instead of five)" msgstr "Cztery struny (zamiast pięciu)" -#: ../python/frescobaldi_app/scorewiz/parts.py:561 +#: ../python/frescobaldi_app/scorewiz/parts.py:564 msgid "Classical guitar" msgstr "Gitara " -#: ../python/frescobaldi_app/scorewiz/parts.py:562 +#: ../python/frescobaldi_app/scorewiz/parts.py:565 msgid "Guitar|Gt." msgstr "Gitara|Git." -#: ../python/frescobaldi_app/scorewiz/parts.py:566 +#: ../python/frescobaldi_app/scorewiz/parts.py:569 msgid "Guitar tuning" msgstr "Strój gitarowy" -#: ../python/frescobaldi_app/scorewiz/parts.py:567 +#: ../python/frescobaldi_app/scorewiz/parts.py:570 msgid "Open G-tuning" msgstr "Strój G" -#: ../python/frescobaldi_app/scorewiz/parts.py:579 +#: ../python/frescobaldi_app/scorewiz/parts.py:582 msgid "Jazz guitar" msgstr "Gitara jazzowa" -#: ../python/frescobaldi_app/scorewiz/parts.py:580 +#: ../python/frescobaldi_app/scorewiz/parts.py:583 msgid "Jazz guitar|J.Gt." msgstr "Gitara jazzowa|Git.jazz." -#: ../python/frescobaldi_app/scorewiz/parts.py:586 +#: ../python/frescobaldi_app/scorewiz/parts.py:589 msgid "Bass|Bs." msgstr "Bas|B." -#: ../python/frescobaldi_app/scorewiz/parts.py:591 +#: ../python/frescobaldi_app/scorewiz/parts.py:594 msgid "Bass tuning" msgstr "Strój basu" -#: ../python/frescobaldi_app/scorewiz/parts.py:596 +#: ../python/frescobaldi_app/scorewiz/parts.py:599 msgid "Electric bass" msgstr "Bas elektryczny" -#: ../python/frescobaldi_app/scorewiz/parts.py:597 +#: ../python/frescobaldi_app/scorewiz/parts.py:600 msgid "Electric bass|E.Bs." msgstr "Bas elektryczny|E.b." -#: ../python/frescobaldi_app/scorewiz/parts.py:602 +#: ../python/frescobaldi_app/scorewiz/parts.py:605 msgid "Harp" msgstr "Harfa" -#: ../python/frescobaldi_app/scorewiz/parts.py:603 +#: ../python/frescobaldi_app/scorewiz/parts.py:606 msgid "Harp|Hp." msgstr "Harfa|Hf." -#: ../python/frescobaldi_app/scorewiz/parts.py:618 +#: ../python/frescobaldi_app/scorewiz/parts.py:621 msgid "Upper staff:" msgstr "Górna pięciolinia:" -#: ../python/frescobaldi_app/scorewiz/parts.py:619 +#: ../python/frescobaldi_app/scorewiz/parts.py:622 msgid "Lower staff:" msgstr "Dolna pięciolinia:" -#: ../python/frescobaldi_app/scorewiz/parts.py:623 +#: ../python/frescobaldi_app/scorewiz/parts.py:626 msgid "Flute" msgstr "Flet" -#: ../python/frescobaldi_app/scorewiz/parts.py:624 +#: ../python/frescobaldi_app/scorewiz/parts.py:627 msgid "Flute|Fl." msgstr "Flet|Fl." -#: ../python/frescobaldi_app/scorewiz/parts.py:629 +#: ../python/frescobaldi_app/scorewiz/parts.py:632 msgid "Piccolo" msgstr "Pikulina" -#: ../python/frescobaldi_app/scorewiz/parts.py:630 +#: ../python/frescobaldi_app/scorewiz/parts.py:633 msgid "Piccolo|Pic." msgstr "Pikulina|Pik." -#: ../python/frescobaldi_app/scorewiz/parts.py:636 +#: ../python/frescobaldi_app/scorewiz/parts.py:639 msgid "Bass flute" msgstr "Flet basowy" -#: ../python/frescobaldi_app/scorewiz/parts.py:637 +#: ../python/frescobaldi_app/scorewiz/parts.py:640 msgid "Bass flute|Bfl." msgstr "Flet basowy|Fl.b." -#: ../python/frescobaldi_app/scorewiz/parts.py:643 +#: ../python/frescobaldi_app/scorewiz/parts.py:646 msgid "Oboe" msgstr "Obój" -#: ../python/frescobaldi_app/scorewiz/parts.py:644 +#: ../python/frescobaldi_app/scorewiz/parts.py:647 msgid "Oboe|Ob." msgstr "Obój|Ob." -#: ../python/frescobaldi_app/scorewiz/parts.py:649 +#: ../python/frescobaldi_app/scorewiz/parts.py:652 msgid "Oboe d'Amore" msgstr "Obój miłosny" -#: ../python/frescobaldi_app/scorewiz/parts.py:650 +#: ../python/frescobaldi_app/scorewiz/parts.py:653 msgid "Oboe d'amore|Ob.d'am." msgstr "Obój miłosny|Ob.mił." -#: ../python/frescobaldi_app/scorewiz/parts.py:656 +#: ../python/frescobaldi_app/scorewiz/parts.py:659 msgid "English Horn" msgstr "Rożek angielski" -#: ../python/frescobaldi_app/scorewiz/parts.py:657 +#: ../python/frescobaldi_app/scorewiz/parts.py:660 msgid "English horn|Eng.h." msgstr "Rożek angielski|R.ang." -#: ../python/frescobaldi_app/scorewiz/parts.py:663 +#: ../python/frescobaldi_app/scorewiz/parts.py:666 msgid "Bassoon" msgstr "Fagot" -#: ../python/frescobaldi_app/scorewiz/parts.py:664 +#: ../python/frescobaldi_app/scorewiz/parts.py:667 msgid "Bassoon|Bn." msgstr "Fagot|Fg." -#: ../python/frescobaldi_app/scorewiz/parts.py:671 +#: ../python/frescobaldi_app/scorewiz/parts.py:674 msgid "Contrabassoon" msgstr "Kontrafagot" -#: ../python/frescobaldi_app/scorewiz/parts.py:672 +#: ../python/frescobaldi_app/scorewiz/parts.py:675 msgid "Contrabassoon|C.Bn." msgstr "Kontrafagot|Kfg." -#: ../python/frescobaldi_app/scorewiz/parts.py:680 +#: ../python/frescobaldi_app/scorewiz/parts.py:683 msgid "Clarinet" msgstr "Klarnet" -#: ../python/frescobaldi_app/scorewiz/parts.py:681 +#: ../python/frescobaldi_app/scorewiz/parts.py:684 msgid "Clarinet|Cl." msgstr "Klarnet|Kl." -#: ../python/frescobaldi_app/scorewiz/parts.py:687 +#: ../python/frescobaldi_app/scorewiz/parts.py:690 msgid "Sopranino Sax" msgstr "Saksofon sopranino" -#: ../python/frescobaldi_app/scorewiz/parts.py:688 +#: ../python/frescobaldi_app/scorewiz/parts.py:691 msgid "Sopranino Sax|SiSx." msgstr "Saksofon sopranino|Sx.Sno" -#: ../python/frescobaldi_app/scorewiz/parts.py:694 +#: ../python/frescobaldi_app/scorewiz/parts.py:697 msgid "Soprano Sax" msgstr "Saksofon sopranowy" -#: ../python/frescobaldi_app/scorewiz/parts.py:695 +#: ../python/frescobaldi_app/scorewiz/parts.py:698 msgid "Soprano Sax|SoSx." msgstr "Saksofon sopranowy|S.Sx" -#: ../python/frescobaldi_app/scorewiz/parts.py:701 +#: ../python/frescobaldi_app/scorewiz/parts.py:704 msgid "Alto Sax" msgstr "Saksofon altowy" -#: ../python/frescobaldi_app/scorewiz/parts.py:702 +#: ../python/frescobaldi_app/scorewiz/parts.py:705 msgid "Alto Sax|ASx." msgstr "Saksofon altowy|Sx.a." -#: ../python/frescobaldi_app/scorewiz/parts.py:708 +#: ../python/frescobaldi_app/scorewiz/parts.py:711 msgid "Tenor Sax" msgstr "Saksofon tenorowy" -#: ../python/frescobaldi_app/scorewiz/parts.py:709 +#: ../python/frescobaldi_app/scorewiz/parts.py:712 msgid "Tenor Sax|TSx." msgstr "Saksofon tenorowy|Sx.t." -#: ../python/frescobaldi_app/scorewiz/parts.py:715 +#: ../python/frescobaldi_app/scorewiz/parts.py:718 msgid "Baritone Sax" msgstr "Saksofon barytonowy" -#: ../python/frescobaldi_app/scorewiz/parts.py:716 +#: ../python/frescobaldi_app/scorewiz/parts.py:719 msgid "Baritone Sax|BSx." msgstr "Saksofon barytonowy|Sx.b" -#: ../python/frescobaldi_app/scorewiz/parts.py:722 +#: ../python/frescobaldi_app/scorewiz/parts.py:725 msgid "Bass Sax" msgstr "Saksofon basowy" -#: ../python/frescobaldi_app/scorewiz/parts.py:723 +#: ../python/frescobaldi_app/scorewiz/parts.py:726 msgid "Bass Sax|BsSx." msgstr "Saksofon basowy|Sx.bs" -#: ../python/frescobaldi_app/scorewiz/parts.py:729 +#: ../python/frescobaldi_app/scorewiz/parts.py:732 msgid "Soprano recorder" msgstr "Flet prosty sopranowy" -#: ../python/frescobaldi_app/scorewiz/parts.py:730 +#: ../python/frescobaldi_app/scorewiz/parts.py:733 msgid "Soprano recorder|S.rec." msgstr "Flet prosty sopranowy|Fl.s." -#: ../python/frescobaldi_app/scorewiz/parts.py:736 +#: ../python/frescobaldi_app/scorewiz/parts.py:739 msgid "Alto recorder" msgstr "Flet prosty altowy" -#: ../python/frescobaldi_app/scorewiz/parts.py:737 +#: ../python/frescobaldi_app/scorewiz/parts.py:740 msgid "Alto recorder|A.rec." msgstr "Flet prosty altowy|Fl.a." -#: ../python/frescobaldi_app/scorewiz/parts.py:742 +#: ../python/frescobaldi_app/scorewiz/parts.py:745 msgid "Tenor recorder" msgstr "Flet prosty tenorowy" -#: ../python/frescobaldi_app/scorewiz/parts.py:743 +#: ../python/frescobaldi_app/scorewiz/parts.py:746 msgid "Tenor recorder|T.rec." msgstr "Flet prosty tenorowy|Fl.t." -#: ../python/frescobaldi_app/scorewiz/parts.py:748 +#: ../python/frescobaldi_app/scorewiz/parts.py:751 msgid "Bass recorder" msgstr "Flet prosty basowy" -#: ../python/frescobaldi_app/scorewiz/parts.py:749 +#: ../python/frescobaldi_app/scorewiz/parts.py:752 msgid "Bass recorder|B.rec." msgstr "Flet prosty basowy|Fl.b." -#: ../python/frescobaldi_app/scorewiz/parts.py:756 +#: ../python/frescobaldi_app/scorewiz/parts.py:759 msgid "Horn in F" msgstr "Róg F" -#: ../python/frescobaldi_app/scorewiz/parts.py:757 +#: ../python/frescobaldi_app/scorewiz/parts.py:760 msgid "Horn in F|Hn.F." msgstr "Róg F|R. F" -#: ../python/frescobaldi_app/scorewiz/parts.py:763 +#: ../python/frescobaldi_app/scorewiz/parts.py:766 msgid "Trumpet in C" msgstr "Trąbka C" -#: ../python/frescobaldi_app/scorewiz/parts.py:764 +#: ../python/frescobaldi_app/scorewiz/parts.py:767 msgid "Trumpet in C|Tr.C" msgstr "Trąbka C|Tr.C" -#: ../python/frescobaldi_app/scorewiz/parts.py:769 +#: ../python/frescobaldi_app/scorewiz/parts.py:772 msgid "Trumpet in Bb" msgstr "Trąbka Bb" -#: ../python/frescobaldi_app/scorewiz/parts.py:770 +#: ../python/frescobaldi_app/scorewiz/parts.py:773 msgid "Trumpet in Bb|Tr.Bb" msgstr "Trąbka Bb|Tr.Bb" -#: ../python/frescobaldi_app/scorewiz/parts.py:775 +#: ../python/frescobaldi_app/scorewiz/parts.py:778 msgid "Trombone" msgstr "Puzon" -#: ../python/frescobaldi_app/scorewiz/parts.py:776 +#: ../python/frescobaldi_app/scorewiz/parts.py:779 msgid "Trombone|Trb." msgstr "Puzon|Puz." -#: ../python/frescobaldi_app/scorewiz/parts.py:783 +#: ../python/frescobaldi_app/scorewiz/parts.py:786 msgid "Tuba" msgstr "Tuba" -#: ../python/frescobaldi_app/scorewiz/parts.py:784 +#: ../python/frescobaldi_app/scorewiz/parts.py:787 msgid "Tuba|Tb." msgstr "Tuba|Tb." -#: ../python/frescobaldi_app/scorewiz/parts.py:790 +#: ../python/frescobaldi_app/scorewiz/parts.py:793 msgid "Bass Tuba" msgstr "Tuba basowa" -#: ../python/frescobaldi_app/scorewiz/parts.py:791 +#: ../python/frescobaldi_app/scorewiz/parts.py:794 msgid "Bass Tuba|B.Tb." msgstr "Tuba basowa|Tb.b." -#: ../python/frescobaldi_app/scorewiz/parts.py:799 +#: ../python/frescobaldi_app/scorewiz/parts.py:802 msgid "Soprano" msgstr "Sopran" -#: ../python/frescobaldi_app/scorewiz/parts.py:800 +#: ../python/frescobaldi_app/scorewiz/parts.py:803 msgid "Soprano|S." msgstr "Sopran|S." -#: ../python/frescobaldi_app/scorewiz/parts.py:804 +#: ../python/frescobaldi_app/scorewiz/parts.py:807 msgid "Mezzo soprano" msgstr "Mezzo-sopran" -#: ../python/frescobaldi_app/scorewiz/parts.py:805 +#: ../python/frescobaldi_app/scorewiz/parts.py:808 msgid "Mezzo-soprano|Ms." msgstr "Mezzo-sopran|Ms." -#: ../python/frescobaldi_app/scorewiz/parts.py:810 +#: ../python/frescobaldi_app/scorewiz/parts.py:813 msgid "Alto|A." msgstr "Alt|A." -#: ../python/frescobaldi_app/scorewiz/parts.py:816 +#: ../python/frescobaldi_app/scorewiz/parts.py:819 msgid "Tenor|T." msgstr "Tenor|T." -#: ../python/frescobaldi_app/scorewiz/parts.py:823 +#: ../python/frescobaldi_app/scorewiz/parts.py:826 msgid "Bass|B." msgstr "Bas|B." -#: ../python/frescobaldi_app/scorewiz/parts.py:829 +#: ../python/frescobaldi_app/scorewiz/parts.py:832 msgid "Lead sheet" msgstr "Prymka" -#: ../python/frescobaldi_app/scorewiz/parts.py:891 +#: ../python/frescobaldi_app/scorewiz/parts.py:894 msgid "" "The Lead Sheet provides a staff with chord names above and lyrics below it. " "A second staff is optional." @@ -2758,60 +2920,62 @@ "Prymka zawiera pięciolinię z akordami powyżej oraz tekstem poniżej.Drugi " "system jest opcjonalny." -#: ../python/frescobaldi_app/scorewiz/parts.py:902 +#: ../python/frescobaldi_app/scorewiz/parts.py:905 msgid "Add accompaniment staff" msgstr "Dodaj pięciolinię z akompaniamentem" -#: ../python/frescobaldi_app/scorewiz/parts.py:904 +#: ../python/frescobaldi_app/scorewiz/parts.py:907 msgid "" "Adds an accompaniment staff and also puts an accompaniment voice in the " "upper staff." msgstr "" "Dodaje pięciolinię z akompaniamentem, a także głos na górnej pięciolinii." -#: ../python/frescobaldi_app/scorewiz/parts.py:911 +#: ../python/frescobaldi_app/scorewiz/parts.py:914 msgid "Choir" msgstr "Chór" -#: ../python/frescobaldi_app/scorewiz/parts.py:915 +#: ../python/frescobaldi_app/scorewiz/parts.py:918 msgid "" "Please select the voices for the choir. Use the letters S, A, T, or B. A " "hyphen denotes a new staff." msgstr "" "Wybierz głosy chóralne. Użyj liter S, A, T, B.Myślnik oznacza nowy system." -#: ../python/frescobaldi_app/scorewiz/parts.py:917 +#: ../python/frescobaldi_app/scorewiz/parts.py:920 msgid "Hint: For a double choir you can use two choir parts." msgstr "Porada: Dla chóru podwójnego użyj dwóch systemów chóralnych." -#: ../python/frescobaldi_app/scorewiz/parts.py:922 +#: ../python/frescobaldi_app/scorewiz/parts.py:925 msgid "Voicing:" msgstr "Prowadzenie głosów:" -#: ../python/frescobaldi_app/scorewiz/parts.py:936 -msgid "Lyrics" +#: ../python/frescobaldi_app/scorewiz/parts.py:942 +#, fuzzy +msgid "Lyrics:" msgstr "Tekst" -#: ../python/frescobaldi_app/scorewiz/parts.py:940 +#: ../python/frescobaldi_app/scorewiz/parts.py:946 msgid "All voices same lyrics" msgstr "Ten sam tekst do wszystkich głosów" -#: ../python/frescobaldi_app/scorewiz/parts.py:943 -msgid "One set of the same lyrics is placed between all staves." +#: ../python/frescobaldi_app/scorewiz/parts.py:947 +#, fuzzy +msgid "A set of the same lyrics is placed between all staves." msgstr "" "Fragment tego samego tekstu jest umieszczony pomiędzy wszystkimi systemami." -#: ../python/frescobaldi_app/scorewiz/parts.py:945 +#: ../python/frescobaldi_app/scorewiz/parts.py:948 msgid "Every voice same lyrics" msgstr "Ten sam tekst dla każdego głosu" -#: ../python/frescobaldi_app/scorewiz/parts.py:947 +#: ../python/frescobaldi_app/scorewiz/parts.py:949 msgid "" "Every voice gets its own lyrics, using the same text as the other voices." msgstr "" "Każdy głos ma własne słowa, używając tego samego tekstu jak pozostałe głosy." -#: ../python/frescobaldi_app/scorewiz/parts.py:950 +#: ../python/frescobaldi_app/scorewiz/parts.py:951 msgid "Every voice different lyrics" msgstr "Każdy głos z innym tekstem" @@ -2819,190 +2983,220 @@ msgid "Every voice gets a different set of lyrics." msgstr "Każdy głos dostaje inny fragment tekstu." -#: ../python/frescobaldi_app/scorewiz/parts.py:956 +#: ../python/frescobaldi_app/scorewiz/parts.py:953 +msgid "Distribute stanzas" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:954 +#, fuzzy +msgid "One set of stanzas is distributed across the staves." +msgstr "" +"Fragment tego samego tekstu jest umieszczony pomiędzy wszystkimi systemami." + +#: ../python/frescobaldi_app/scorewiz/parts.py:959 msgid "Piano reduction" msgstr "Wyciąg fortepianowy:" -#: ../python/frescobaldi_app/scorewiz/parts.py:958 +#: ../python/frescobaldi_app/scorewiz/parts.py:961 msgid "Adds an automatically generated piano reduction." msgstr "Dodaje automatycznie wygenerowany wyciąg fortepianowy." -#: ../python/frescobaldi_app/scorewiz/parts.py:983 +#: ../python/frescobaldi_app/scorewiz/parts.py:963 +msgid "Rehearsal MIDI files" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:965 +msgid "" +"Creates a rehearsal MIDI file for every voice, even if no MIDI output is " +"generated for the main score." +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:1017 msgid "Choir|Ch." msgstr "Chór|Ch." -#: ../python/frescobaldi_app/scorewiz/parts.py:1199 +#: ../python/frescobaldi_app/scorewiz/parts.py:1262 +msgid "Rehearsal MIDI files:" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:1309 msgid "Piano" msgstr "Fortepian" -#: ../python/frescobaldi_app/scorewiz/parts.py:1200 +#: ../python/frescobaldi_app/scorewiz/parts.py:1310 msgid "Piano|Pno." msgstr "Fortepian|Pf." -#: ../python/frescobaldi_app/scorewiz/parts.py:1205 +#: ../python/frescobaldi_app/scorewiz/parts.py:1315 msgid "Harpsichord" msgstr "Klawesyn" -#: ../python/frescobaldi_app/scorewiz/parts.py:1206 +#: ../python/frescobaldi_app/scorewiz/parts.py:1316 msgid "Harpsichord|Hs." msgstr "Klawesyn|Klws." -#: ../python/frescobaldi_app/scorewiz/parts.py:1211 +#: ../python/frescobaldi_app/scorewiz/parts.py:1321 msgid "Clavichord" msgstr "Klawikord" -#: ../python/frescobaldi_app/scorewiz/parts.py:1212 +#: ../python/frescobaldi_app/scorewiz/parts.py:1322 msgid "Clavichord|Clv." msgstr "Klawikord|Klwk." -#: ../python/frescobaldi_app/scorewiz/parts.py:1217 +#: ../python/frescobaldi_app/scorewiz/parts.py:1327 msgid "Organ" msgstr "Organy" -#: ../python/frescobaldi_app/scorewiz/parts.py:1218 +#: ../python/frescobaldi_app/scorewiz/parts.py:1328 msgid "Organ|Org." msgstr "Organy|Org." -#: ../python/frescobaldi_app/scorewiz/parts.py:1223 +#: ../python/frescobaldi_app/scorewiz/parts.py:1333 msgid "Pedal:" msgstr "Pedał:" -#: ../python/frescobaldi_app/scorewiz/parts.py:1224 +#: ../python/frescobaldi_app/scorewiz/parts.py:1334 msgid "Set to 0 to disable the pedal altogether." msgstr "Ustaw na zero, aby zupełnie wyłączyć pedał. " -#: ../python/frescobaldi_app/scorewiz/parts.py:1234 +#: ../python/frescobaldi_app/scorewiz/parts.py:1344 msgid "Celesta" msgstr "Czelesta" -#: ../python/frescobaldi_app/scorewiz/parts.py:1235 +#: ../python/frescobaldi_app/scorewiz/parts.py:1345 msgid "Celesta|Cel." msgstr "Czelesta|Czel." -#: ../python/frescobaldi_app/scorewiz/parts.py:1240 +#: ../python/frescobaldi_app/scorewiz/parts.py:1350 msgid "Timpani" msgstr "Kotły" -#: ../python/frescobaldi_app/scorewiz/parts.py:1241 +#: ../python/frescobaldi_app/scorewiz/parts.py:1351 msgid "Timpani|Tmp." msgstr "Kotły|Ktł." -#: ../python/frescobaldi_app/scorewiz/parts.py:1248 +#: ../python/frescobaldi_app/scorewiz/parts.py:1358 msgid "Xylophone" msgstr "Ksylofon" -#: ../python/frescobaldi_app/scorewiz/parts.py:1249 +#: ../python/frescobaldi_app/scorewiz/parts.py:1359 msgid "Xylophone|Xyl." msgstr "Ksylofon|Ksf." -#: ../python/frescobaldi_app/scorewiz/parts.py:1254 +#: ../python/frescobaldi_app/scorewiz/parts.py:1364 msgid "Marimba" msgstr "Marimba" -#: ../python/frescobaldi_app/scorewiz/parts.py:1255 +#: ../python/frescobaldi_app/scorewiz/parts.py:1365 msgid "Marimba|Mar." msgstr "Marimba|Mar." -#: ../python/frescobaldi_app/scorewiz/parts.py:1260 +#: ../python/frescobaldi_app/scorewiz/parts.py:1370 msgid "Vibraphone" msgstr "Wibrafon" -#: ../python/frescobaldi_app/scorewiz/parts.py:1261 +#: ../python/frescobaldi_app/scorewiz/parts.py:1371 msgid "Vibraphone|Vib." msgstr "Wibrafon|Wibr." -#: ../python/frescobaldi_app/scorewiz/parts.py:1266 +#: ../python/frescobaldi_app/scorewiz/parts.py:1376 msgid "Tubular bells" msgstr "Dzwony rurowe" -#: ../python/frescobaldi_app/scorewiz/parts.py:1267 +#: ../python/frescobaldi_app/scorewiz/parts.py:1377 msgid "Tubular bells|Tub." msgstr "Dzwony rurowe|Dzw.r." -#: ../python/frescobaldi_app/scorewiz/parts.py:1272 +#: ../python/frescobaldi_app/scorewiz/parts.py:1382 msgid "Glockenspiel" msgstr "Dzwonki orkiestrowe" -#: ../python/frescobaldi_app/scorewiz/parts.py:1273 +#: ../python/frescobaldi_app/scorewiz/parts.py:1383 msgid "Glockenspiel|Gls." msgstr "Dzwonki orkiestrowe|Dzw.o." -#: ../python/frescobaldi_app/scorewiz/parts.py:1278 +#: ../python/frescobaldi_app/scorewiz/parts.py:1388 msgid "Drums" msgstr "Perkusja" -#: ../python/frescobaldi_app/scorewiz/parts.py:1279 +#: ../python/frescobaldi_app/scorewiz/parts.py:1389 msgid "Drums|Dr." msgstr "Perkusja|Perk." -#: ../python/frescobaldi_app/scorewiz/parts.py:1289 +#: ../python/frescobaldi_app/scorewiz/parts.py:1399 msgid "Drums follow here." msgstr "Poniżej wpisz nuty dla perkusji." -#: ../python/frescobaldi_app/scorewiz/parts.py:1315 +#: ../python/frescobaldi_app/scorewiz/parts.py:1424 msgid "keep some distance." msgstr "zachowaj odstęp." -#: ../python/frescobaldi_app/scorewiz/parts.py:1322 +#: ../python/frescobaldi_app/scorewiz/parts.py:1432 msgid "Style:" msgstr "Styl:" -#: ../python/frescobaldi_app/scorewiz/parts.py:1326 +#: ../python/frescobaldi_app/scorewiz/parts.py:1436 msgid "Drums (5 lines, default)" msgstr "Perkusja (domyślnie 5 linii)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1327 +#: ../python/frescobaldi_app/scorewiz/parts.py:1437 msgid "Timbales-style (2 lines)" msgstr "Zapis timbalesów (2 linie)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1328 +#: ../python/frescobaldi_app/scorewiz/parts.py:1438 msgid "Congas-style (2 lines)" msgstr "Zapis congi (2 linie)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1329 +#: ../python/frescobaldi_app/scorewiz/parts.py:1439 msgid "Bongos-style (2 lines)" msgstr "Zapis bongosów (2 linie)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1330 +#: ../python/frescobaldi_app/scorewiz/parts.py:1440 msgid "Percussion-style (1 line)" msgstr "Zapis perkusyjny (1 linia)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1331 +#: ../python/frescobaldi_app/scorewiz/parts.py:1441 msgid "Remove stems" msgstr "Usuń laseczki nut" -#: ../python/frescobaldi_app/scorewiz/parts.py:1332 +#: ../python/frescobaldi_app/scorewiz/parts.py:1442 msgid "Remove the stems from the drum notes." msgstr "Usuń laseczki z nut perkusyjnych" -#: ../python/frescobaldi_app/scorewiz/parts.py:1341 +#: ../python/frescobaldi_app/scorewiz/parts.py:1451 msgid "Strings" msgstr "Smyczki" -#: ../python/frescobaldi_app/scorewiz/parts.py:1348 +#: ../python/frescobaldi_app/scorewiz/parts.py:1458 msgid "Plucked strings" msgstr "Strunowe szarpane" -#: ../python/frescobaldi_app/scorewiz/parts.py:1357 +#: ../python/frescobaldi_app/scorewiz/parts.py:1467 msgid "Woodwinds" msgstr "Dęte drewniane" -#: ../python/frescobaldi_app/scorewiz/parts.py:1378 +#: ../python/frescobaldi_app/scorewiz/parts.py:1488 msgid "Brass" msgstr "Dęte blaszane" -#: ../python/frescobaldi_app/scorewiz/parts.py:1386 +#: ../python/frescobaldi_app/scorewiz/parts.py:1496 msgid "Vocal" msgstr "Głos" -#: ../python/frescobaldi_app/scorewiz/parts.py:1395 +#: ../python/frescobaldi_app/scorewiz/parts.py:1505 msgid "Keyboard instruments" msgstr "Instrumenty klawiszowe" -#: ../python/frescobaldi_app/scorewiz/parts.py:1411 +#: ../python/frescobaldi_app/scorewiz/parts.py:1521 msgid "Special" msgstr "Specjalne" +#~ msgid "Space above:" +#~ msgstr "Przestrzeń powyżej:" + +#~ msgid "Name or full path of the convert-ly program." +#~ msgstr "Nazwa lub pełna ścieżka do programu convert-ly" + #~ msgid "Expand" #~ msgstr "Rozszerz" Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/po/ru.mo and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/po/ru.mo differ diff -Nru frescobaldi-1.0.2/po/ru.po frescobaldi-1.1.1/po/ru.po --- frescobaldi-1.0.2/po/ru.po 2010-02-18 08:12:04.000000000 +0000 +++ frescobaldi-1.1.1/po/ru.po 2010-05-03 19:31:55.000000000 +0100 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: ru\n" "Report-Msgid-Bugs-To: info@frescobaldi.org\n" -"POT-Creation-Date: 2010-02-16 10:04+0100\n" +"POT-Creation-Date: 2010-05-03 20:28+0200\n" "PO-Revision-Date: 2009-10-08 21:17+0300\n" "Last-Translator: Artem Zolochevskiy \n" "Language-Team: Russian \n" @@ -22,54 +22,53 @@ "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Lokalize 1.0\n" -#: ../frescobaldi.py:32 dummy.py:16 +#: ../frescobaldi.py:37 dummy.py:16 msgid "Frescobaldi" msgstr "Frescobaldi" -#: ../frescobaldi.py:34 dummy.py:17 +#: ../frescobaldi.py:39 dummy.py:17 msgid "LilyPond Music Editor" msgstr "Музыкальный нотатор LilyPond" -#: ../frescobaldi.py:36 -#, fuzzy +#: ../frescobaldi.py:41 msgid "Copyright (c) 2008-2010, Wilbert Berendsen" -msgstr "Copyright (c) 2008-2009, Wilbert Berendsen" +msgstr "Copyright (c) 2008-2010, Wilbert Berendsen" -#: ../frescobaldi.py:45 +#: ../frescobaldi.py:50 msgctxt "NAME OF TRANSLATORS" msgid "Your name" msgstr "Сергей Полтавский,Артём Золочевский" -#: ../frescobaldi.py:46 +#: ../frescobaldi.py:51 msgctxt "EMAIL OF TRANSLATORS" msgid "i18n@frescobaldi.org" msgstr "serge.uliss@gmail.com,artem.zolochevskiy@gmail.com" -#: ../frescobaldi.py:52 +#: ../frescobaldi.py:57 msgid "Session to start" msgstr "Используемая сессия" -#: ../frescobaldi.py:53 +#: ../frescobaldi.py:58 msgid "Start a new instance" msgstr "Начать новую сессию" -#: ../frescobaldi.py:54 +#: ../frescobaldi.py:59 msgid "Encoding to use" msgstr "Используемая кодировка" -#: ../frescobaldi.py:55 +#: ../frescobaldi.py:60 msgid "Line number to go to, starting at 1" msgstr "Номер строки для перехода, начиная с 1" -#: ../frescobaldi.py:56 +#: ../frescobaldi.py:61 msgid "Column to go to, starting at 0" msgstr "Столбец для перехода, начиная с 0" -#: ../frescobaldi.py:57 +#: ../frescobaldi.py:62 msgid "Try to use smart line and column numbers" msgstr "Пытаться использовать интеллигентные номера сток и столбцов" -#: ../frescobaldi.py:58 +#: ../frescobaldi.py:63 msgid "LilyPond files to open, may also be textedit URLs" msgstr "Файлы lilypond или URL" @@ -109,344 +108,352 @@ msgid "&Extra Tools" msgstr "" -#: ../python/ly/__init__.py:94 +#: ../python/ly/__init__.py:81 msgid "Dedication" msgstr "Посвящение" -#: ../python/ly/__init__.py:95 +#: ../python/ly/__init__.py:82 msgid "Title" msgstr "Заголовок" -#: ../python/ly/__init__.py:96 +#: ../python/ly/__init__.py:83 msgid "Subtitle" msgstr "Заголовок 2" -#: ../python/ly/__init__.py:97 +#: ../python/ly/__init__.py:84 msgid "Subsubtitle" msgstr "Заголовок 3" -#: ../python/ly/__init__.py:98 +#: ../python/ly/__init__.py:85 msgid "Instrument" msgstr "Инструмент" -#: ../python/ly/__init__.py:99 +#: ../python/ly/__init__.py:86 msgid "Composer" msgstr "Композитор" -#: ../python/ly/__init__.py:100 +#: ../python/ly/__init__.py:87 msgid "Arranger" msgstr "Редактор" -#: ../python/ly/__init__.py:101 +#: ../python/ly/__init__.py:88 msgid "Poet" msgstr "Поэт" -#: ../python/ly/__init__.py:102 +#: ../python/ly/__init__.py:89 msgid "Meter" msgstr "Метр" -#: ../python/ly/__init__.py:103 +#: ../python/ly/__init__.py:90 msgid "Piece" msgstr "Название произведения" -#: ../python/ly/__init__.py:104 +#: ../python/ly/__init__.py:91 msgid "Opus" msgstr "Опус" -#: ../python/ly/__init__.py:105 +#: ../python/ly/__init__.py:92 msgid "Copyright" msgstr "Авторское право" -#: ../python/ly/__init__.py:106 +#: ../python/ly/__init__.py:93 msgid "Tagline" msgstr "Строка программы" -#: ../python/ly/__init__.py:114 +#: ../python/ly/__init__.py:101 msgid "Major" msgstr "Мажор" -#: ../python/ly/__init__.py:115 +#: ../python/ly/__init__.py:102 msgid "Minor" msgstr "Минор" -#: ../python/ly/__init__.py:116 +#: ../python/ly/__init__.py:103 msgid "Ionian" msgstr "Ионийский" -#: ../python/ly/__init__.py:117 +#: ../python/ly/__init__.py:104 msgid "Dorian" msgstr "Дорийский" -#: ../python/ly/__init__.py:118 +#: ../python/ly/__init__.py:105 msgid "Phrygian" msgstr "Фригийский" -#: ../python/ly/__init__.py:119 +#: ../python/ly/__init__.py:106 msgid "Lydian" msgstr "Лидийский" -#: ../python/ly/__init__.py:120 +#: ../python/ly/__init__.py:107 msgid "Mixolydian" msgstr "Миксолидийский" -#: ../python/ly/__init__.py:121 +#: ../python/ly/__init__.py:108 msgid "Aeolian" msgstr "Эолийский" -#: ../python/ly/__init__.py:122 +#: ../python/ly/__init__.py:109 msgid "Locrian" msgstr "Локрийский" -#: ../python/ly/articulation.py:33 +#: ../python/ly/articulation.py:35 msgid "Articulation" msgstr "Артикуляция" -#: ../python/ly/articulation.py:34 +#: ../python/ly/articulation.py:36 msgid "Accent" msgstr "Акцент" -#: ../python/ly/articulation.py:35 +#: ../python/ly/articulation.py:37 msgid "Marcato" msgstr "Маркато" -#: ../python/ly/articulation.py:36 +#: ../python/ly/articulation.py:38 msgid "Staccatissimo" msgstr "Стаккатиссимо" -#: ../python/ly/articulation.py:37 +#: ../python/ly/articulation.py:39 msgid "Staccato" msgstr "Стаккато" -#: ../python/ly/articulation.py:38 +#: ../python/ly/articulation.py:40 msgid "Portato" msgstr "Портато" -#: ../python/ly/articulation.py:39 +#: ../python/ly/articulation.py:41 msgid "Tenuto" msgstr "Тенуто" -#: ../python/ly/articulation.py:40 +#: ../python/ly/articulation.py:42 msgid "Espressivo" msgstr "Espressivo" -#: ../python/ly/articulation.py:42 +#: ../python/ly/articulation.py:44 msgid "Ornaments" msgstr "Орнаментация" -#: ../python/ly/articulation.py:43 +#: ../python/ly/articulation.py:45 msgid "Trill" msgstr "Трель" -#: ../python/ly/articulation.py:44 +#: ../python/ly/articulation.py:46 msgid "Prall" msgstr "Мордент" -#: ../python/ly/articulation.py:45 +#: ../python/ly/articulation.py:47 msgid "Mordent" msgstr "Перечеркнутый мордент" -#: ../python/ly/articulation.py:46 +#: ../python/ly/articulation.py:48 msgid "Turn" msgstr "Группетто" -#: ../python/ly/articulation.py:47 +#: ../python/ly/articulation.py:49 msgid "Prall prall" msgstr "Двойной мордент" -#: ../python/ly/articulation.py:48 +#: ../python/ly/articulation.py:50 msgid "Prall mordent" msgstr "Двойной перечеркнутый мордент" -#: ../python/ly/articulation.py:49 +#: ../python/ly/articulation.py:51 msgid "Up prall" msgstr "" -#: ../python/ly/articulation.py:50 +#: ../python/ly/articulation.py:52 msgid "Down prall" msgstr "" -#: ../python/ly/articulation.py:51 +#: ../python/ly/articulation.py:53 msgid "Up mordent" msgstr "" -#: ../python/ly/articulation.py:52 +#: ../python/ly/articulation.py:54 msgid "Down mordent" msgstr "" -#: ../python/ly/articulation.py:53 +#: ../python/ly/articulation.py:55 msgid "Prall up" msgstr "" -#: ../python/ly/articulation.py:54 +#: ../python/ly/articulation.py:56 msgid "Prall down" msgstr "" -#: ../python/ly/articulation.py:55 +#: ../python/ly/articulation.py:57 msgid "Line prall" msgstr "" -#: ../python/ly/articulation.py:56 +#: ../python/ly/articulation.py:58 msgid "Reverse turn" msgstr "Обратное группетто" -#: ../python/ly/articulation.py:58 +#: ../python/ly/articulation.py:60 msgid "Signs" msgstr "Знаки" -#: ../python/ly/articulation.py:59 +#: ../python/ly/articulation.py:61 msgid "Fermata" msgstr "Фермата" -#: ../python/ly/articulation.py:60 +#: ../python/ly/articulation.py:62 msgid "Short fermata" msgstr "Короткая фермата" -#: ../python/ly/articulation.py:61 +#: ../python/ly/articulation.py:63 msgid "Long fermata" msgstr "Длинная фермата" -#: ../python/ly/articulation.py:62 +#: ../python/ly/articulation.py:64 msgid "Very long fermata" msgstr "Очень длинная фермата" -#: ../python/ly/articulation.py:63 +#: ../python/ly/articulation.py:65 msgid "Segno" msgstr "Segno" -#: ../python/ly/articulation.py:64 +#: ../python/ly/articulation.py:66 msgid "Coda" msgstr "Coda" -#: ../python/ly/articulation.py:65 +#: ../python/ly/articulation.py:67 msgid "Varcoda" msgstr "Varcoda" -#: ../python/ly/articulation.py:66 +#: ../python/ly/articulation.py:68 msgid "Signumcongruentiae" msgstr "" -#: ../python/ly/articulation.py:68 +#: ../python/ly/articulation.py:70 msgid "Other" msgstr "Другие" -#: ../python/ly/articulation.py:69 +#: ../python/ly/articulation.py:71 msgid "Upbow" msgstr "Вверх смычком" -#: ../python/ly/articulation.py:70 +#: ../python/ly/articulation.py:72 msgid "Downbow" msgstr "Вниз смычком" -#: ../python/ly/articulation.py:71 +#: ../python/ly/articulation.py:73 +msgid "Snappizzicato" +msgstr "" + +#: ../python/ly/articulation.py:74 msgid "Open (e.g. brass)" msgstr "" -#: ../python/ly/articulation.py:72 +#: ../python/ly/articulation.py:75 msgid "Stopped (e.g. brass)" msgstr "" -#: ../python/ly/articulation.py:73 +#: ../python/ly/articulation.py:76 msgid "Flageolet" msgstr "Флажолет" -#: ../python/ly/articulation.py:74 +#: ../python/ly/articulation.py:77 msgid "Thumb" msgstr "Ставка" -#: ../python/ly/articulation.py:75 +#: ../python/ly/articulation.py:78 msgid "Left heel" msgstr "Left heel" -#: ../python/ly/articulation.py:76 +#: ../python/ly/articulation.py:79 msgid "Right heel" msgstr "Right heel" -#: ../python/ly/articulation.py:77 +#: ../python/ly/articulation.py:80 msgid "Left toe" msgstr "" -#: ../python/ly/articulation.py:78 +#: ../python/ly/articulation.py:81 msgid "Right toe" msgstr "Right toe" -#: ../python/kateshell/exception.py:42 +#: ../python/ly/articulation.py:82 +msgid "Half open (e.g. hi-hat)" +msgstr "" + +#: ../python/kateshell/exception.py:43 msgid "An internal error has occurred:" msgstr "Произошла внутренняя ошибка:" -#: ../python/kateshell/exception.py:45 +#: ../python/kateshell/exception.py:46 msgid "Internal Error" msgstr "Внутренняя ошибка" -#: ../python/kateshell/exception.py:51 +#: ../python/kateshell/exception.py:52 msgid "Email Bug Report..." msgstr "Послать отчет об ошибке по Email" -#: ../python/kateshell/exception.py:64 +#: ../python/kateshell/exception.py:65 msgid "Optionally describe what you were doing below:" msgstr "Дополнительно опишите ваши действия:" -#: ../python/kateshell/mainwindow.py:91 +#: ../python/kateshell/mainwindow.py:94 msgid "Left Sidebar" msgstr "Левая панель" -#: ../python/kateshell/mainwindow.py:95 +#: ../python/kateshell/mainwindow.py:98 msgid "Right Sidebar" msgstr "Правая панель" -#: ../python/kateshell/mainwindow.py:107 +#: ../python/kateshell/mainwindow.py:110 msgid "Top Sidebar" msgstr "Верхняя панель" -#: ../python/kateshell/mainwindow.py:120 +#: ../python/kateshell/mainwindow.py:123 msgid "Bottom Sidebar" msgstr "Нижняя панель" -#: ../python/kateshell/mainwindow.py:165 +#: ../python/kateshell/mainwindow.py:168 msgid "Show Path" msgstr "Показать путь" -#: ../python/kateshell/mainwindow.py:168 +#: ../python/kateshell/mainwindow.py:171 msgid "Show Document Tabs" msgstr "Показать закладки документов" -#: ../python/kateshell/mainwindow.py:186 +#: ../python/kateshell/mainwindow.py:188 msgid "&Tool Views" msgstr "&Панели инструментов" -#: ../python/kateshell/mainwindow.py:277 +#: ../python/kateshell/mainwindow.py:278 msgid "Please select some text first." msgstr "Сначала необходимо выбрать текст." -#: ../python/kateshell/mainwindow.py:327 +#: ../python/kateshell/mainwindow.py:328 msgid "modified" msgstr "изменен" -#: ../python/kateshell/mainwindow.py:337 +#: ../python/kateshell/mainwindow.py:338 msgid "Line: %1 Col: %2" msgstr "Строка: %1 Поз.: %2" -#: ../python/kateshell/mainwindow.py:346 +#: ../python/kateshell/mainwindow.py:347 msgid "BLOCK" msgstr "БЛОК" -#: ../python/kateshell/mainwindow.py:346 +#: ../python/kateshell/mainwindow.py:347 msgid "Block selection mode" msgstr "Блочный режим выбора" -#: ../python/kateshell/mainwindow.py:348 +#: ../python/kateshell/mainwindow.py:349 msgid "LINE" msgstr "СТРОКА" -#: ../python/kateshell/mainwindow.py:348 +#: ../python/kateshell/mainwindow.py:349 msgid "Line selection mode" msgstr "Построчный режим выбора" -#: ../python/kateshell/mainwindow.py:386 -#: ../python/frescobaldi_app/blankpaper.py:335 +#: ../python/kateshell/mainwindow.py:393 +#: ../python/frescobaldi_app/blankpaper.py:331 msgid "All Files" msgstr "Все файлы" -#: ../python/kateshell/mainwindow.py:387 +#: ../python/kateshell/mainwindow.py:394 msgid "Open File" msgstr "Открыть файл" @@ -454,7 +461,7 @@ msgid "Right-click for tab options" msgstr "" -#: ../python/kateshell/mainwindow.py:870 +#: ../python/kateshell/mainwindow.py:871 msgid "Move To" msgstr "Переместить" @@ -470,7 +477,7 @@ msgid "Please install %1" msgstr "Пожалуйста, установите %1" -#: ../python/frescobaldi_app/actions.py:55 +#: ../python/frescobaldi_app/actions.py:56 msgid "Open %1 in external viewer" msgstr "Открыть %1 во внешней программе просмотра" @@ -478,44 +485,44 @@ msgid "Print %1" msgstr "Печать %1" -#: ../python/frescobaldi_app/actions.py:66 +#: ../python/frescobaldi_app/actions.py:65 msgid "Play %1" msgstr "Воспроизвести %1" -#: ../python/frescobaldi_app/actions.py:95 +#: ../python/frescobaldi_app/actions.py:91 msgid "Open PDF" msgstr "Открыть PDF" -#: ../python/frescobaldi_app/actions.py:96 +#: ../python/frescobaldi_app/actions.py:92 msgid "Print" msgstr "Печать" -#: ../python/frescobaldi_app/actions.py:98 +#: ../python/frescobaldi_app/actions.py:94 msgid "Play MIDI" msgstr "Воспроизвести MIDI" -#: ../python/frescobaldi_app/actions.py:101 -#: ../python/frescobaldi_app/mainapp.py:712 +#: ../python/frescobaldi_app/actions.py:97 +#: ../python/frescobaldi_app/mainapp.py:726 msgid "Email..." msgstr "Email..." -#: ../python/frescobaldi_app/actions.py:154 +#: ../python/frescobaldi_app/actions.py:149 msgid "There are no files to send via email." msgstr "Нет файлов для email." -#: ../python/frescobaldi_app/actions.py:155 +#: ../python/frescobaldi_app/actions.py:150 msgid "No files to send" msgstr "Нет файлов для посылки." -#: ../python/frescobaldi_app/actions.py:163 +#: ../python/frescobaldi_app/actions.py:158 msgid "Email documents" msgstr "Послать документы по email" -#: ../python/frescobaldi_app/actions.py:167 +#: ../python/frescobaldi_app/actions.py:162 msgid "Please select the files you want to send:" msgstr "Выберите файлы, которые Вы хотите послать:" -#: ../python/frescobaldi_app/actions.py:172 +#: ../python/frescobaldi_app/actions.py:166 msgid "" "These are the files that are up-to-date (i.e. newer than the LilyPond source " "document). Also LilyPond files included by the source document are shown." @@ -523,7 +530,7 @@ "Эти файлы обновлены (т.е. созданы позже, чем исходные файлы LilyPond). Также " "показаны файлы включенные в исходный документ." -#: ../python/frescobaldi_app/actions.py:182 +#: ../python/frescobaldi_app/actions.py:176 msgid "" "Note: this PDF file has been created with embedded point-and-click URLs " "(preview mode), which increases the file size dramatically. Please consider " @@ -550,15 +557,15 @@ "по электронной почте документы без \"point-and-click\", потому что они " "значительно меньше. Все равно продолжить?" -#: ../python/frescobaldi_app/actions.py:283 +#: ../python/frescobaldi_app/actions.py:273 msgid "Printing failed: %1" msgstr "Печать завершилась с ошибкой: %1" -#: ../python/frescobaldi_app/actions.py:286 +#: ../python/frescobaldi_app/actions.py:276 msgid "The document has been sent to the printer." msgstr "Документ отправлен на печать" -#: ../python/frescobaldi_app/actions.py:289 +#: ../python/frescobaldi_app/actions.py:279 msgid "" "Printing failed: %1\n" "\n" @@ -568,202 +575,186 @@ "\n" "Команда печати %2 не может быть выполнена. Проверьте настройки." -#: ../python/frescobaldi_app/actions.py:294 +#: ../python/frescobaldi_app/actions.py:284 msgid "The print command contains errors. Please check your settings." msgstr "Команда печати содержит ошибки. Пожалуйста, проверьте настройки." -#: ../python/frescobaldi_app/blankpaper.py:55 -#: ../python/frescobaldi_app/mainapp.py:738 +#: ../python/frescobaldi_app/blankpaper.py:56 +#: ../python/frescobaldi_app/mainapp.py:753 msgid "Create blank staff paper" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:69 +#: ../python/frescobaldi_app/blankpaper.py:70 msgid "Type:" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:72 +#: ../python/frescobaldi_app/blankpaper.py:73 #, fuzzy msgid "Action:" msgstr "Направление:" -#: ../python/frescobaldi_app/blankpaper.py:78 +#: ../python/frescobaldi_app/blankpaper.py:79 msgid "Choose what kind of empty staves you want to create." msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:80 +#: ../python/frescobaldi_app/blankpaper.py:81 msgid "Choose which action happens when clicking \"Ok\"." msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:82 +#: ../python/frescobaldi_app/blankpaper.py:83 msgid "Preview the empty staff paper." msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:84 +#: ../python/frescobaldi_app/blankpaper.py:85 #, fuzzy msgid "Click to see more settings." msgstr "Настройки партитуры" -#: ../python/frescobaldi_app/blankpaper.py:87 +#: ../python/frescobaldi_app/blankpaper.py:88 #, fuzzy msgid "Paper" msgstr "Размер страницы:" -#: ../python/frescobaldi_app/blankpaper.py:89 +#: ../python/frescobaldi_app/blankpaper.py:90 #, fuzzy msgid "Settings" msgstr "Струнные" -#: ../python/frescobaldi_app/blankpaper.py:95 -#: ../python/frescobaldi_app/scorewiz/__init__.py:509 +#: ../python/frescobaldi_app/blankpaper.py:96 +#: ../python/frescobaldi_app/scorewiz/__init__.py:496 msgid "Paper size:" msgstr "Размер страницы:" -#: ../python/frescobaldi_app/blankpaper.py:99 -#: ../python/frescobaldi_app/scorewiz/__init__.py:448 -#: ../python/frescobaldi_app/scorewiz/__init__.py:513 -#: ../python/frescobaldi_app/scorewiz/__init__.py:547 -#: ../python/frescobaldi_app/scorewiz/parts.py:180 -#: ../python/frescobaldi_app/scorewiz/parts.py:436 +#: ../python/frescobaldi_app/blankpaper.py:100 +#: ../python/frescobaldi_app/scorewiz/__init__.py:441 +#: ../python/frescobaldi_app/scorewiz/__init__.py:500 +#: ../python/frescobaldi_app/scorewiz/__init__.py:532 +#: ../python/frescobaldi_app/scorewiz/parts.py:183 +#: ../python/frescobaldi_app/scorewiz/parts.py:439 msgid "Default" msgstr "По умолчанию" -#: ../python/frescobaldi_app/blankpaper.py:103 +#: ../python/frescobaldi_app/blankpaper.py:104 #, fuzzy msgid "Staff Size:" msgstr "Тип нотоносца:" -#: ../python/frescobaldi_app/blankpaper.py:110 +#: ../python/frescobaldi_app/blankpaper.py:111 msgid "Page count:" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:116 -#: ../python/frescobaldi_app/scorewiz/__init__.py:486 +#: ../python/frescobaldi_app/blankpaper.py:117 +#: ../python/frescobaldi_app/scorewiz/__init__.py:468 msgid "Remove default tagline" msgstr "Удалить строку программы по умолчанию" -#: ../python/frescobaldi_app/blankpaper.py:121 +#: ../python/frescobaldi_app/blankpaper.py:122 #, fuzzy msgid "Print Bar Lines" msgstr "&Тактовые черты" -#: ../python/frescobaldi_app/blankpaper.py:123 +#: ../python/frescobaldi_app/blankpaper.py:124 #, fuzzy msgid "Bars per line:" msgstr "Размер страницы:" -#: ../python/frescobaldi_app/blankpaper.py:130 +#: ../python/frescobaldi_app/blankpaper.py:131 #, fuzzy msgid "Print Page Numbers" msgstr "&Тактовые черты" -#: ../python/frescobaldi_app/blankpaper.py:132 +#: ../python/frescobaldi_app/blankpaper.py:133 msgid "Start with:" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:289 +#: ../python/frescobaldi_app/blankpaper.py:285 msgid "Blank staff paper preview" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:308 +#: ../python/frescobaldi_app/blankpaper.py:304 msgid "No PDF was created." msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:319 +#: ../python/frescobaldi_app/blankpaper.py:315 #, fuzzy msgid "Open in PDF viewer" msgstr "Открыть %1 во внешней программе просмотра" -#: ../python/frescobaldi_app/blankpaper.py:328 +#: ../python/frescobaldi_app/blankpaper.py:324 msgid "Save PDF As..." msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:335 +#: ../python/frescobaldi_app/blankpaper.py:331 #, fuzzy msgid "PDF Files" msgstr "Все файлы" -#: ../python/frescobaldi_app/blankpaper.py:337 +#: ../python/frescobaldi_app/blankpaper.py:333 #, fuzzy msgid "Save PDF" msgstr "Сохранить" -#: ../python/frescobaldi_app/blankpaper.py:355 -#: ../python/frescobaldi_app/runlily.py:375 -msgid "" -"A file named \"%1\" already exists. Are you sure you want to overwrite it?" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:358 -#: ../python/frescobaldi_app/runlily.py:378 -msgid "Overwrite File?" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:358 -#: ../python/frescobaldi_app/runlily.py:378 -msgid "&Overwrite" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:380 +#: ../python/frescobaldi_app/blankpaper.py:357 msgid "Directly print on default printer" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:389 +#: ../python/frescobaldi_app/blankpaper.py:366 #, fuzzy msgid "Copy LilyPond code to editor" msgstr "Музыкальный нотатор LilyPond" -#: ../python/frescobaldi_app/blankpaper.py:488 +#: ../python/frescobaldi_app/blankpaper.py:465 msgid "Staves per page:" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:493 -#: ../python/frescobaldi_app/blankpaper.py:828 +#: ../python/frescobaldi_app/blankpaper.py:470 +#: ../python/frescobaldi_app/blankpaper.py:803 msgid "Clef:" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:499 +#: ../python/frescobaldi_app/blankpaper.py:476 #, fuzzy msgid "Single Staff" msgstr "Одинарная кавычка" -#: ../python/frescobaldi_app/blankpaper.py:519 -#: ../python/frescobaldi_app/blankpaper.py:575 -#: ../python/frescobaldi_app/blankpaper.py:671 +#: ../python/frescobaldi_app/blankpaper.py:496 +#: ../python/frescobaldi_app/blankpaper.py:552 +#: ../python/frescobaldi_app/blankpaper.py:647 msgid "Systems per page:" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:523 +#: ../python/frescobaldi_app/blankpaper.py:500 #, fuzzy msgid "Clefs" msgstr "Челеста" -#: ../python/frescobaldi_app/blankpaper.py:527 +#: ../python/frescobaldi_app/blankpaper.py:504 #, fuzzy msgid "Piano Staff" msgstr "Фортепиано" -#: ../python/frescobaldi_app/blankpaper.py:547 +#: ../python/frescobaldi_app/blankpaper.py:524 #, fuzzy msgid "Organ Staff" msgstr "Орган" -#: ../python/frescobaldi_app/blankpaper.py:571 +#: ../python/frescobaldi_app/blankpaper.py:548 #, fuzzy msgid "Staves per system:" msgstr "Остальные системы:" -#: ../python/frescobaldi_app/blankpaper.py:582 +#: ../python/frescobaldi_app/blankpaper.py:559 #, fuzzy msgid "Clefs:" msgstr "Челеста" -#: ../python/frescobaldi_app/blankpaper.py:589 +#: ../python/frescobaldi_app/blankpaper.py:566 msgid "" "Enter as many letters (S, A, T or B) as there are staves.\n" "See \"What's This\" for more information." msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:592 +#: ../python/frescobaldi_app/blankpaper.py:569 msgid "" "To configure clefs, first set the number of staves per system. Then enter as " "many letters (S, A, T or B) as there are staves.\n" @@ -777,54 +768,60 @@ "the quotes) here." msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:606 +#: ../python/frescobaldi_app/blankpaper.py:582 #, fuzzy msgid "Choir Staff" msgstr "Хор" -#: ../python/frescobaldi_app/blankpaper.py:613 -#: ../python/frescobaldi_app/scorewiz/__init__.py:395 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/blankpaper.py:589 +#: ../python/frescobaldi_app/lqi.py:159 +#: ../python/frescobaldi_app/scorewiz/__init__.py:388 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "None" msgstr "Нет" -#: ../python/frescobaldi_app/blankpaper.py:759 +#: ../python/frescobaldi_app/blankpaper.py:734 #, fuzzy msgid "Custom Staff" msgstr "Хор" -#: ../python/frescobaldi_app/blankpaper.py:818 +#: ../python/frescobaldi_app/blankpaper.py:793 #, fuzzy msgid "Staff" msgstr "Тип нотоносца:" -#: ../python/frescobaldi_app/blankpaper.py:841 -msgid "Space above:" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:844 +#: ../python/frescobaldi_app/blankpaper.py:812 msgid "Space below:" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:879 +#: ../python/frescobaldi_app/blankpaper.py:852 #, fuzzy msgid "Brace" msgstr "Медные духовые" -#: ../python/frescobaldi_app/blankpaper.py:904 +#: ../python/frescobaldi_app/blankpaper.py:877 msgid "Bracket" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:913 +#: ../python/frescobaldi_app/blankpaper.py:886 msgid "Square Bracket" msgstr "" -#: ../python/frescobaldi_app/blankpaper.py:915 +#: ../python/frescobaldi_app/blankpaper.py:888 #, fuzzy msgid "Connect bar lines" msgstr "Без тактовых черт" -#: ../python/frescobaldi_app/document.py:66 +#: ../python/frescobaldi_app/charselect.py:41 +#: ../python/frescobaldi_app/mainapp.py:871 +msgid "Special Characters" +msgstr "" + +#: ../python/frescobaldi_app/charselect.py:85 +msgid "unknown" +msgstr "" + +#: ../python/frescobaldi_app/document.py:68 msgid "" "Can't perform the requested translation.\n" "\n" @@ -836,7 +833,7 @@ "Музыка содержит четвертьтоновые альтерации, которые недоступны в языковой " "записи \"%1\"." -#: ../python/frescobaldi_app/document.py:81 +#: ../python/frescobaldi_app/document.py:82 msgid "" "The pitch language of the selected text has been updated, but you need to " "manually add the following command to your document:" @@ -844,37 +841,37 @@ "Язык ввода нот выделенного текста был обновлен, но Вы должны вручную " "добавить следующую команду в документ:" -#: ../python/frescobaldi_app/document.py:84 -#: ../python/frescobaldi_app/mainapp.py:561 +#: ../python/frescobaldi_app/document.py:85 +#: ../python/frescobaldi_app/mainapp.py:572 msgid "Pitch Name Language" msgstr "Язык нотной записи" -#: ../python/frescobaldi_app/document.py:139 +#: ../python/frescobaldi_app/document.py:140 msgid "Please enter the name for the variable to assign the selected text to:" msgstr "" "Введите имя для переменной, которая будет присвоена выделенному тексту:" -#: ../python/frescobaldi_app/document.py:140 -#: ../python/frescobaldi_app/mainapp.py:455 +#: ../python/frescobaldi_app/document.py:141 +#: ../python/frescobaldi_app/mainapp.py:461 msgid "Cut and Assign" msgstr "Вырезать и Присвоить" -#: ../python/frescobaldi_app/document.py:452 +#: ../python/frescobaldi_app/document.py:451 msgid "Open %1" msgstr "Открыть %1" -#: ../python/frescobaldi_app/document.py:707 +#: ../python/frescobaldi_app/document.py:705 msgid "Please select a music expression, enclosed in << ... >> or { ... }." msgstr "" -#: ../python/frescobaldi_app/document.py:727 +#: ../python/frescobaldi_app/document.py:725 msgid "" "Could not understand the entered pitches.\n" "\n" "Please make sure you use pitch names in the language \"%1\"." msgstr "" -#: ../python/frescobaldi_app/document.py:735 +#: ../python/frescobaldi_app/document.py:733 #, fuzzy msgid "" "Can't perform the requested transposition.\n" @@ -885,48 +882,48 @@ "Невозможно выполнить требуемое преобразование. Музыка содержит " "четвертьтоновые альтерации, которые недоступны в языковой записи %1." -#: ../python/frescobaldi_app/document.py:748 +#: ../python/frescobaldi_app/document.py:746 msgid "Transpose" msgstr "" -#: ../python/frescobaldi_app/document.py:755 +#: ../python/frescobaldi_app/document.py:753 msgid "Please enter a start pitch and a destination pitch:" msgstr "" -#: ../python/frescobaldi_app/document.py:759 +#: ../python/frescobaldi_app/document.py:757 msgid "Transpose from:" msgstr "" -#: ../python/frescobaldi_app/document.py:763 +#: ../python/frescobaldi_app/document.py:761 #, fuzzy msgid "to:" msgstr "Направление:" -#: ../python/frescobaldi_app/expand.py:147 -#: ../python/frescobaldi_app/mainapp.py:786 +#: ../python/frescobaldi_app/expand.py:149 +#: ../python/frescobaldi_app/mainapp.py:870 msgid "Expansion Manager" msgstr "Менеджер сокращений" -#: ../python/frescobaldi_app/expand.py:161 -#: ../python/frescobaldi_app/lilydoc.py:125 +#: ../python/frescobaldi_app/expand.py:163 +#: ../python/frescobaldi_app/lilydoc.py:127 msgid "Search..." msgstr "Поиск..." -#: ../python/frescobaldi_app/expand.py:170 -#: ../python/frescobaldi_app/rumor.py:507 +#: ../python/frescobaldi_app/expand.py:172 +#: ../python/frescobaldi_app/rumor.py:505 msgid "Name" msgstr "Имя" -#: ../python/frescobaldi_app/expand.py:170 -#: ../python/frescobaldi_app/rumor.py:507 +#: ../python/frescobaldi_app/expand.py:172 +#: ../python/frescobaldi_app/rumor.py:505 msgid "Description" msgstr "Описание" -#: ../python/frescobaldi_app/expand.py:170 +#: ../python/frescobaldi_app/expand.py:172 msgid "Shortcut" msgstr "Сокращение" -#: ../python/frescobaldi_app/expand.py:193 +#: ../python/frescobaldi_app/expand.py:195 msgid "" "This is the list of defined expansions.\n" "\n" @@ -954,7 +951,7 @@ "умолчанию: Ctrl+.) или же вызвать диалог сокращения, выбрать нужное, а затем " "нажать Enter или Ok." -#: ../python/frescobaldi_app/expand.py:213 +#: ../python/frescobaldi_app/expand.py:214 msgid "" "This is the text associated with the selected shortcut. Some characters have " "special meaning:" @@ -962,19 +959,19 @@ "Это текст связанный с выбранным сокращением. Некоторые символы имеют особое " "значение:" -#: ../python/frescobaldi_app/expand.py:215 +#: ../python/frescobaldi_app/expand.py:216 msgid "Place the cursor on this spot." msgstr "Поместить курсор на это место." -#: ../python/frescobaldi_app/expand.py:216 +#: ../python/frescobaldi_app/expand.py:217 msgid "Translate the following pitch." msgstr "Преобразовать следующие ноты." -#: ../python/frescobaldi_app/expand.py:268 +#: ../python/frescobaldi_app/expand.py:265 msgid "New Item" msgstr "Новый пункт" -#: ../python/frescobaldi_app/expand.py:348 +#: ../python/frescobaldi_app/expand.py:345 msgid "" "Another expansion already uses this name.\n" "\n" @@ -984,7 +981,7 @@ "\n" "Выберите другое имя." -#: ../python/frescobaldi_app/expand.py:354 +#: ../python/frescobaldi_app/expand.py:351 msgid "" "Please only use letters, numbers and the underscore character in the " "expansion name." @@ -992,52 +989,60 @@ "Используйте только латинские буквы, цифры и символ подчеркивания в названии " "расширения." -#: ../python/frescobaldi_app/expand.py:381 +#: ../python/frescobaldi_app/expand.py:376 msgid "Please don't leave the description empty." msgstr "Пожалуйста, не оставляйте поле description пустым." -#: ../python/frescobaldi_app/hyphen.py:123 -#: ../python/frescobaldi_app/mainapp.py:676 +#: ../python/frescobaldi_app/hyphen.py:119 +msgid "" +"Could not find any hyphenation dictionaries.\n" +"\n" +"Please install a package containing some and/or or configure the search path " +"to find them in the Frescobaldi settings under \"Paths.\"" +msgstr "" + +#: ../python/frescobaldi_app/hyphen.py:132 +#: ../python/frescobaldi_app/mainapp.py:686 msgid "Hyphenate Lyrics Text" msgstr "Расставить переносы в тексте" -#: ../python/frescobaldi_app/hyphen.py:127 +#: ../python/frescobaldi_app/hyphen.py:136 msgid "Please select a language:" msgstr "Выберите язык:" -#: ../python/frescobaldi_app/lilydoc.py:99 +#: ../python/frescobaldi_app/lilydoc.py:101 msgid "Home" msgstr "" -#: ../python/frescobaldi_app/lilydoc.py:100 +#: ../python/frescobaldi_app/lilydoc.py:102 msgid "Larger text" msgstr "" -#: ../python/frescobaldi_app/lilydoc.py:101 +#: ../python/frescobaldi_app/lilydoc.py:103 msgid "Smaller text" msgstr "" -#: ../python/frescobaldi_app/lilydoc.py:110 +#: ../python/frescobaldi_app/lilydoc.py:112 msgid "First Page" msgstr "Первая страница" -#: ../python/frescobaldi_app/lilydoc.py:111 +#: ../python/frescobaldi_app/lilydoc.py:113 msgid "Previous" msgstr "Предыдущий" -#: ../python/frescobaldi_app/lilydoc.py:112 +#: ../python/frescobaldi_app/lilydoc.py:114 msgid "Up one level" msgstr "" -#: ../python/frescobaldi_app/lilydoc.py:113 +#: ../python/frescobaldi_app/lilydoc.py:115 msgid "Next" msgstr "Далее" -#: ../python/frescobaldi_app/lilydoc.py:114 +#: ../python/frescobaldi_app/lilydoc.py:116 msgid "Table of contents" msgstr "Оглавление" -#: ../python/frescobaldi_app/lilydoc.py:115 +#: ../python/frescobaldi_app/lilydoc.py:117 #, fuzzy msgid "Index" msgstr "Инструмент" @@ -1050,88 +1055,88 @@ msgid "Open Link in &New Window" msgstr "Открыть ссылку в &новом окне" -#: ../python/frescobaldi_app/lilydoc.py:322 -#: ../python/frescobaldi_app/runlily.py:339 +#: ../python/frescobaldi_app/lilydoc.py:321 +#: ../python/frescobaldi_app/runlily.py:508 msgid "&Copy" msgstr "&Копировать" -#: ../python/frescobaldi_app/lilydoc.py:325 +#: ../python/frescobaldi_app/lilydoc.py:324 msgid "Open Document in &New Window" msgstr "Открыть документ в &новом окне" -#: ../python/frescobaldi_app/lilydoc.py:677 +#: ../python/frescobaldi_app/lilydoc.py:675 msgid "Loading..." msgstr "" -#: ../python/frescobaldi_app/lilydoc.py:684 +#: ../python/frescobaldi_app/lilydoc.py:682 #, fuzzy msgid "Not available" msgstr "Настройки недоступны." -#: ../python/frescobaldi_app/lilydoc.py:732 +#: ../python/frescobaldi_app/lilydoc.py:734 msgid "Notation Reference" msgstr "" -#: ../python/frescobaldi_app/lilydoc.py:752 +#: ../python/frescobaldi_app/lilydoc.py:754 msgid "LilyPond Command Index" msgstr "" -#: ../python/frescobaldi_app/lilydoc.py:772 +#: ../python/frescobaldi_app/lilydoc.py:780 msgid "Learning Manual" msgstr "" -#: ../python/frescobaldi_app/lilydoc.py:792 +#: ../python/frescobaldi_app/lilydoc.py:800 msgid "Learning Manual Index" msgstr "" -#: ../python/frescobaldi_app/lilydoc.py:808 +#: ../python/frescobaldi_app/lilydoc.py:816 #, fuzzy msgid "LilyPond &Help" msgstr "LilyPond" -#: ../python/frescobaldi_app/lqi.py:62 +#: ../python/frescobaldi_app/lqi.py:82 msgid "Articulations" msgstr "Артикуляционные обозначения" -#: ../python/frescobaldi_app/lqi.py:63 +#: ../python/frescobaldi_app/lqi.py:83 msgid "Different kinds of articulations and other signs." msgstr "Другие артикуляционные обозначения или другие знаки." -#: ../python/frescobaldi_app/lqi.py:70 +#: ../python/frescobaldi_app/lqi.py:90 msgid "Allow shorthands" msgstr "Использовать сокращения" -#: ../python/frescobaldi_app/lqi.py:73 +#: ../python/frescobaldi_app/lqi.py:93 msgid "Use short notation for some articulations like staccato." msgstr "" "Использовать сокращенную нотацию для некоторых обозначений, таких как " "стаккато." -#: ../python/frescobaldi_app/lqi.py:79 +#: ../python/frescobaldi_app/lqi.py:99 msgid "Direction:" msgstr "Направление:" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Up" msgstr "Вверх" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Neutral" msgstr "Автоматически" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Down" msgstr "Вниз" -#: ../python/frescobaldi_app/lqi.py:85 +#: ../python/frescobaldi_app/lqi.py:105 msgid "The direction to use for the articulations." msgstr "Направление используемое для артикуляционных обозначений" -#: ../python/frescobaldi_app/lqi.py:112 +#: ../python/frescobaldi_app/lqi.py:134 msgid "Click an articulation sign to add it to your document." msgstr "Щёлкните на артикуляционном знаке, чтобы добавить его в документ." -#: ../python/frescobaldi_app/lqi.py:113 +#: ../python/frescobaldi_app/lqi.py:135 msgid "" "If you select some music first, the articulation will be added to all notes " "in the selection." @@ -1139,435 +1144,460 @@ "Если сначала Вы выделите музыкальный фрагмент, то артикуляционные знаки " "будут добавлены ко всем нотам выбранного фрагмента." -#: ../python/frescobaldi_app/mainapp.py:53 +#: ../python/frescobaldi_app/lqi.py:159 +msgid "Configure Keyboard Shortcut (%1)" +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:54 msgid "LilyPond files" msgstr "Файлы LilyPon" -#: ../python/frescobaldi_app/mainapp.py:392 -#: ../python/frescobaldi_app/scorewiz/__init__.py:355 +#: ../python/frescobaldi_app/mainapp.py:424 +#: ../python/frescobaldi_app/settings.py:620 +#: ../python/frescobaldi_app/scorewiz/__init__.py:348 msgid "LilyPond" msgstr "LilyPond" -#: ../python/frescobaldi_app/mainapp.py:403 +#: ../python/frescobaldi_app/mainapp.py:435 msgid "Setup New Score..." msgstr "Новая партитура" -#: ../python/frescobaldi_app/mainapp.py:408 +#: ../python/frescobaldi_app/mainapp.py:440 msgid "Run LilyPond (preview)" msgstr "Запустить LilyPond (просмотр)" -#: ../python/frescobaldi_app/mainapp.py:412 +#: ../python/frescobaldi_app/mainapp.py:444 msgid "Run LilyPond (publish)" msgstr "Запустить LilyPond (публикация)" -#: ../python/frescobaldi_app/mainapp.py:418 -msgid "Can't process document" -msgstr "Невозможно обработать документ" - -#: ../python/frescobaldi_app/mainapp.py:421 -msgid "There is already a LilyPond job running for this document." -msgstr "LilyPond уже запущен для этого документа." - -#: ../python/frescobaldi_app/mainapp.py:427 -msgid "Your document has been modified, please save first." -msgstr "Документ был изменен, необходимо сохранить его." +#: ../python/frescobaldi_app/mainapp.py:448 +#, fuzzy +msgid "Run LilyPond (custom)..." +msgstr "Запустить LilyPond (публикация)" -#: ../python/frescobaldi_app/mainapp.py:446 +#: ../python/frescobaldi_app/mainapp.py:452 msgid "Interrupt LilyPond Job" msgstr "Прервать текущее задание" -#: ../python/frescobaldi_app/mainapp.py:456 +#: ../python/frescobaldi_app/mainapp.py:462 msgid "Cut selection and assign it to a LilyPond variable." msgstr "Вырезать выделение и присвоить его переменной LilyPond." -#: ../python/frescobaldi_app/mainapp.py:460 +#: ../python/frescobaldi_app/mainapp.py:466 msgid "Repeat last note or chord" msgstr "Повторить последнюю ноту или аккорд" -#: ../python/frescobaldi_app/mainapp.py:461 +#: ../python/frescobaldi_app/mainapp.py:467 msgid "Repeat the last music expression (note or chord)." msgstr "Повторить последнее музыкальное выражение (ноту или аккорд)." -#: ../python/frescobaldi_app/mainapp.py:465 +#: ../python/frescobaldi_app/mainapp.py:471 msgid "Insert or Manage Expansions..." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:466 +#: ../python/frescobaldi_app/mainapp.py:472 msgid "Expand last word or open the expansions dialog." msgstr "Раскрыть сокращение или открыть диалог сокращений." -#: ../python/frescobaldi_app/mainapp.py:471 +#: ../python/frescobaldi_app/mainapp.py:476 +msgid "Special Characters..." +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:477 +msgid "Insert special characters." +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:482 msgid "Add to Expansions" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:475 +#: ../python/frescobaldi_app/mainapp.py:486 msgid "Next blank line" msgstr "Следующая пустая строка" -#: ../python/frescobaldi_app/mainapp.py:476 +#: ../python/frescobaldi_app/mainapp.py:487 msgid "Go to the next blank line." msgstr "Перейти к следующей пустой строке." -#: ../python/frescobaldi_app/mainapp.py:486 +#: ../python/frescobaldi_app/mainapp.py:497 msgid "Previous blank line" msgstr "Предыдущая пустая строка" -#: ../python/frescobaldi_app/mainapp.py:487 +#: ../python/frescobaldi_app/mainapp.py:498 msgid "Go to the previous blank line." msgstr "Перейти к предыдущей пустой строке." -#: ../python/frescobaldi_app/mainapp.py:496 +#: ../python/frescobaldi_app/mainapp.py:507 #, fuzzy msgid "Select to next blank line" msgstr "Перейти к следующей пустой строке." -#: ../python/frescobaldi_app/mainapp.py:498 +#: ../python/frescobaldi_app/mainapp.py:509 msgid "" "Selects text from the current position down to and including the next blank " "line." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:523 +#: ../python/frescobaldi_app/mainapp.py:534 #, fuzzy msgid "Select to previous blank line" msgstr "Перейти к предыдущей пустой строке." -#: ../python/frescobaldi_app/mainapp.py:525 +#: ../python/frescobaldi_app/mainapp.py:536 msgid "" "Selects text from the current position up to right after the previous blank " "line." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:549 +#: ../python/frescobaldi_app/mainapp.py:560 #, fuzzy msgid "Move selection to next blank line" msgstr "Перейти к следующей пустой строке." -#: ../python/frescobaldi_app/mainapp.py:550 +#: ../python/frescobaldi_app/mainapp.py:561 #, fuzzy msgid "Moves selected block to next blank line." msgstr "Перейти к следующей пустой строке." -#: ../python/frescobaldi_app/mainapp.py:554 +#: ../python/frescobaldi_app/mainapp.py:565 #, fuzzy msgid "Move selection to previous blank line" msgstr "Перейти к предыдущей пустой строке." -#: ../python/frescobaldi_app/mainapp.py:555 +#: ../python/frescobaldi_app/mainapp.py:566 #, fuzzy msgid "Moves selected block to previous blank line." msgstr "Перейти к предыдущей пустой строке." -#: ../python/frescobaldi_app/mainapp.py:562 +#: ../python/frescobaldi_app/mainapp.py:573 msgid "" "Change the LilyPond language used for pitch names in this document or in the " "selection." msgstr "Изменить язык ввода нот в этом документе или в выделении." -#: ../python/frescobaldi_app/mainapp.py:569 +#: ../python/frescobaldi_app/mainapp.py:579 msgid "Convert Relative to &Absolute" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:570 +#: ../python/frescobaldi_app/mainapp.py:580 msgid "" "Converts the notes in the document or selection from relative to absolute " "pitch." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:574 +#: ../python/frescobaldi_app/mainapp.py:584 msgid "Convert Absolute to &Relative" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:575 +#: ../python/frescobaldi_app/mainapp.py:585 #, fuzzy msgid "" "Converts the notes in the document or selection from absolute to relative " "pitch." msgstr "Уменьшает длительности в 2 раза в выделенном фрагменте." -#: ../python/frescobaldi_app/mainapp.py:579 +#: ../python/frescobaldi_app/mainapp.py:589 msgid "Transpose..." msgstr "" -#: ../python/frescobaldi_app/mainapp.py:580 +#: ../python/frescobaldi_app/mainapp.py:590 #, fuzzy msgid "Transposes all notes in the document or selection." msgstr "Уменьшает длительности в 2 раза в выделенном фрагменте." -#: ../python/frescobaldi_app/mainapp.py:585 +#: ../python/frescobaldi_app/mainapp.py:595 msgid "Double durations" msgstr "Увеличить длительности в 2 раза" -#: ../python/frescobaldi_app/mainapp.py:586 +#: ../python/frescobaldi_app/mainapp.py:596 msgid "Double all the durations in the selection." msgstr "Увеличивает длительности в 2 раза в выделенном фрагменте" -#: ../python/frescobaldi_app/mainapp.py:591 +#: ../python/frescobaldi_app/mainapp.py:601 msgid "Halve durations" msgstr "Уменьшить длительности в 2 раза" -#: ../python/frescobaldi_app/mainapp.py:592 +#: ../python/frescobaldi_app/mainapp.py:602 msgid "Halve all the durations in the selection." msgstr "Уменьшает длительности в 2 раза в выделенном фрагменте." -#: ../python/frescobaldi_app/mainapp.py:597 +#: ../python/frescobaldi_app/mainapp.py:607 msgid "Dot durations" msgstr "Добавить точки к длительностям" -#: ../python/frescobaldi_app/mainapp.py:598 +#: ../python/frescobaldi_app/mainapp.py:608 msgid "Add a dot to all the durations in the selection." msgstr "Добавляет точки ко всем длительностям в выделенном фрагменте." -#: ../python/frescobaldi_app/mainapp.py:603 +#: ../python/frescobaldi_app/mainapp.py:613 msgid "Undot durations" msgstr "Удалить точки у длительностей" -#: ../python/frescobaldi_app/mainapp.py:604 +#: ../python/frescobaldi_app/mainapp.py:614 msgid "Remove one dot from all the durations in the selection." msgstr "Удаляет одну точку у всех длительностей в выделенном фрагменте." -#: ../python/frescobaldi_app/mainapp.py:609 +#: ../python/frescobaldi_app/mainapp.py:619 msgid "Remove scaling" msgstr "Удалить нерегулярные группы" -#: ../python/frescobaldi_app/mainapp.py:610 +#: ../python/frescobaldi_app/mainapp.py:620 msgid "Remove all scaling (*n/m) from the durations in the selection." msgstr "Удалить нерегулярные группы (*n/m) в выделенном." -#: ../python/frescobaldi_app/mainapp.py:615 +#: ../python/frescobaldi_app/mainapp.py:625 msgid "Remove durations" msgstr "Удалить длительности" -#: ../python/frescobaldi_app/mainapp.py:616 +#: ../python/frescobaldi_app/mainapp.py:626 msgid "Remove all durations from the selection." msgstr "Удаляет все длительности в выделенном фрагменте." -#: ../python/frescobaldi_app/mainapp.py:621 +#: ../python/frescobaldi_app/mainapp.py:631 msgid "Make implicit" msgstr "Сделать длительности неявными" -#: ../python/frescobaldi_app/mainapp.py:622 +#: ../python/frescobaldi_app/mainapp.py:632 msgid "Make durations implicit (remove repeated durations)." msgstr "Делает длительности неявными (удаляет повторяющиеся длительности)" -#: ../python/frescobaldi_app/mainapp.py:627 +#: ../python/frescobaldi_app/mainapp.py:637 msgid "Make explicit" msgstr "Сделать длительности явными" -#: ../python/frescobaldi_app/mainapp.py:628 +#: ../python/frescobaldi_app/mainapp.py:638 msgid "" "Make durations explicit (add duration to every note, even if it is the same " "as the preceding note)." msgstr "Сделать длительности явными" -#: ../python/frescobaldi_app/mainapp.py:634 +#: ../python/frescobaldi_app/mainapp.py:644 msgid "Apply rhythm..." msgstr "Применить ритм..." -#: ../python/frescobaldi_app/mainapp.py:635 +#: ../python/frescobaldi_app/mainapp.py:645 msgid "Apply an entered rhythm to the selected music." msgstr "Применить введенный ритм к выделенной музыке." -#: ../python/frescobaldi_app/mainapp.py:639 +#: ../python/frescobaldi_app/mainapp.py:649 msgid "Copy rhythm" msgstr "Копировать ритм" -#: ../python/frescobaldi_app/mainapp.py:640 +#: ../python/frescobaldi_app/mainapp.py:650 msgid "Copy the rhythm of the selected music." msgstr "Копировать ритм выделенной музыки." -#: ../python/frescobaldi_app/mainapp.py:646 +#: ../python/frescobaldi_app/mainapp.py:656 msgid "Paste rhythm" msgstr "Вставить ритм" -#: ../python/frescobaldi_app/mainapp.py:647 +#: ../python/frescobaldi_app/mainapp.py:657 msgid "Paste a rhythm to the selected music." msgstr "Вставить ритм в выделенную музыку." -#: ../python/frescobaldi_app/mainapp.py:655 +#: ../python/frescobaldi_app/mainapp.py:665 msgid "Double bar line" msgstr "Двойная тактовая черта" -#: ../python/frescobaldi_app/mainapp.py:656 +#: ../python/frescobaldi_app/mainapp.py:666 msgid "Ending bar line" msgstr "Заключительная тактовая черта" -#: ../python/frescobaldi_app/mainapp.py:657 +#: ../python/frescobaldi_app/mainapp.py:667 #, fuzzy msgid "Dotted bar line" msgstr "Без тактовых черт" -#: ../python/frescobaldi_app/mainapp.py:658 +#: ../python/frescobaldi_app/mainapp.py:668 #, fuzzy msgid "Dashed bar line" msgstr "Пункти́рная та́ктовая черта́" -#: ../python/frescobaldi_app/mainapp.py:659 +#: ../python/frescobaldi_app/mainapp.py:669 msgid "Invisible bar line" msgstr "Невидимая тактовая черта" -#: ../python/frescobaldi_app/mainapp.py:660 +#: ../python/frescobaldi_app/mainapp.py:670 msgid "Repeat start" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:661 +#: ../python/frescobaldi_app/mainapp.py:671 msgid "Repeat both" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:662 +#: ../python/frescobaldi_app/mainapp.py:672 msgid "Repeat end" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:663 +#: ../python/frescobaldi_app/mainapp.py:673 #, fuzzy msgid "Tick bar line" msgstr "Без тактовых черт" -#: ../python/frescobaldi_app/mainapp.py:664 +#: ../python/frescobaldi_app/mainapp.py:674 #, fuzzy msgid "Single bar line" msgstr "Одиночная тактовая черта" -#: ../python/frescobaldi_app/mainapp.py:665 +#: ../python/frescobaldi_app/mainapp.py:675 msgid "Small-Wide-Small bar line" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:666 +#: ../python/frescobaldi_app/mainapp.py:676 msgid "Wide-Small bar line" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:667 +#: ../python/frescobaldi_app/mainapp.py:677 #, fuzzy msgid "Double wide bar line" msgstr "Увеличить длительности в 2 раза" -#: ../python/frescobaldi_app/mainapp.py:668 +#: ../python/frescobaldi_app/mainapp.py:678 msgid "Repeat both (old)" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:669 +#: ../python/frescobaldi_app/mainapp.py:679 msgid "Repeat both (classic)" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:681 +#: ../python/frescobaldi_app/mainapp.py:691 msgid "Remove hyphenation" msgstr "Удалить переносы" -#: ../python/frescobaldi_app/mainapp.py:686 +#: ../python/frescobaldi_app/mainapp.py:695 +msgid "Copy Lyrics with hyphenation removed" +msgstr "" + +#: ../python/frescobaldi_app/mainapp.py:700 msgid "Single Quote" msgstr "Одинарная кавычка" -#: ../python/frescobaldi_app/mainapp.py:690 +#: ../python/frescobaldi_app/mainapp.py:704 msgid "Double Quote" msgstr "Двойная кавычка" -#: ../python/frescobaldi_app/mainapp.py:694 +#: ../python/frescobaldi_app/mainapp.py:708 msgid "Align" msgstr "Выровнять отступы" -#: ../python/frescobaldi_app/mainapp.py:698 +#: ../python/frescobaldi_app/mainapp.py:712 msgid "Insert LilyPond version" msgstr "Вставить версию LilyPond" -#: ../python/frescobaldi_app/mainapp.py:703 +#: ../python/frescobaldi_app/mainapp.py:717 msgid "Update with convert-ly" msgstr "Обновить с помощью convert-ly" -#: ../python/frescobaldi_app/mainapp.py:708 +#: ../python/frescobaldi_app/mainapp.py:722 msgid "Open Current Folder" msgstr "Открыть текущую папку" -#: ../python/frescobaldi_app/mainapp.py:722 +#: ../python/frescobaldi_app/mainapp.py:737 #, fuzzy msgid "Repeat selected music" msgstr "Вставить ритм в выделенную музыку." -#: ../python/frescobaldi_app/mainapp.py:728 +#: ../python/frescobaldi_app/mainapp.py:743 msgid "Insert pair of braces" msgstr "" -#: ../python/frescobaldi_app/mainapp.py:776 +#: ../python/frescobaldi_app/mainapp.py:794 +msgid "Can't process document" +msgstr "Невозможно обработать документ" + +#: ../python/frescobaldi_app/mainapp.py:799 +msgid "Your document has been modified, please save first." +msgstr "Документ был изменен, необходимо сохранить его." + +#: ../python/frescobaldi_app/mainapp.py:824 +msgid "There is already a LilyPond job running for this document." +msgstr "LilyPond уже запущен для этого документа." + +#: ../python/frescobaldi_app/mainapp.py:860 msgid "Abort the running LilyPond process" msgstr "Прервать запущенный процесс LilyPond" -#: ../python/frescobaldi_app/mainapp.py:779 -msgid "Run LilyPond in preview mode" +#: ../python/frescobaldi_app/mainapp.py:863 +#, fuzzy +msgid "Run LilyPond in preview mode (Shift-click for custom dialog)" msgstr "Запустить LilyPond в режиме предварительного просмотра" -#: ../python/frescobaldi_app/mainapp.py:796 +#: ../python/frescobaldi_app/mainapp.py:872 +#: ../python/frescobaldi_app/mainapp.py:1088 +msgid "Quick Insert" +msgstr "Быстрая вставка" + +#: ../python/frescobaldi_app/mainapp.py:882 msgid "Apply Rhythm" msgstr "Применить ритм" -#: ../python/frescobaldi_app/mainapp.py:804 +#: ../python/frescobaldi_app/mainapp.py:890 msgid "Enter a rhythm:" msgstr "Введите ритм:" -#: ../python/frescobaldi_app/mainapp.py:807 +#: ../python/frescobaldi_app/mainapp.py:893 msgid "Enter a rhythm using space separated duration values (e.g. 8. 16 8 4 8)" msgstr "" "Введите ритм, используя пробел в качестве разделителя длительностей, " "например, 8 16 8 4 8" -#: ../python/frescobaldi_app/mainapp.py:862 +#: ../python/frescobaldi_app/mainapp.py:917 msgid "Terminal" msgstr "Консоль" -#: ../python/frescobaldi_app/mainapp.py:900 +#: ../python/frescobaldi_app/mainapp.py:948 msgid "S&ynchronize Terminal with Current Document" msgstr "Синхронизировать консоль с текущим документом" -#: ../python/frescobaldi_app/mainapp.py:921 -#: ../python/frescobaldi_app/runlily.py:629 +#: ../python/frescobaldi_app/mainapp.py:969 +#: ../python/frescobaldi_app/runlily.py:783 msgid "PDF Preview" msgstr "Предпросмотр PDF" -#: ../python/frescobaldi_app/mainapp.py:950 +#: ../python/frescobaldi_app/mainapp.py:1026 msgid "Show PDF Navigation Panel" msgstr "Показать панель навигации по PDF документу" -#: ../python/frescobaldi_app/mainapp.py:951 +#: ../python/frescobaldi_app/mainapp.py:1027 msgid "Show PDF minipager" msgstr "Показать PDF мини-пейджер" -#: ../python/frescobaldi_app/mainapp.py:952 +#: ../python/frescobaldi_app/mainapp.py:1028 msgid "Configure Okular..." msgstr "Настройка Okular..." -#: ../python/frescobaldi_app/mainapp.py:955 +#: ../python/frescobaldi_app/mainapp.py:1031 msgid "S&ynchronize Preview with Current Document" msgstr "Синхронизировать просмотр с текущим документом" -#: ../python/frescobaldi_app/mainapp.py:956 +#: ../python/frescobaldi_app/mainapp.py:1032 #, fuzzy msgid "Reload" msgstr "Запись" -#: ../python/frescobaldi_app/mainapp.py:1024 -msgid "Quick Insert" -msgstr "Быстрая вставка" - -#: ../python/frescobaldi_app/mainapp.py:1036 -#: ../python/frescobaldi_app/runlily.py:334 +#: ../python/frescobaldi_app/mainapp.py:1100 +#: ../python/frescobaldi_app/runlily.py:503 msgid "LilyPond Log" msgstr "LilyPond журнал" -#: ../python/frescobaldi_app/mainapp.py:1040 +#: ../python/frescobaldi_app/mainapp.py:1104 msgid "no log" msgstr "нет записей в журнале" -#: ../python/frescobaldi_app/mainapp.py:1079 +#: ../python/frescobaldi_app/mainapp.py:1141 msgid "Only show on errors" msgstr "Показывать только при ошибках" -#: ../python/frescobaldi_app/mainapp.py:1103 +#: ../python/frescobaldi_app/mainapp.py:1165 msgid "Rumor" msgstr "Rumor" -#: ../python/frescobaldi_app/mainapp.py:1115 +#: ../python/frescobaldi_app/mainapp.py:1177 +#: ../python/frescobaldi_app/settings.py:297 msgid "LilyPond Documentation" msgstr "Документация LilyPond" -#: ../python/frescobaldi_app/rumor.py:72 +#: ../python/frescobaldi_app/rumor.py:73 msgid "" "The meter to use. Leave 'Auto' to let Frescobaldi determine the meter from " "the LilyPond document." @@ -1575,31 +1605,31 @@ "Используемый метр. Оставьте Auto, чтобы Frescobaldi определил метр исходя из " "LilyPond документа." -#: ../python/frescobaldi_app/rumor.py:79 +#: ../python/frescobaldi_app/rumor.py:80 msgid "Quantize:" msgstr "Квант:" -#: ../python/frescobaldi_app/rumor.py:85 +#: ../python/frescobaldi_app/rumor.py:86 msgid "The shortest note duration to use." msgstr "Самая короткая используемая длительность." -#: ../python/frescobaldi_app/rumor.py:90 +#: ../python/frescobaldi_app/rumor.py:91 msgid "Step" msgstr "Шаг" -#: ../python/frescobaldi_app/rumor.py:92 +#: ../python/frescobaldi_app/rumor.py:93 msgid "Record LilyPond input note by note, without durations." msgstr "Записывать ввод LilyPond нота за нотой, без длительностей." -#: ../python/frescobaldi_app/rumor.py:96 +#: ../python/frescobaldi_app/rumor.py:97 msgid "Mono" msgstr "Моно" -#: ../python/frescobaldi_app/rumor.py:98 +#: ../python/frescobaldi_app/rumor.py:99 msgid "Record monophonic input, without chords." msgstr "Записывать одноголосный ввод, без аккордов." -#: ../python/frescobaldi_app/rumor.py:107 +#: ../python/frescobaldi_app/rumor.py:108 msgid "" "The number of accidentals. A negative number designates flats. Leave 'Auto' " "to let Frescobaldi determine the key signature from the LilyPond document." @@ -1607,23 +1637,23 @@ "Количество ключевых знаков. Отрицательное число означает бемоли. Оставьте " "\"Автоматически\", чтобы LilyPond определил их из документа." -#: ../python/frescobaldi_app/rumor.py:113 +#: ../python/frescobaldi_app/rumor.py:114 msgid "Tempo:" msgstr "Темп:" -#: ../python/frescobaldi_app/rumor.py:116 +#: ../python/frescobaldi_app/rumor.py:117 msgid "Meter:" msgstr "Метр:" -#: ../python/frescobaldi_app/rumor.py:119 +#: ../python/frescobaldi_app/rumor.py:120 msgid "Key:" msgstr "Ключ:" -#: ../python/frescobaldi_app/rumor.py:131 +#: ../python/frescobaldi_app/rumor.py:132 msgid "Configure..." msgstr "Настройка..." -#: ../python/frescobaldi_app/rumor.py:132 +#: ../python/frescobaldi_app/rumor.py:133 msgid "Adjust more settings, like MIDI input and output." msgstr "Другие настройки, такие как MIDI ввод и вывод." @@ -1635,59 +1665,59 @@ msgid "Set these settings as default." msgstr "Сохранить по умолчанию" -#: ../python/frescobaldi_app/rumor.py:148 +#: ../python/frescobaldi_app/rumor.py:147 msgid "Found rumor version %1." msgstr "Найдена версия Rumor %1." -#: ../python/frescobaldi_app/rumor.py:151 +#: ../python/frescobaldi_app/rumor.py:150 msgid "Could not find Rumor: %1" msgstr "Невозможно найти Rumor: %1" -#: ../python/frescobaldi_app/rumor.py:165 +#: ../python/frescobaldi_app/rumor.py:164 msgid "Settings have been saved." msgstr "Настройки сохранены" -#: ../python/frescobaldi_app/rumor.py:316 +#: ../python/frescobaldi_app/rumor.py:315 msgid "Record" msgstr "Запись" -#: ../python/frescobaldi_app/rumor.py:318 +#: ../python/frescobaldi_app/rumor.py:317 msgid "Start or stop Rumor MIDI-recording." msgstr "Запустить или остановить запись Rumor" -#: ../python/frescobaldi_app/rumor.py:334 +#: ../python/frescobaldi_app/rumor.py:333 msgid "Rumor is recording, press ESC to stop." msgstr "Идет запись Rumor, нажмите ESC для остановки." -#: ../python/frescobaldi_app/rumor.py:360 +#: ../python/frescobaldi_app/rumor.py:359 msgid "Rumor stopped." msgstr "Rumor остановлен." -#: ../python/frescobaldi_app/rumor.py:394 +#: ../python/frescobaldi_app/rumor.py:393 msgid "TiMidity" msgstr "TiMidity" -#: ../python/frescobaldi_app/rumor.py:395 +#: ../python/frescobaldi_app/rumor.py:394 msgid "Start or stop the TiMidity ALSA MIDI client." msgstr "Запустить или остановить TiMidity ALSA MIDI клиент." -#: ../python/frescobaldi_app/rumor.py:415 +#: ../python/frescobaldi_app/rumor.py:413 msgid "Rumor Settings" msgstr "Настройки Rumor" -#: ../python/frescobaldi_app/rumor.py:423 +#: ../python/frescobaldi_app/rumor.py:421 msgid "OSS device %1" msgstr "OSS устройство %1" -#: ../python/frescobaldi_app/rumor.py:425 +#: ../python/frescobaldi_app/rumor.py:423 msgid "Keyboard" msgstr "Клавиатура" -#: ../python/frescobaldi_app/rumor.py:431 +#: ../python/frescobaldi_app/rumor.py:429 msgid "MIDI input:" msgstr "Вход MIDI:" -#: ../python/frescobaldi_app/rumor.py:435 +#: ../python/frescobaldi_app/rumor.py:433 msgid "" "MIDI input to use. Choose 'Keyboard' if you want to play on the keyboard of " "your computer." @@ -1695,28 +1725,28 @@ "Вход MIDI. Выберите \"Клавиатура\", если хотите использовать клавиатуру " "Вашего компьютера." -#: ../python/frescobaldi_app/rumor.py:441 +#: ../python/frescobaldi_app/rumor.py:439 msgid "MIDI output:" msgstr "Выход MIDI:" -#: ../python/frescobaldi_app/rumor.py:445 +#: ../python/frescobaldi_app/rumor.py:443 msgid "MIDI output to use." msgstr "Используемый MIDI выход." -#: ../python/frescobaldi_app/rumor.py:450 -#: ../python/frescobaldi_app/scorewiz/__init__.py:544 +#: ../python/frescobaldi_app/rumor.py:448 +#: ../python/frescobaldi_app/scorewiz/__init__.py:529 msgid "Language:" msgstr "Язык:" -#: ../python/frescobaldi_app/rumor.py:455 +#: ../python/frescobaldi_app/rumor.py:453 msgid "The LilyPond language you want Rumor to output the pitches in." msgstr "Язык LilyPond, в котором Rumor будет выводить названия нот." -#: ../python/frescobaldi_app/rumor.py:463 +#: ../python/frescobaldi_app/rumor.py:461 msgid "Explicit durations" msgstr "Явные длительности" -#: ../python/frescobaldi_app/rumor.py:465 +#: ../python/frescobaldi_app/rumor.py:463 msgid "" "Add a duration after every note, even if it is the same as the preceding " "note." @@ -1724,57 +1754,57 @@ "Добавлять длительность после каждой ноты, даже если она совпадает с " "предыдущей." -#: ../python/frescobaldi_app/rumor.py:470 +#: ../python/frescobaldi_app/rumor.py:468 msgid "Absolute pitch" msgstr "Абсолютная высота нот" -#: ../python/frescobaldi_app/rumor.py:472 +#: ../python/frescobaldi_app/rumor.py:470 msgid "Use absolute pitches instead of relative." msgstr "Использовать абсолютную высоту нот вместо относительной." -#: ../python/frescobaldi_app/rumor.py:478 +#: ../python/frescobaldi_app/rumor.py:476 msgid "No barlines" msgstr "Без тактовых черт" -#: ../python/frescobaldi_app/rumor.py:480 +#: ../python/frescobaldi_app/rumor.py:478 msgid "Filter the barlines out of Rumor's output." msgstr "Удалять тактовые черты из вывода Rumor." -#: ../python/frescobaldi_app/rumor.py:484 +#: ../python/frescobaldi_app/rumor.py:482 msgid "No dots" msgstr "Без точек" -#: ../python/frescobaldi_app/rumor.py:486 +#: ../python/frescobaldi_app/rumor.py:484 msgid "Do not use dotted notes, but ties instead." msgstr "Использовать вместо точек связующие лиги." -#: ../python/frescobaldi_app/rumor.py:490 +#: ../python/frescobaldi_app/rumor.py:488 msgid "Legato" msgstr "Легато" -#: ../python/frescobaldi_app/rumor.py:491 +#: ../python/frescobaldi_app/rumor.py:489 msgid "Do not use rests, but give all notes the maximum length." msgstr "Не использовать паузы, а делать ноты максимальной продолжительности." -#: ../python/frescobaldi_app/rumor.py:496 +#: ../python/frescobaldi_app/rumor.py:494 msgid "Strip rests" msgstr "Удалить паузы" -#: ../python/frescobaldi_app/rumor.py:498 +#: ../python/frescobaldi_app/rumor.py:496 msgid "Strip leading and trialing rests from output." msgstr "Удалить паузы в начале и в конце документа." -#: ../python/frescobaldi_app/rumor.py:502 +#: ../python/frescobaldi_app/rumor.py:500 msgid "Guile scripts to load:" msgstr "Guile скрипт для загрузки:" -#: ../python/frescobaldi_app/rumor.py:509 +#: ../python/frescobaldi_app/rumor.py:507 msgid "" "Here you can select which Guile scripts you want Rumor to load. Check " "\"What's this\" for more information." msgstr "Здесь Вы можете выбрать, какие Guile скрипты загружать в Rumor." -#: ../python/frescobaldi_app/rumor.py:513 +#: ../python/frescobaldi_app/rumor.py:511 msgid "" "Here you can select which Guile scripts you want Rumor to load. You can add " "your own scripts by putting them in %1. If the first line of your script " @@ -1784,56 +1814,133 @@ "можете добавить собственные скрипты в %1. Если первая строка Вашего скрипта " "начинается с точки с запятой (;), она будет показана как описание." -#: ../python/frescobaldi_app/rumor.py:635 +#: ../python/frescobaldi_app/rumor.py:633 msgid "Auto" msgstr "Автоматически" -#: ../python/frescobaldi_app/runlily.py:88 +#: ../python/frescobaldi_app/runlily.py:101 msgid "preview mode" msgstr "режим просмотра" -#: ../python/frescobaldi_app/runlily.py:88 +#: ../python/frescobaldi_app/runlily.py:101 msgid "publish mode" msgstr "режим публикации" -#: ../python/frescobaldi_app/runlily.py:89 +#: ../python/frescobaldi_app/runlily.py:104 +msgid "LilyPond %1 [%2] starting (%3)..." +msgstr "Запуск LilyPond %1 [%2] (%3)..." + +#: ../python/frescobaldi_app/runlily.py:107 msgid "LilyPond [%1] starting (%2)..." msgstr "Запуск LilyPond [%1] (%2)..." -#: ../python/frescobaldi_app/runlily.py:95 +#: ../python/frescobaldi_app/runlily.py:131 msgid "LilyPond [%1] exited with return code %2." msgstr "Программа LilyPond [%1] завершилась с кодом %2." -#: ../python/frescobaldi_app/runlily.py:98 +#: ../python/frescobaldi_app/runlily.py:134 msgid "LilyPond [%1] exited with exit status %2." msgstr "Программа LilyPond [%1] завершилась с кодом %2." -#: ../python/frescobaldi_app/runlily.py:107 +#: ../python/frescobaldi_app/runlily.py:140 msgid "LilyPond [%1] finished (%2)." msgstr "LilyPond [%1] завершен (%2)." -#: ../python/frescobaldi_app/runlily.py:115 +#: ../python/frescobaldi_app/runlily.py:150 msgid "Could not start LilyPond. Please check path and permissions." msgstr "" "Невозможно запустить LilyPond/ Проверьте путь к программе и разрешения." -#: ../python/frescobaldi_app/runlily.py:118 +#: ../python/frescobaldi_app/runlily.py:153 msgid "Could not read from the LilyPond process." msgstr "Невозможно чтение из процесса LilyPond." -#: ../python/frescobaldi_app/runlily.py:121 +#: ../python/frescobaldi_app/runlily.py:156 msgid "An unknown error occured." msgstr "Неизвестная ошибка произошла." -#: ../python/frescobaldi_app/runlily.py:323 +#: ../python/frescobaldi_app/runlily.py:229 +#: ../python/frescobaldi_app/runlily.py:232 +#, fuzzy +msgid "Run LilyPond" +msgstr "LilyPond" + +#: ../python/frescobaldi_app/runlily.py:239 +#, fuzzy +msgid "Select which LilyPond version you want to run:" +msgstr "Выберите файлы, которые Вы хотите послать:" + +#: ../python/frescobaldi_app/runlily.py:247 +#, fuzzy +msgid "Run LilyPond in preview mode (with Point and Click)" +msgstr "Запустить LilyPond в режиме предварительного просмотра" + +#: ../python/frescobaldi_app/runlily.py:250 +#: ../python/frescobaldi_app/settings.py:150 +msgid "Run LilyPond with verbose output" +msgstr "Запускать LilyPond в режиме вывода подробной информации" + +#: ../python/frescobaldi_app/runlily.py:292 +#, fuzzy +msgid "Command" +msgstr "Команда печати:" + +#: ../python/frescobaldi_app/runlily.py:299 +#, fuzzy +msgid "LilyPond %1" +msgstr "LilyPond" + +#: ../python/frescobaldi_app/runlily.py:300 +#, fuzzy +msgid "Use LilyPond version %1" +msgstr "Вставить версию LilyPond" + +#: ../python/frescobaldi_app/runlily.py:303 +#: ../python/frescobaldi_app/settings.py:601 +#, fuzzy +msgid "default" +msgstr "По умолчанию" + +#: ../python/frescobaldi_app/runlily.py:304 +#, fuzzy +msgid "Default LilyPond Version." +msgstr "Вставить версию LilyPond" + +#: ../python/frescobaldi_app/runlily.py:306 +msgid "automatic" +msgstr "" + +#: ../python/frescobaldi_app/runlily.py:307 +#, fuzzy +msgid "Automatic LilyPond Version (determined from document)." +msgstr "Версия LilyPond используемая для новых документов" + +#: ../python/frescobaldi_app/runlily.py:312 +#, fuzzy +msgid "Path: %1" +msgstr "Воспроизвести %1" + +#: ../python/frescobaldi_app/runlily.py:316 +#, fuzzy +msgid "LilyPond (version unknown)" +msgstr "Вставить версию LilyPond" + +#: ../python/frescobaldi_app/runlily.py:317 +#, fuzzy +msgid "" +"Use LilyPond (version unknown)\n" +"Path: %1" +msgstr "Вставить версию LilyPond" + +#: ../python/frescobaldi_app/runlily.py:491 msgid "Click to edit this file" msgstr "Щёлкните, для редактирования этого файла" -#: ../python/frescobaldi_app/runlily.py:355 +#: ../python/frescobaldi_app/runlily.py:524 msgid "Save LilyPond Log as" msgstr "Сохранить журнал LilyPond как" -#: ../python/frescobaldi_app/runlily.py:392 +#: ../python/frescobaldi_app/runlily.py:540 msgid "" "Could not save LilyPond log:\n" "\n" @@ -1843,108 +1950,96 @@ "\n" "%1" -#: ../python/frescobaldi_app/settings.py:49 +#: ../python/frescobaldi_app/settings.py:54 msgid "Configure" msgstr "Настройка" -#: ../python/frescobaldi_app/settings.py:104 +#: ../python/frescobaldi_app/settings.py:110 msgid "Editor Component" msgstr "Редактор" -#: ../python/frescobaldi_app/settings.py:105 +#: ../python/frescobaldi_app/settings.py:111 msgid "Editor Component Options" msgstr "Настройки редактора" -#: ../python/frescobaldi_app/settings.py:134 +#: ../python/frescobaldi_app/settings.py:140 msgid "General Preferences" msgstr "Общие настройки" -#: ../python/frescobaldi_app/settings.py:135 +#: ../python/frescobaldi_app/settings.py:141 msgid "General Frescobaldi Preferences" msgstr "Общие настройки Frescobaldi" -#: ../python/frescobaldi_app/settings.py:140 +#: ../python/frescobaldi_app/settings.py:146 msgid "Save document when LilyPond is run" msgstr "Сохранять документ перед запуском LilyPond" -#: ../python/frescobaldi_app/settings.py:142 +#: ../python/frescobaldi_app/settings.py:148 msgid "Let LilyPond delete intermediate output files" msgstr "Удалить служебные файлы LilyPond." -#: ../python/frescobaldi_app/settings.py:144 -msgid "Run LilyPond with verbose output" -msgstr "Запускать LilyPond в режиме вывода подробной информации" - -#: ../python/frescobaldi_app/settings.py:146 +#: ../python/frescobaldi_app/settings.py:152 msgid "Remember cursor position, bookmarks, etc." msgstr "Запоминать позицию курсора, закладки и т.п." -#: ../python/frescobaldi_app/settings.py:148 +#: ../python/frescobaldi_app/settings.py:154 msgid "Disable the built-in PDF preview" msgstr "Запретить встроенный просмотр PDF" -#: ../python/frescobaldi_app/settings.py:165 +#: ../python/frescobaldi_app/settings.py:170 msgid "LilyPond version number to use for new documents" msgstr "Версия LilyPond используемая для новых документов" -#: ../python/frescobaldi_app/settings.py:167 +#: ../python/frescobaldi_app/settings.py:172 msgid "Use version number of installed LilyPond" msgstr "Использовать версию установленного LilyPond" -#: ../python/frescobaldi_app/settings.py:168 +#: ../python/frescobaldi_app/settings.py:173 msgid "Use version number of last convert-ly rule" msgstr "Использовать версию последнего запуска convert-ly" -#: ../python/frescobaldi_app/settings.py:169 +#: ../python/frescobaldi_app/settings.py:174 msgid "Use custom version number:" msgstr "Использовать другую версию:" -#: ../python/frescobaldi_app/settings.py:175 +#: ../python/frescobaldi_app/settings.py:179 msgid "Enter a valid LilyPond version number, e.g. 2.12.0" msgstr "Введите версию Lilypond, например 2.12.0" -#: ../python/frescobaldi_app/settings.py:233 +#: ../python/frescobaldi_app/settings.py:234 msgid "Paths" msgstr "Пути" -#: ../python/frescobaldi_app/settings.py:234 +#: ../python/frescobaldi_app/settings.py:235 msgid "Paths to programs or data used by Frescobaldi" msgstr "Пути к программам или данным, используемым Frescobaldi" -#: ../python/frescobaldi_app/settings.py:244 -msgid "Name or full path of the LilyPond program." -msgstr "Имя или полный путь к программе LilyPond" - -#: ../python/frescobaldi_app/settings.py:246 -msgid "Name or full path of the convert-ly program." -msgstr "Имя или полный путь к программе convert-ly" - -#: ../python/frescobaldi_app/settings.py:247 +#: ../python/frescobaldi_app/settings.py:249 msgid "PDF Viewer:" msgstr "Просмотрщик PDF:" -#: ../python/frescobaldi_app/settings.py:248 +#: ../python/frescobaldi_app/settings.py:250 msgid "PDF Viewer" msgstr "Просмотрщик PDF" -#: ../python/frescobaldi_app/settings.py:249 -#: ../python/frescobaldi_app/settings.py:252 +#: ../python/frescobaldi_app/settings.py:251 +#: ../python/frescobaldi_app/settings.py:254 msgid "(leave empty for operating system default)" msgstr "(оставьте пустым для значения по умолчанию)" -#: ../python/frescobaldi_app/settings.py:250 +#: ../python/frescobaldi_app/settings.py:252 msgid "MIDI Player:" msgstr "Программа воспроизведения MIDI:" -#: ../python/frescobaldi_app/settings.py:251 +#: ../python/frescobaldi_app/settings.py:253 msgid "MIDI Player" msgstr "Программа воспроизведения MIDI" -#: ../python/frescobaldi_app/settings.py:253 +#: ../python/frescobaldi_app/settings.py:255 msgid "Printcommand:" msgstr "Команда печати:" -#: ../python/frescobaldi_app/settings.py:254 +#: ../python/frescobaldi_app/settings.py:256 msgid "" "Command to print a PDF file, for example lpr or kprinter. You may add some " "arguments, e.g. lpr -P myprinter." @@ -1952,23 +2047,23 @@ "Команда печати PDF файла, например, lpr или kprinter. Вы можете добавить " "дополнительные аргументы, напр. lpr -P myprinter" -#: ../python/frescobaldi_app/settings.py:270 +#: ../python/frescobaldi_app/settings.py:272 msgid "Default directory:" msgstr "Каталог по умолчанию:" -#: ../python/frescobaldi_app/settings.py:275 +#: ../python/frescobaldi_app/settings.py:277 msgid "The default folder for your LilyPond documents (optional)." msgstr "Каталог по умолчанию для Ваших LilyPond документов (опционально)." -#: ../python/frescobaldi_app/settings.py:287 +#: ../python/frescobaldi_app/settings.py:288 msgid "LilyPond documentation:" msgstr "Документация LilyPond:" -#: ../python/frescobaldi_app/settings.py:292 +#: ../python/frescobaldi_app/settings.py:294 msgid "Url or path to the LilyPond documentation." msgstr "Url или путь к документации LilyPond." -#: ../python/frescobaldi_app/settings.py:304 +#: ../python/frescobaldi_app/settings.py:305 msgid "" "Paths to search for hyphenation dictionaries of OpenOffice.org, Scribus, " "KOffice, etc, one per line. If you leave out the starting slash, the " @@ -1978,23 +2073,23 @@ "и т.д., по одному на строку. Если опустить начальный слеш, префиксы из " "KDEDIRS переменных окружения будут добавлены." -#: ../python/frescobaldi_app/settings.py:363 +#: ../python/frescobaldi_app/settings.py:366 msgid "Rumor MIDI input" msgstr "Ввод MIDI Rumor" -#: ../python/frescobaldi_app/settings.py:364 +#: ../python/frescobaldi_app/settings.py:367 msgid "Rumor MIDI input plugin settings" msgstr "Настройки ввода MIDI Rumor" -#: ../python/frescobaldi_app/settings.py:369 +#: ../python/frescobaldi_app/settings.py:372 msgid "Commands used by the Rumor MIDI input module" msgstr "Команды используемые модулем ввода MIDI Rumor" -#: ../python/frescobaldi_app/settings.py:376 +#: ../python/frescobaldi_app/settings.py:379 msgid "Name or full path of the Rumor program." msgstr "Имя или полный путь к программе Rumor." -#: ../python/frescobaldi_app/settings.py:378 +#: ../python/frescobaldi_app/settings.py:381 msgid "" "Name or full path of the aconnect program (part of ALSA, for MIDI input and " "playback using Rumor)." @@ -2002,28 +2097,85 @@ "Имя или полный путь к программе aconnect (часть пакета ALSA, для ввода и " "воспроизведения MIDI, используя Rumor)" -#: ../python/frescobaldi_app/settings.py:382 +#: ../python/frescobaldi_app/settings.py:385 msgid "" "Full command to start Timidity (or any other program) as an ALSA MIDI client." msgstr "" "Полная команда запуска TiMidity или другой программы MIDI-клиента ALSA." -#: ../python/frescobaldi_app/version.py:55 +#: ../python/frescobaldi_app/settings.py:421 +#, fuzzy +msgid "LilyPond versions to use:" +msgstr "Вставить версию LilyPond" + +#: ../python/frescobaldi_app/settings.py:432 +msgid "" +"Enable automatic version selection (choose LilyPond version from document)" +msgstr "" + +#: ../python/frescobaldi_app/settings.py:558 +msgid "Convert-ly:" +msgstr "" + +#: ../python/frescobaldi_app/settings.py:559 +#, fuzzy +msgid "Lilypond-book:" +msgstr "LilyPond" + +#: ../python/frescobaldi_app/settings.py:595 +#, fuzzy +msgid "Path" +msgstr "Пути" + +#: ../python/frescobaldi_app/settings.py:596 +#, fuzzy +msgid "Version" +msgstr "Версия:" + +#: ../python/frescobaldi_app/settings.py:599 +#, fuzzy +msgid "Can't determine LilyPond version." +msgstr "Вставить версию LilyPond" + +#: ../python/frescobaldi_app/settings.py:624 +#, fuzzy +msgid "LilyPond Command:" +msgstr "Документация LilyPond:" + +#: ../python/frescobaldi_app/settings.py:628 +msgid "Name or full path of the LilyPond program." +msgstr "Имя или полный путь к программе LilyPond" + +#: ../python/frescobaldi_app/settings.py:629 +#, fuzzy +msgid "LilyPond Command" +msgstr "Документация LilyPond:" + +#: ../python/frescobaldi_app/settings.py:642 +#, fuzzy +msgid "Set as default" +msgstr "Сохранить по умолчанию" + +#: ../python/frescobaldi_app/settings.py:644 +msgid "Include in automatic version selection" +msgstr "" + +#: ../python/frescobaldi_app/version.py:61 msgid "Your document has already a LilyPond version statement." msgstr "Ваш документ уже содержит сведения о версии LilyPond" -#: ../python/frescobaldi_app/version.py:56 +#: ../python/frescobaldi_app/version.py:62 msgid "Version already set" msgstr "Версия уже установлена" -#: ../python/frescobaldi_app/version.py:64 -#: ../python/frescobaldi_app/version.py:82 +#: ../python/frescobaldi_app/version.py:70 +#: ../python/frescobaldi_app/version.py:88 msgid "" "Can't determine the version of LilyPond. Please check your LilyPond " "installation." msgstr "Невозможно определить версию LilyPond. Проверьте установку." -#: ../python/frescobaldi_app/version.py:78 +#: ../python/frescobaldi_app/version.py:84 msgid "" "Can't determine the LilyPond version of the current document. Please add a " "\\version statement with the correct version." @@ -2031,11 +2183,11 @@ "Невозможно определить версию LilyPond у текущего документа. Добавьте " "\\version утверждение с правильной версией." -#: ../python/frescobaldi_app/version.py:86 +#: ../python/frescobaldi_app/version.py:92 msgid "This LilyPond document is already up-to-date." msgstr "LilyPond документ уже обновлен" -#: ../python/frescobaldi_app/version.py:100 +#: ../python/frescobaldi_app/version.py:105 msgid "" "The document has been processed with convert-ly. You'll find the messages of " "convert-ly in a comment block at the end. You still may have to edit some " @@ -2045,7 +2197,7 @@ "комментария, в конце. Возможно, Вам придется редактировать некоторые части " "вручную." -#: ../python/frescobaldi_app/version.py:106 +#: ../python/frescobaldi_app/version.py:111 msgid "" "The document has been processed with convert-ly, but remained unchanged. " "This is the message given by convert-ly: %1" @@ -2053,183 +2205,183 @@ "Документ был обработан при помощи convert-ly, но остался неизменным. " "Сообщение от convert-ly: %1" -#: ../python/frescobaldi_app/version.py:111 +#: ../python/frescobaldi_app/version.py:116 msgid "Could not start convert-ly: %1" msgstr " Невозможно запустить convert-ly: %1" -#: ../python/frescobaldi_app/widgets.py:46 +#: ../python/frescobaldi_app/widgets.py:47 msgid "Tap" msgstr "Щёлкните" -#: ../python/frescobaldi_app/widgets.py:52 +#: ../python/frescobaldi_app/widgets.py:53 msgid "Click this button a few times to set the tempo." msgstr "Щёлкните по кнопке несколько раз, чтобы установить темп." -#: ../python/frescobaldi_app/widgets.py:178 +#: ../python/frescobaldi_app/widgets.py:179 msgid "The tempo in beats per minute." msgstr "Темп в ударах в минуту." -#: ../python/frescobaldi_app/widgets.py:290 +#: ../python/frescobaldi_app/widgets.py:288 #, fuzzy msgid "Treble" msgstr "Заголовок" -#: ../python/frescobaldi_app/widgets.py:291 -#: ../python/frescobaldi_app/scorewiz/parts.py:809 +#: ../python/frescobaldi_app/widgets.py:289 +#: ../python/frescobaldi_app/scorewiz/parts.py:812 msgid "Alto" msgstr "Альт" -#: ../python/frescobaldi_app/widgets.py:292 -#: ../python/frescobaldi_app/scorewiz/parts.py:815 +#: ../python/frescobaldi_app/widgets.py:290 +#: ../python/frescobaldi_app/scorewiz/parts.py:818 msgid "Tenor" msgstr "Тенор" -#: ../python/frescobaldi_app/widgets.py:293 +#: ../python/frescobaldi_app/widgets.py:291 msgid "Treble 8" msgstr "" -#: ../python/frescobaldi_app/widgets.py:294 -#: ../python/frescobaldi_app/scorewiz/parts.py:585 -#: ../python/frescobaldi_app/scorewiz/parts.py:822 +#: ../python/frescobaldi_app/widgets.py:292 +#: ../python/frescobaldi_app/scorewiz/parts.py:588 +#: ../python/frescobaldi_app/scorewiz/parts.py:825 msgid "Bass" msgstr "Бас" -#: ../python/frescobaldi_app/widgets.py:295 -#: ../python/frescobaldi_app/scorewiz/parts.py:1402 +#: ../python/frescobaldi_app/widgets.py:293 +#: ../python/frescobaldi_app/scorewiz/parts.py:1512 msgid "Percussion" msgstr "Ударные" -#: ../python/frescobaldi_app/widgets.py:298 +#: ../python/frescobaldi_app/widgets.py:296 msgid "Tab clef" msgstr "" -#: ../python/frescobaldi_app/widgets.py:300 +#: ../python/frescobaldi_app/widgets.py:298 msgid "No Clef" msgstr "" -#: ../python/frescobaldi_app/scorewiz/__init__.py:68 +#: ../python/frescobaldi_app/scorewiz/__init__.py:62 msgid "Score Setup Wizard" msgstr "Мастер Настройки Партитуры" -#: ../python/frescobaldi_app/scorewiz/__init__.py:137 +#: ../python/frescobaldi_app/scorewiz/__init__.py:133 msgid "Titles and Headers" msgstr "Заголовки" -#: ../python/frescobaldi_app/scorewiz/__init__.py:155 +#: ../python/frescobaldi_app/scorewiz/__init__.py:151 msgid "Click to enter a value." msgstr "Щёлкните для ввода значения." -#: ../python/frescobaldi_app/scorewiz/__init__.py:157 +#: ../python/frescobaldi_app/scorewiz/__init__.py:153 msgid "bottom of first page" msgstr "внизу первой страницы" -#: ../python/frescobaldi_app/scorewiz/__init__.py:158 +#: ../python/frescobaldi_app/scorewiz/__init__.py:154 msgid "bottom of last page" msgstr "внизу последней страницы" -#: ../python/frescobaldi_app/scorewiz/__init__.py:201 +#: ../python/frescobaldi_app/scorewiz/__init__.py:194 msgid "Parts" msgstr "Инструменты" -#: ../python/frescobaldi_app/scorewiz/__init__.py:206 +#: ../python/frescobaldi_app/scorewiz/__init__.py:199 msgid "Available parts:" msgstr "Доступные инструменты:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:209 +#: ../python/frescobaldi_app/scorewiz/__init__.py:202 msgid "Add selected part to your score." msgstr "Добавить выбранные инструменты в партитуру." -#: ../python/frescobaldi_app/scorewiz/__init__.py:214 +#: ../python/frescobaldi_app/scorewiz/__init__.py:207 msgid "Score:" msgstr "Партитура:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:348 -#: ../python/frescobaldi_app/scorewiz/__init__.py:353 +#: ../python/frescobaldi_app/scorewiz/__init__.py:341 +#: ../python/frescobaldi_app/scorewiz/__init__.py:346 msgid "Score settings" msgstr "Настройки партитуры" -#: ../python/frescobaldi_app/scorewiz/__init__.py:360 +#: ../python/frescobaldi_app/scorewiz/__init__.py:353 msgid "General preferences" msgstr "Общие настройки" -#: ../python/frescobaldi_app/scorewiz/__init__.py:362 +#: ../python/frescobaldi_app/scorewiz/__init__.py:355 msgid "Instrument names" msgstr "Названия инструментов" -#: ../python/frescobaldi_app/scorewiz/__init__.py:369 +#: ../python/frescobaldi_app/scorewiz/__init__.py:362 msgid "Key signature:" msgstr "Ключевые знаки:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:377 +#: ../python/frescobaldi_app/scorewiz/__init__.py:370 msgid "Time signature:" msgstr "Размер:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:393 +#: ../python/frescobaldi_app/scorewiz/__init__.py:386 msgid "Pickup measure:" msgstr "Затакт:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:405 +#: ../python/frescobaldi_app/scorewiz/__init__.py:398 msgid "Metronome mark:" msgstr "Метроном:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:434 +#: ../python/frescobaldi_app/scorewiz/__init__.py:427 msgid "Tempo indication:" msgstr "Темп:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:438 +#: ../python/frescobaldi_app/scorewiz/__init__.py:431 msgid "A tempo indication, e.g. \"Allegro.\"" msgstr "Указание темпа, например, \"Allegro\"" -#: ../python/frescobaldi_app/scorewiz/__init__.py:444 +#: ../python/frescobaldi_app/scorewiz/__init__.py:437 msgid "Pitch name language:" msgstr "Язык нотной записи:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:452 +#: ../python/frescobaldi_app/scorewiz/__init__.py:445 msgid "The LilyPond language you want to use for the pitch names." msgstr "Язык LilyPond для обозначения нот." -#: ../python/frescobaldi_app/scorewiz/__init__.py:469 +#: ../python/frescobaldi_app/scorewiz/__init__.py:451 msgid "Version:" msgstr "Версия:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:478 +#: ../python/frescobaldi_app/scorewiz/__init__.py:460 msgid "The LilyPond version you will be using for this document." msgstr "Версия LilyPond используемая для текущего документа." -#: ../python/frescobaldi_app/scorewiz/__init__.py:482 +#: ../python/frescobaldi_app/scorewiz/__init__.py:464 msgid "Use typographical quotes" msgstr "Использовать типографские кавычки" -#: ../python/frescobaldi_app/scorewiz/__init__.py:484 +#: ../python/frescobaldi_app/scorewiz/__init__.py:466 msgid "Replace normal quotes in titles with nice typographical quotes." msgstr "Заменить обычные кавычки в заголовках на типографские." -#: ../python/frescobaldi_app/scorewiz/__init__.py:488 +#: ../python/frescobaldi_app/scorewiz/__init__.py:470 msgid "Suppress the default tagline output by LilyPond." msgstr "Удаляет строку программы выводимую LilyPond по умолчанию." -#: ../python/frescobaldi_app/scorewiz/__init__.py:490 +#: ../python/frescobaldi_app/scorewiz/__init__.py:472 msgid "Remove bar numbers" msgstr "Удалить номера тактов" -#: ../python/frescobaldi_app/scorewiz/__init__.py:492 +#: ../python/frescobaldi_app/scorewiz/__init__.py:474 msgid "" "Suppress the display of measure numbers at the beginning of every system." msgstr "Удаляет номера тактов в начале каждой системы." -#: ../python/frescobaldi_app/scorewiz/__init__.py:495 +#: ../python/frescobaldi_app/scorewiz/__init__.py:477 msgid "Create MIDI output" msgstr "Создать MIDI" -#: ../python/frescobaldi_app/scorewiz/__init__.py:497 +#: ../python/frescobaldi_app/scorewiz/__init__.py:479 msgid "Create a MIDI file in addition to the PDF file." msgstr "Создать MIDI файл, в дополнение к PDF" -#: ../python/frescobaldi_app/scorewiz/__init__.py:499 +#: ../python/frescobaldi_app/scorewiz/__init__.py:481 msgid "Show metronome mark" msgstr "Показать метроном" -#: ../python/frescobaldi_app/scorewiz/__init__.py:501 +#: ../python/frescobaldi_app/scorewiz/__init__.py:483 msgid "" "If checked, show the metronome mark at the beginning of the score. The MIDI " "output also uses the metronome setting." @@ -2237,156 +2389,164 @@ "Если выбрано, показывает значение метронома в начале партитуры. Вывод MIDI " "также использует значение метронома." -#: ../python/frescobaldi_app/scorewiz/__init__.py:512 +#: ../python/frescobaldi_app/scorewiz/__init__.py:487 +msgid "Wrap score in \\book block" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/__init__.py:489 +msgid "If checked, wraps the \\score block inside a \\book block." +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/__init__.py:499 msgid "Landscape" msgstr "Альбомная" -#: ../python/frescobaldi_app/scorewiz/__init__.py:526 +#: ../python/frescobaldi_app/scorewiz/__init__.py:511 msgid "First system:" msgstr "Первая система:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:529 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/scorewiz/__init__.py:514 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "Long" msgstr "Длинный" -#: ../python/frescobaldi_app/scorewiz/__init__.py:529 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/scorewiz/__init__.py:514 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "Short" msgstr "Короткий" -#: ../python/frescobaldi_app/scorewiz/__init__.py:531 +#: ../python/frescobaldi_app/scorewiz/__init__.py:516 msgid "Use long or short instrument names before the first system." msgstr "" "Использовать длинные или короткие имена инструментов перед первой системой." -#: ../python/frescobaldi_app/scorewiz/__init__.py:535 +#: ../python/frescobaldi_app/scorewiz/__init__.py:520 msgid "Other systems:" msgstr "Остальные системы:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:540 +#: ../python/frescobaldi_app/scorewiz/__init__.py:525 msgid "Use short, long or no instrument names before the next systems." msgstr "" "(Не)Показывать сокращенные или длинные названия инструментов перед " "следующими системами." -#: ../python/frescobaldi_app/scorewiz/__init__.py:548 +#: ../python/frescobaldi_app/scorewiz/__init__.py:533 msgid "Which language to use for the instrument names." msgstr "Язык LilyPond для названий инструментов." -#: ../python/frescobaldi_app/scorewiz/__init__.py:726 +#: ../python/frescobaldi_app/scorewiz/__init__.py:736 msgid "Remove default LilyPond tagline" msgstr "Удалить строку LilyPond по умолчанию" -#: ../python/frescobaldi_app/scorewiz/__init__.py:1040 +#: ../python/frescobaldi_app/scorewiz/__init__.py:1077 msgid "No settings available." msgstr "Настройки недоступны." -#: ../python/frescobaldi_app/scorewiz/parts.py:50 +#: ../python/frescobaldi_app/scorewiz/parts.py:54 msgid "Voices:" msgstr "Голоса:" -#: ../python/frescobaldi_app/scorewiz/parts.py:55 +#: ../python/frescobaldi_app/scorewiz/parts.py:59 #, fuzzy msgid "How many voices to put in this staff." msgstr "Количество голосов ударных инструментов на нотоносце." -#: ../python/frescobaldi_app/scorewiz/parts.py:93 +#: ../python/frescobaldi_app/scorewiz/parts.py:97 msgid "Music follows here." msgstr "Music follows here." -#: ../python/frescobaldi_app/scorewiz/parts.py:160 +#: ../python/frescobaldi_app/scorewiz/parts.py:164 msgid "Staff type:" msgstr "Тип нотоносца:" -#: ../python/frescobaldi_app/scorewiz/parts.py:164 +#: ../python/frescobaldi_app/scorewiz/parts.py:168 msgid "Normal staff" msgstr "Обычный" -#: ../python/frescobaldi_app/scorewiz/parts.py:165 +#: ../python/frescobaldi_app/scorewiz/parts.py:169 msgid "Tablature" msgstr "Табулатура" -#: ../python/frescobaldi_app/scorewiz/parts.py:166 +#: ../python/frescobaldi_app/scorewiz/parts.py:170 msgid "Both" msgstr "Оба" -#: ../python/frescobaldi_app/scorewiz/parts.py:177 +#: ../python/frescobaldi_app/scorewiz/parts.py:180 msgid "Tuning:" msgstr "Настройка:" -#: ../python/frescobaldi_app/scorewiz/parts.py:298 +#: ../python/frescobaldi_app/scorewiz/parts.py:301 msgid "Lyrics follow here." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:309 +#: ../python/frescobaldi_app/scorewiz/parts.py:312 msgid "Stanzas:" msgstr "Строфы:" -#: ../python/frescobaldi_app/scorewiz/parts.py:313 +#: ../python/frescobaldi_app/scorewiz/parts.py:316 msgid "The number of stanzas." msgstr "Количество строф." -#: ../python/frescobaldi_app/scorewiz/parts.py:316 +#: ../python/frescobaldi_app/scorewiz/parts.py:319 msgid "Ambitus" msgstr "Амбитус" -#: ../python/frescobaldi_app/scorewiz/parts.py:319 +#: ../python/frescobaldi_app/scorewiz/parts.py:322 msgid "Show the pitch range of the voice at the beginning of the staff." msgstr "" "Показывает диапазон голоса от низшего до высшего тона в начале нотоносца" -#: ../python/frescobaldi_app/scorewiz/parts.py:383 +#: ../python/frescobaldi_app/scorewiz/parts.py:386 msgid "Adjust how many separate voices you want on each staff." msgstr "Количество голосов на каждом нотоносце." -#: ../python/frescobaldi_app/scorewiz/parts.py:384 +#: ../python/frescobaldi_app/scorewiz/parts.py:387 msgid "This is primarily useful when you write polyphonic music like a fuge." msgstr "В основном, полезно при наборе полифонической музыки." -#: ../python/frescobaldi_app/scorewiz/parts.py:388 +#: ../python/frescobaldi_app/scorewiz/parts.py:391 msgid "Right hand:" msgstr "Правая рука:" -#: ../python/frescobaldi_app/scorewiz/parts.py:389 +#: ../python/frescobaldi_app/scorewiz/parts.py:392 msgid "Left hand:" msgstr "Левая рука:" -#: ../python/frescobaldi_app/scorewiz/parts.py:408 -#: ../python/frescobaldi_app/scorewiz/parts.py:895 +#: ../python/frescobaldi_app/scorewiz/parts.py:411 +#: ../python/frescobaldi_app/scorewiz/parts.py:898 msgid "Chord names" msgstr "Названия аккордов" -#: ../python/frescobaldi_app/scorewiz/parts.py:420 +#: ../python/frescobaldi_app/scorewiz/parts.py:423 msgid "Chords follow here." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:432 +#: ../python/frescobaldi_app/scorewiz/parts.py:435 msgid "Chord style:" msgstr "Стиль аккордов:" -#: ../python/frescobaldi_app/scorewiz/parts.py:437 +#: ../python/frescobaldi_app/scorewiz/parts.py:440 msgid "German" msgstr "Немецкий" -#: ../python/frescobaldi_app/scorewiz/parts.py:438 +#: ../python/frescobaldi_app/scorewiz/parts.py:441 #, fuzzy msgid "Semi-German" msgstr "Semi-German" -#: ../python/frescobaldi_app/scorewiz/parts.py:439 +#: ../python/frescobaldi_app/scorewiz/parts.py:442 msgid "Italian" msgstr "Итальянский" -#: ../python/frescobaldi_app/scorewiz/parts.py:440 +#: ../python/frescobaldi_app/scorewiz/parts.py:443 msgid "French" msgstr "Французский" -#: ../python/frescobaldi_app/scorewiz/parts.py:441 +#: ../python/frescobaldi_app/scorewiz/parts.py:444 msgid "Guitar fret diagrams" msgstr "Гитарные диаграммы" -#: ../python/frescobaldi_app/scorewiz/parts.py:443 +#: ../python/frescobaldi_app/scorewiz/parts.py:446 msgid "" "Show predefined guitar fret diagrams below the chord names (LilyPond 2.12 " "and above)." @@ -2394,393 +2554,393 @@ "Показывать предопределенные гитарные диаграммы под названиями аккордов " "(версия Lilypond 2.12 и выше)" -#: ../python/frescobaldi_app/scorewiz/parts.py:449 +#: ../python/frescobaldi_app/scorewiz/parts.py:452 msgid "Figured Bass" msgstr "Цифрованный бас" -#: ../python/frescobaldi_app/scorewiz/parts.py:457 -#: ../python/frescobaldi_app/scorewiz/parts.py:516 +#: ../python/frescobaldi_app/scorewiz/parts.py:460 +#: ../python/frescobaldi_app/scorewiz/parts.py:519 msgid "Figures follow here." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:464 +#: ../python/frescobaldi_app/scorewiz/parts.py:467 msgid "Use extender lines" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:469 +#: ../python/frescobaldi_app/scorewiz/parts.py:472 msgid "Violin" msgstr "Скрипка" -#: ../python/frescobaldi_app/scorewiz/parts.py:470 +#: ../python/frescobaldi_app/scorewiz/parts.py:473 msgid "Violin|Vl." msgstr "Violin|Vl." -#: ../python/frescobaldi_app/scorewiz/parts.py:475 +#: ../python/frescobaldi_app/scorewiz/parts.py:478 msgid "Viola" msgstr "Альт" -#: ../python/frescobaldi_app/scorewiz/parts.py:476 +#: ../python/frescobaldi_app/scorewiz/parts.py:479 msgid "Viola|Vla." msgstr "Viola|Vla." -#: ../python/frescobaldi_app/scorewiz/parts.py:483 +#: ../python/frescobaldi_app/scorewiz/parts.py:486 msgid "Cello" msgstr "Виолончель" -#: ../python/frescobaldi_app/scorewiz/parts.py:484 +#: ../python/frescobaldi_app/scorewiz/parts.py:487 msgid "Cello|Cl." msgstr "Cello|Cl." -#: ../python/frescobaldi_app/scorewiz/parts.py:491 +#: ../python/frescobaldi_app/scorewiz/parts.py:494 msgid "Contrabass" msgstr "Контрабас" -#: ../python/frescobaldi_app/scorewiz/parts.py:492 +#: ../python/frescobaldi_app/scorewiz/parts.py:495 msgid "Contrabass|Cb." msgstr "Contrabass|Cb." -#: ../python/frescobaldi_app/scorewiz/parts.py:499 +#: ../python/frescobaldi_app/scorewiz/parts.py:502 msgid "Basso continuo" msgstr "Бассо континуо" -#: ../python/frescobaldi_app/scorewiz/parts.py:500 +#: ../python/frescobaldi_app/scorewiz/parts.py:503 msgid "Basso Continuo|B.c." msgstr "Basso Continuo|B.c." -#: ../python/frescobaldi_app/scorewiz/parts.py:522 +#: ../python/frescobaldi_app/scorewiz/parts.py:525 msgid "Mandolin" msgstr "Мандолина" -#: ../python/frescobaldi_app/scorewiz/parts.py:523 +#: ../python/frescobaldi_app/scorewiz/parts.py:526 msgid "Mandolin|Mdl." msgstr "Mandolin|Mdl." -#: ../python/frescobaldi_app/scorewiz/parts.py:526 +#: ../python/frescobaldi_app/scorewiz/parts.py:529 msgid "Mandolin tuning" msgstr "Настройка мандолины" -#: ../python/frescobaldi_app/scorewiz/parts.py:531 +#: ../python/frescobaldi_app/scorewiz/parts.py:534 msgid "Banjo" msgstr "Банджо" -#: ../python/frescobaldi_app/scorewiz/parts.py:532 +#: ../python/frescobaldi_app/scorewiz/parts.py:535 msgid "Banjo|Bj." msgstr "Banjo|Bj." -#: ../python/frescobaldi_app/scorewiz/parts.py:536 +#: ../python/frescobaldi_app/scorewiz/parts.py:539 msgid "Open G-tuning (aDGBD)" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:537 +#: ../python/frescobaldi_app/scorewiz/parts.py:540 msgid "C-tuning (gCGBD)" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:538 +#: ../python/frescobaldi_app/scorewiz/parts.py:541 msgid "Modal tuning (gDGCD)" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:539 +#: ../python/frescobaldi_app/scorewiz/parts.py:542 msgid "Open D-tuning (aDF#AD)" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:540 +#: ../python/frescobaldi_app/scorewiz/parts.py:543 msgid "Open Dm-tuning (aDFAD)" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:544 +#: ../python/frescobaldi_app/scorewiz/parts.py:547 msgid "Four strings (instead of five)" msgstr "Четыре струны (вместо пяти)" -#: ../python/frescobaldi_app/scorewiz/parts.py:561 +#: ../python/frescobaldi_app/scorewiz/parts.py:564 msgid "Classical guitar" msgstr "Классическая гитара" -#: ../python/frescobaldi_app/scorewiz/parts.py:562 +#: ../python/frescobaldi_app/scorewiz/parts.py:565 msgid "Guitar|Gt." msgstr "Guitar|Gt." -#: ../python/frescobaldi_app/scorewiz/parts.py:566 +#: ../python/frescobaldi_app/scorewiz/parts.py:569 msgid "Guitar tuning" msgstr "Настройка гитары" -#: ../python/frescobaldi_app/scorewiz/parts.py:567 +#: ../python/frescobaldi_app/scorewiz/parts.py:570 msgid "Open G-tuning" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:579 +#: ../python/frescobaldi_app/scorewiz/parts.py:582 msgid "Jazz guitar" msgstr "Джазовая гитара" -#: ../python/frescobaldi_app/scorewiz/parts.py:580 +#: ../python/frescobaldi_app/scorewiz/parts.py:583 msgid "Jazz guitar|J.Gt." msgstr "Jazz guitar|J.Gt." -#: ../python/frescobaldi_app/scorewiz/parts.py:586 +#: ../python/frescobaldi_app/scorewiz/parts.py:589 msgid "Bass|Bs." msgstr "Bass|Bs." -#: ../python/frescobaldi_app/scorewiz/parts.py:591 +#: ../python/frescobaldi_app/scorewiz/parts.py:594 msgid "Bass tuning" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:596 +#: ../python/frescobaldi_app/scorewiz/parts.py:599 msgid "Electric bass" msgstr "Бас-гитара" -#: ../python/frescobaldi_app/scorewiz/parts.py:597 +#: ../python/frescobaldi_app/scorewiz/parts.py:600 msgid "Electric bass|E.Bs." msgstr "Electric bass|E.Bs." -#: ../python/frescobaldi_app/scorewiz/parts.py:602 +#: ../python/frescobaldi_app/scorewiz/parts.py:605 msgid "Harp" msgstr "Арфа" -#: ../python/frescobaldi_app/scorewiz/parts.py:603 +#: ../python/frescobaldi_app/scorewiz/parts.py:606 msgid "Harp|Hp." msgstr "Harp|Hp." -#: ../python/frescobaldi_app/scorewiz/parts.py:618 +#: ../python/frescobaldi_app/scorewiz/parts.py:621 msgid "Upper staff:" msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:619 +#: ../python/frescobaldi_app/scorewiz/parts.py:622 #, fuzzy msgid "Lower staff:" msgstr "Обычный" -#: ../python/frescobaldi_app/scorewiz/parts.py:623 +#: ../python/frescobaldi_app/scorewiz/parts.py:626 msgid "Flute" msgstr "Флейта" -#: ../python/frescobaldi_app/scorewiz/parts.py:624 +#: ../python/frescobaldi_app/scorewiz/parts.py:627 msgid "Flute|Fl." msgstr "Flute|Fl." -#: ../python/frescobaldi_app/scorewiz/parts.py:629 +#: ../python/frescobaldi_app/scorewiz/parts.py:632 msgid "Piccolo" msgstr "Флейта пикколо" -#: ../python/frescobaldi_app/scorewiz/parts.py:630 +#: ../python/frescobaldi_app/scorewiz/parts.py:633 msgid "Piccolo|Pic." msgstr "Piccolo|Pic." -#: ../python/frescobaldi_app/scorewiz/parts.py:636 +#: ../python/frescobaldi_app/scorewiz/parts.py:639 msgid "Bass flute" msgstr "Басовая флейта" -#: ../python/frescobaldi_app/scorewiz/parts.py:637 +#: ../python/frescobaldi_app/scorewiz/parts.py:640 msgid "Bass flute|Bfl." msgstr "Bass flute|Bfl." -#: ../python/frescobaldi_app/scorewiz/parts.py:643 +#: ../python/frescobaldi_app/scorewiz/parts.py:646 msgid "Oboe" msgstr "Гобой" -#: ../python/frescobaldi_app/scorewiz/parts.py:644 +#: ../python/frescobaldi_app/scorewiz/parts.py:647 msgid "Oboe|Ob." msgstr "Oboe|Ob." -#: ../python/frescobaldi_app/scorewiz/parts.py:649 +#: ../python/frescobaldi_app/scorewiz/parts.py:652 msgid "Oboe d'Amore" msgstr "Гобой д'амур" -#: ../python/frescobaldi_app/scorewiz/parts.py:650 +#: ../python/frescobaldi_app/scorewiz/parts.py:653 msgid "Oboe d'amore|Ob.d'am." msgstr "Oboe d'amore|Ob.d'am." -#: ../python/frescobaldi_app/scorewiz/parts.py:656 +#: ../python/frescobaldi_app/scorewiz/parts.py:659 msgid "English Horn" msgstr "Английский рожок" -#: ../python/frescobaldi_app/scorewiz/parts.py:657 +#: ../python/frescobaldi_app/scorewiz/parts.py:660 msgid "English horn|Eng.h." msgstr "English horn|Eng.h." -#: ../python/frescobaldi_app/scorewiz/parts.py:663 +#: ../python/frescobaldi_app/scorewiz/parts.py:666 msgid "Bassoon" msgstr "Фагот" -#: ../python/frescobaldi_app/scorewiz/parts.py:664 +#: ../python/frescobaldi_app/scorewiz/parts.py:667 msgid "Bassoon|Bn." msgstr "Bassoon|Bn." -#: ../python/frescobaldi_app/scorewiz/parts.py:671 +#: ../python/frescobaldi_app/scorewiz/parts.py:674 msgid "Contrabassoon" msgstr "Контрафагот" -#: ../python/frescobaldi_app/scorewiz/parts.py:672 +#: ../python/frescobaldi_app/scorewiz/parts.py:675 msgid "Contrabassoon|C.Bn." msgstr "Contrabassoon|C.Bn." -#: ../python/frescobaldi_app/scorewiz/parts.py:680 +#: ../python/frescobaldi_app/scorewiz/parts.py:683 msgid "Clarinet" msgstr "Кларнет" -#: ../python/frescobaldi_app/scorewiz/parts.py:681 +#: ../python/frescobaldi_app/scorewiz/parts.py:684 msgid "Clarinet|Cl." msgstr "Clarinet|Cl." -#: ../python/frescobaldi_app/scorewiz/parts.py:687 +#: ../python/frescobaldi_app/scorewiz/parts.py:690 msgid "Sopranino Sax" msgstr "Саксофон-сопранино" -#: ../python/frescobaldi_app/scorewiz/parts.py:688 +#: ../python/frescobaldi_app/scorewiz/parts.py:691 msgid "Sopranino Sax|SiSx." msgstr "Sopranino Sax|SiSx." -#: ../python/frescobaldi_app/scorewiz/parts.py:694 +#: ../python/frescobaldi_app/scorewiz/parts.py:697 msgid "Soprano Sax" msgstr "Саксофон-сопрано" -#: ../python/frescobaldi_app/scorewiz/parts.py:695 +#: ../python/frescobaldi_app/scorewiz/parts.py:698 msgid "Soprano Sax|SoSx." msgstr "Soprano Sax|SoSx." -#: ../python/frescobaldi_app/scorewiz/parts.py:701 +#: ../python/frescobaldi_app/scorewiz/parts.py:704 msgid "Alto Sax" msgstr "Альт-саксофон" -#: ../python/frescobaldi_app/scorewiz/parts.py:702 +#: ../python/frescobaldi_app/scorewiz/parts.py:705 msgid "Alto Sax|ASx." msgstr "Alto Sax|ASx." -#: ../python/frescobaldi_app/scorewiz/parts.py:708 +#: ../python/frescobaldi_app/scorewiz/parts.py:711 msgid "Tenor Sax" msgstr "Тенор-саксофон" -#: ../python/frescobaldi_app/scorewiz/parts.py:709 +#: ../python/frescobaldi_app/scorewiz/parts.py:712 msgid "Tenor Sax|TSx." msgstr "Tenor Sax|TSx." -#: ../python/frescobaldi_app/scorewiz/parts.py:715 +#: ../python/frescobaldi_app/scorewiz/parts.py:718 msgid "Baritone Sax" msgstr "Баритон-саксофон" -#: ../python/frescobaldi_app/scorewiz/parts.py:716 +#: ../python/frescobaldi_app/scorewiz/parts.py:719 msgid "Baritone Sax|BSx." msgstr "Baritone Sax|BSx." -#: ../python/frescobaldi_app/scorewiz/parts.py:722 +#: ../python/frescobaldi_app/scorewiz/parts.py:725 msgid "Bass Sax" msgstr "Бас-саксофон" -#: ../python/frescobaldi_app/scorewiz/parts.py:723 +#: ../python/frescobaldi_app/scorewiz/parts.py:726 msgid "Bass Sax|BsSx." msgstr "Bass Sax|BsSx." -#: ../python/frescobaldi_app/scorewiz/parts.py:729 +#: ../python/frescobaldi_app/scorewiz/parts.py:732 msgid "Soprano recorder" msgstr "Сопрановая блокфлейта" -#: ../python/frescobaldi_app/scorewiz/parts.py:730 +#: ../python/frescobaldi_app/scorewiz/parts.py:733 msgid "Soprano recorder|S.rec." msgstr "Soprano recorder|S.rec." -#: ../python/frescobaldi_app/scorewiz/parts.py:736 +#: ../python/frescobaldi_app/scorewiz/parts.py:739 msgid "Alto recorder" msgstr "Альтовая блокфлейта" -#: ../python/frescobaldi_app/scorewiz/parts.py:737 +#: ../python/frescobaldi_app/scorewiz/parts.py:740 msgid "Alto recorder|A.rec." msgstr "Alto recorder|A.rec." -#: ../python/frescobaldi_app/scorewiz/parts.py:742 +#: ../python/frescobaldi_app/scorewiz/parts.py:745 msgid "Tenor recorder" msgstr "Теноровая блокфлейта" -#: ../python/frescobaldi_app/scorewiz/parts.py:743 +#: ../python/frescobaldi_app/scorewiz/parts.py:746 msgid "Tenor recorder|T.rec." msgstr "Tenor recorder|T.rec." -#: ../python/frescobaldi_app/scorewiz/parts.py:748 +#: ../python/frescobaldi_app/scorewiz/parts.py:751 msgid "Bass recorder" msgstr "Басовая блокфлейта" -#: ../python/frescobaldi_app/scorewiz/parts.py:749 +#: ../python/frescobaldi_app/scorewiz/parts.py:752 msgid "Bass recorder|B.rec." msgstr "Bass recorder|B.rec." -#: ../python/frescobaldi_app/scorewiz/parts.py:756 +#: ../python/frescobaldi_app/scorewiz/parts.py:759 msgid "Horn in F" msgstr "Валторна" -#: ../python/frescobaldi_app/scorewiz/parts.py:757 +#: ../python/frescobaldi_app/scorewiz/parts.py:760 msgid "Horn in F|Hn.F." msgstr "Horn in F|Hn.F." -#: ../python/frescobaldi_app/scorewiz/parts.py:763 +#: ../python/frescobaldi_app/scorewiz/parts.py:766 msgid "Trumpet in C" msgstr "Труба in C" -#: ../python/frescobaldi_app/scorewiz/parts.py:764 +#: ../python/frescobaldi_app/scorewiz/parts.py:767 msgid "Trumpet in C|Tr.C" msgstr "Trumpet in C|Tr.C" -#: ../python/frescobaldi_app/scorewiz/parts.py:769 +#: ../python/frescobaldi_app/scorewiz/parts.py:772 msgid "Trumpet in Bb" msgstr "Труба in B" -#: ../python/frescobaldi_app/scorewiz/parts.py:770 +#: ../python/frescobaldi_app/scorewiz/parts.py:773 msgid "Trumpet in Bb|Tr.Bb" msgstr "Trumpet in Bb|Tr.Bb" -#: ../python/frescobaldi_app/scorewiz/parts.py:775 +#: ../python/frescobaldi_app/scorewiz/parts.py:778 msgid "Trombone" msgstr "Тромбон" -#: ../python/frescobaldi_app/scorewiz/parts.py:776 +#: ../python/frescobaldi_app/scorewiz/parts.py:779 msgid "Trombone|Trb." msgstr "Trombone|Trb." -#: ../python/frescobaldi_app/scorewiz/parts.py:783 +#: ../python/frescobaldi_app/scorewiz/parts.py:786 msgid "Tuba" msgstr "Туба" -#: ../python/frescobaldi_app/scorewiz/parts.py:784 +#: ../python/frescobaldi_app/scorewiz/parts.py:787 msgid "Tuba|Tb." msgstr "Tuba|Tb." -#: ../python/frescobaldi_app/scorewiz/parts.py:790 +#: ../python/frescobaldi_app/scorewiz/parts.py:793 msgid "Bass Tuba" msgstr "Басовая туба" -#: ../python/frescobaldi_app/scorewiz/parts.py:791 +#: ../python/frescobaldi_app/scorewiz/parts.py:794 msgid "Bass Tuba|B.Tb." msgstr "Bass Tuba|B.Tb." -#: ../python/frescobaldi_app/scorewiz/parts.py:799 +#: ../python/frescobaldi_app/scorewiz/parts.py:802 msgid "Soprano" msgstr "Сопрано" -#: ../python/frescobaldi_app/scorewiz/parts.py:800 +#: ../python/frescobaldi_app/scorewiz/parts.py:803 msgid "Soprano|S." msgstr "Soprano|S." -#: ../python/frescobaldi_app/scorewiz/parts.py:804 +#: ../python/frescobaldi_app/scorewiz/parts.py:807 msgid "Mezzo soprano" msgstr "Меццо-сопрано" -#: ../python/frescobaldi_app/scorewiz/parts.py:805 +#: ../python/frescobaldi_app/scorewiz/parts.py:808 msgid "Mezzo-soprano|Ms." msgstr "Mezzo-soprano|Ms." -#: ../python/frescobaldi_app/scorewiz/parts.py:810 +#: ../python/frescobaldi_app/scorewiz/parts.py:813 msgid "Alto|A." msgstr "Alto|A." -#: ../python/frescobaldi_app/scorewiz/parts.py:816 +#: ../python/frescobaldi_app/scorewiz/parts.py:819 msgid "Tenor|T." msgstr "Tenor|T." -#: ../python/frescobaldi_app/scorewiz/parts.py:823 +#: ../python/frescobaldi_app/scorewiz/parts.py:826 msgid "Bass|B." msgstr "Bass|B." -#: ../python/frescobaldi_app/scorewiz/parts.py:829 +#: ../python/frescobaldi_app/scorewiz/parts.py:832 msgid "Lead sheet" msgstr "Нотный стан" -#: ../python/frescobaldi_app/scorewiz/parts.py:891 +#: ../python/frescobaldi_app/scorewiz/parts.py:894 msgid "" "The Lead Sheet provides a staff with chord names above and lyrics below it. " "A second staff is optional." @@ -2788,22 +2948,22 @@ "Нотный стан с названиями аккордов сверху и текстом снизу. Второй нотоносец " "опционален." -#: ../python/frescobaldi_app/scorewiz/parts.py:902 +#: ../python/frescobaldi_app/scorewiz/parts.py:905 msgid "Add accompaniment staff" msgstr "Добавить стан для аккомпанемента." -#: ../python/frescobaldi_app/scorewiz/parts.py:904 +#: ../python/frescobaldi_app/scorewiz/parts.py:907 msgid "" "Adds an accompaniment staff and also puts an accompaniment voice in the " "upper staff." msgstr "" "Добавить станы для аккомпанемента и поместить аккомпанируемый голос верхним." -#: ../python/frescobaldi_app/scorewiz/parts.py:911 +#: ../python/frescobaldi_app/scorewiz/parts.py:914 msgid "Choir" msgstr "Хор" -#: ../python/frescobaldi_app/scorewiz/parts.py:915 +#: ../python/frescobaldi_app/scorewiz/parts.py:918 msgid "" "Please select the voices for the choir. Use the letters S, A, T, or B. A " "hyphen denotes a new staff." @@ -2811,36 +2971,38 @@ "Выберите голоса для хора. Используйте буквы S, A, T или B. Дефис означает " "новый нотоносец." -#: ../python/frescobaldi_app/scorewiz/parts.py:917 +#: ../python/frescobaldi_app/scorewiz/parts.py:920 msgid "Hint: For a double choir you can use two choir parts." msgstr "Совет: для двойного хора можно использовать две хоровые партии." -#: ../python/frescobaldi_app/scorewiz/parts.py:922 +#: ../python/frescobaldi_app/scorewiz/parts.py:925 msgid "Voicing:" msgstr "Голоса:" -#: ../python/frescobaldi_app/scorewiz/parts.py:936 -msgid "Lyrics" +#: ../python/frescobaldi_app/scorewiz/parts.py:942 +#, fuzzy +msgid "Lyrics:" msgstr "Тексты" -#: ../python/frescobaldi_app/scorewiz/parts.py:940 +#: ../python/frescobaldi_app/scorewiz/parts.py:946 msgid "All voices same lyrics" msgstr "Одинаковый текст во всех голосах" -#: ../python/frescobaldi_app/scorewiz/parts.py:943 -msgid "One set of the same lyrics is placed between all staves." +#: ../python/frescobaldi_app/scorewiz/parts.py:947 +#, fuzzy +msgid "A set of the same lyrics is placed between all staves." msgstr "Один и тот же текст располагается между всеми нотоносцами." -#: ../python/frescobaldi_app/scorewiz/parts.py:945 +#: ../python/frescobaldi_app/scorewiz/parts.py:948 msgid "Every voice same lyrics" msgstr "Одинаковый текст во всех голосах" -#: ../python/frescobaldi_app/scorewiz/parts.py:947 +#: ../python/frescobaldi_app/scorewiz/parts.py:949 msgid "" "Every voice gets its own lyrics, using the same text as the other voices." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:950 +#: ../python/frescobaldi_app/scorewiz/parts.py:951 msgid "Every voice different lyrics" msgstr "Разный текст у каждого голоса" @@ -2848,191 +3010,217 @@ msgid "Every voice gets a different set of lyrics." msgstr "Каждый голос имеет свой текст." -#: ../python/frescobaldi_app/scorewiz/parts.py:956 +#: ../python/frescobaldi_app/scorewiz/parts.py:953 +msgid "Distribute stanzas" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:954 +#, fuzzy +msgid "One set of stanzas is distributed across the staves." +msgstr "Один и тот же текст располагается между всеми нотоносцами." + +#: ../python/frescobaldi_app/scorewiz/parts.py:959 #, fuzzy msgid "Piano reduction" msgstr "Направление:" -#: ../python/frescobaldi_app/scorewiz/parts.py:958 +#: ../python/frescobaldi_app/scorewiz/parts.py:961 msgid "Adds an automatically generated piano reduction." msgstr "" -#: ../python/frescobaldi_app/scorewiz/parts.py:983 +#: ../python/frescobaldi_app/scorewiz/parts.py:963 +msgid "Rehearsal MIDI files" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:965 +msgid "" +"Creates a rehearsal MIDI file for every voice, even if no MIDI output is " +"generated for the main score." +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:1017 msgid "Choir|Ch." msgstr "Choir|Ch." -#: ../python/frescobaldi_app/scorewiz/parts.py:1199 +#: ../python/frescobaldi_app/scorewiz/parts.py:1262 +msgid "Rehearsal MIDI files:" +msgstr "" + +#: ../python/frescobaldi_app/scorewiz/parts.py:1309 msgid "Piano" msgstr "Фортепиано" -#: ../python/frescobaldi_app/scorewiz/parts.py:1200 +#: ../python/frescobaldi_app/scorewiz/parts.py:1310 msgid "Piano|Pno." msgstr "Piano|Pno." -#: ../python/frescobaldi_app/scorewiz/parts.py:1205 +#: ../python/frescobaldi_app/scorewiz/parts.py:1315 msgid "Harpsichord" msgstr "Клавесин" -#: ../python/frescobaldi_app/scorewiz/parts.py:1206 +#: ../python/frescobaldi_app/scorewiz/parts.py:1316 msgid "Harpsichord|Hs." msgstr "Harpsichord|Hs." -#: ../python/frescobaldi_app/scorewiz/parts.py:1211 +#: ../python/frescobaldi_app/scorewiz/parts.py:1321 msgid "Clavichord" msgstr "Клавикорд" -#: ../python/frescobaldi_app/scorewiz/parts.py:1212 +#: ../python/frescobaldi_app/scorewiz/parts.py:1322 msgid "Clavichord|Clv." msgstr "Clavichord|Clv." -#: ../python/frescobaldi_app/scorewiz/parts.py:1217 +#: ../python/frescobaldi_app/scorewiz/parts.py:1327 msgid "Organ" msgstr "Орган" -#: ../python/frescobaldi_app/scorewiz/parts.py:1218 +#: ../python/frescobaldi_app/scorewiz/parts.py:1328 msgid "Organ|Org." msgstr "Organ|Org." -#: ../python/frescobaldi_app/scorewiz/parts.py:1223 +#: ../python/frescobaldi_app/scorewiz/parts.py:1333 msgid "Pedal:" msgstr "Педаль:" -#: ../python/frescobaldi_app/scorewiz/parts.py:1224 +#: ../python/frescobaldi_app/scorewiz/parts.py:1334 msgid "Set to 0 to disable the pedal altogether." msgstr "Установите 0, чтобы убрать педаль." -#: ../python/frescobaldi_app/scorewiz/parts.py:1234 +#: ../python/frescobaldi_app/scorewiz/parts.py:1344 msgid "Celesta" msgstr "Челеста" -#: ../python/frescobaldi_app/scorewiz/parts.py:1235 +#: ../python/frescobaldi_app/scorewiz/parts.py:1345 msgid "Celesta|Cel." msgstr "Celesta|Cel." -#: ../python/frescobaldi_app/scorewiz/parts.py:1240 +#: ../python/frescobaldi_app/scorewiz/parts.py:1350 msgid "Timpani" msgstr "Литавры" -#: ../python/frescobaldi_app/scorewiz/parts.py:1241 +#: ../python/frescobaldi_app/scorewiz/parts.py:1351 msgid "Timpani|Tmp." msgstr "Timpani|Tmp." -#: ../python/frescobaldi_app/scorewiz/parts.py:1248 +#: ../python/frescobaldi_app/scorewiz/parts.py:1358 msgid "Xylophone" msgstr "Ксилофон" -#: ../python/frescobaldi_app/scorewiz/parts.py:1249 +#: ../python/frescobaldi_app/scorewiz/parts.py:1359 msgid "Xylophone|Xyl." msgstr "Xylophone|Xyl." -#: ../python/frescobaldi_app/scorewiz/parts.py:1254 +#: ../python/frescobaldi_app/scorewiz/parts.py:1364 msgid "Marimba" msgstr "Маримба" -#: ../python/frescobaldi_app/scorewiz/parts.py:1255 +#: ../python/frescobaldi_app/scorewiz/parts.py:1365 msgid "Marimba|Mar." msgstr "Marimba|Mar." -#: ../python/frescobaldi_app/scorewiz/parts.py:1260 +#: ../python/frescobaldi_app/scorewiz/parts.py:1370 msgid "Vibraphone" msgstr "Вибрафон" -#: ../python/frescobaldi_app/scorewiz/parts.py:1261 +#: ../python/frescobaldi_app/scorewiz/parts.py:1371 msgid "Vibraphone|Vib." msgstr "Vibraphone|Vib." -#: ../python/frescobaldi_app/scorewiz/parts.py:1266 +#: ../python/frescobaldi_app/scorewiz/parts.py:1376 msgid "Tubular bells" msgstr "Колокола" -#: ../python/frescobaldi_app/scorewiz/parts.py:1267 +#: ../python/frescobaldi_app/scorewiz/parts.py:1377 msgid "Tubular bells|Tub." msgstr "Tubular bells|Tub." -#: ../python/frescobaldi_app/scorewiz/parts.py:1272 +#: ../python/frescobaldi_app/scorewiz/parts.py:1382 msgid "Glockenspiel" msgstr "Колокольчик" -#: ../python/frescobaldi_app/scorewiz/parts.py:1273 +#: ../python/frescobaldi_app/scorewiz/parts.py:1383 msgid "Glockenspiel|Gls." msgstr "Glockenspiel|Gls." -#: ../python/frescobaldi_app/scorewiz/parts.py:1278 +#: ../python/frescobaldi_app/scorewiz/parts.py:1388 msgid "Drums" msgstr "Ударные" -#: ../python/frescobaldi_app/scorewiz/parts.py:1279 +#: ../python/frescobaldi_app/scorewiz/parts.py:1389 msgid "Drums|Dr." msgstr "Drums|Dr." -#: ../python/frescobaldi_app/scorewiz/parts.py:1289 +#: ../python/frescobaldi_app/scorewiz/parts.py:1399 msgid "Drums follow here." msgstr "Партия ударных" -#: ../python/frescobaldi_app/scorewiz/parts.py:1315 +#: ../python/frescobaldi_app/scorewiz/parts.py:1424 msgid "keep some distance." msgstr "сохранять дистанцию" -#: ../python/frescobaldi_app/scorewiz/parts.py:1322 +#: ../python/frescobaldi_app/scorewiz/parts.py:1432 msgid "Style:" msgstr "Стиль:" -#: ../python/frescobaldi_app/scorewiz/parts.py:1326 +#: ../python/frescobaldi_app/scorewiz/parts.py:1436 msgid "Drums (5 lines, default)" msgstr "Ударные (5 линеек, по умолчанию)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1327 +#: ../python/frescobaldi_app/scorewiz/parts.py:1437 msgid "Timbales-style (2 lines)" msgstr "Timbales-style (2 линейки)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1328 +#: ../python/frescobaldi_app/scorewiz/parts.py:1438 msgid "Congas-style (2 lines)" msgstr "Congas-style (2 линейки)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1329 +#: ../python/frescobaldi_app/scorewiz/parts.py:1439 msgid "Bongos-style (2 lines)" msgstr "Bongos-style (2 линейки)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1330 +#: ../python/frescobaldi_app/scorewiz/parts.py:1440 msgid "Percussion-style (1 line)" msgstr "Percussion-style (1 линейка)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1331 +#: ../python/frescobaldi_app/scorewiz/parts.py:1441 msgid "Remove stems" msgstr "Удалить нотные штили" -#: ../python/frescobaldi_app/scorewiz/parts.py:1332 +#: ../python/frescobaldi_app/scorewiz/parts.py:1442 msgid "Remove the stems from the drum notes." msgstr "Удалить штили у ударных нот." -#: ../python/frescobaldi_app/scorewiz/parts.py:1341 +#: ../python/frescobaldi_app/scorewiz/parts.py:1451 msgid "Strings" msgstr "Струнные" -#: ../python/frescobaldi_app/scorewiz/parts.py:1348 +#: ../python/frescobaldi_app/scorewiz/parts.py:1458 msgid "Plucked strings" msgstr "Струнные щипковые" -#: ../python/frescobaldi_app/scorewiz/parts.py:1357 +#: ../python/frescobaldi_app/scorewiz/parts.py:1467 msgid "Woodwinds" msgstr "Деревянные духовые" -#: ../python/frescobaldi_app/scorewiz/parts.py:1378 +#: ../python/frescobaldi_app/scorewiz/parts.py:1488 msgid "Brass" msgstr "Медные духовые" -#: ../python/frescobaldi_app/scorewiz/parts.py:1386 +#: ../python/frescobaldi_app/scorewiz/parts.py:1496 msgid "Vocal" msgstr "Голос" -#: ../python/frescobaldi_app/scorewiz/parts.py:1395 +#: ../python/frescobaldi_app/scorewiz/parts.py:1505 msgid "Keyboard instruments" msgstr "Клавишные" -#: ../python/frescobaldi_app/scorewiz/parts.py:1411 +#: ../python/frescobaldi_app/scorewiz/parts.py:1521 msgid "Special" msgstr "Другие" +#~ msgid "Name or full path of the convert-ly program." +#~ msgstr "Имя или полный путь к программе convert-ly" + #~ msgid "Expand" #~ msgstr "Раскрыть сокращение" Binary files /tmp/5bDcz9lEpj/frescobaldi-1.0.2/po/tr.mo and /tmp/e9XHlR4XU7/frescobaldi-1.1.1/po/tr.mo differ diff -Nru frescobaldi-1.0.2/po/tr.po frescobaldi-1.1.1/po/tr.po --- frescobaldi-1.0.2/po/tr.po 2010-02-18 08:12:04.000000000 +0000 +++ frescobaldi-1.1.1/po/tr.po 2010-05-03 19:31:55.000000000 +0100 @@ -3,68 +3,68 @@ # This file is distributed under the same license as the PACKAGE package. # # Server Acim , 2008, 2009. +# Server Acim , 2010. msgid "" msgstr "" "Project-Id-Version: tr\n" "Report-Msgid-Bugs-To: info@frescobaldi.org\n" -"POT-Creation-Date: 2010-02-16 10:04+0100\n" -"PO-Revision-Date: 2009-12-04 19:42+0200\n" -"Last-Translator: Server Acim \n" +"POT-Creation-Date: 2010-05-03 20:28+0200\n" +"PO-Revision-Date: 2010-03-27 14:48+0200\n" +"Last-Translator: Server Acim \n" "Language-Team: Turkish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Lokalize 0.3\n" +"X-Generator: Lokalize 1.0\n" -#: ../frescobaldi.py:32 dummy.py:16 +#: ../frescobaldi.py:37 dummy.py:16 msgid "Frescobaldi" msgstr "Frescobaldi" -#: ../frescobaldi.py:34 dummy.py:17 +#: ../frescobaldi.py:39 dummy.py:17 msgid "LilyPond Music Editor" msgstr "LilyPond Müzik Düzenleyicisi" -#: ../frescobaldi.py:36 -#, fuzzy +#: ../frescobaldi.py:41 msgid "Copyright (c) 2008-2010, Wilbert Berendsen" -msgstr "Copyright (c) 2008-2009, Wilbert Berendsen" +msgstr "Copyright (c) 2008-2010, Wilbert Berendsen" -#: ../frescobaldi.py:45 +#: ../frescobaldi.py:50 msgctxt "NAME OF TRANSLATORS" msgid "Your name" msgstr "Server Acim" -#: ../frescobaldi.py:46 +#: ../frescobaldi.py:51 msgctxt "EMAIL OF TRANSLATORS" msgid "i18n@frescobaldi.org" msgstr "i18n@frescobaldi.org" -#: ../frescobaldi.py:52 +#: ../frescobaldi.py:57 msgid "Session to start" msgstr "Başlatılacak oturum" -#: ../frescobaldi.py:53 +#: ../frescobaldi.py:58 msgid "Start a new instance" msgstr "Yeni bir çalışmaya başla" -#: ../frescobaldi.py:54 +#: ../frescobaldi.py:59 msgid "Encoding to use" msgstr "Kullanılacak dil kodlaması" -#: ../frescobaldi.py:55 +#: ../frescobaldi.py:60 msgid "Line number to go to, starting at 1" msgstr "Gidilecek satır numarası, sıra numarası 1'den başlamaktadır." -#: ../frescobaldi.py:56 +#: ../frescobaldi.py:61 msgid "Column to go to, starting at 0" msgstr "Gidilecek sütun numarası, sıra numarası 0'dan başlamaktadır." -#: ../frescobaldi.py:57 +#: ../frescobaldi.py:62 msgid "Try to use smart line and column numbers" msgstr "Akıllı satır ve sütun numaralarını kullanmaya çalış" -#: ../frescobaldi.py:58 +#: ../frescobaldi.py:63 msgid "LilyPond files to open, may also be textedit URLs" msgstr "" "Açılacak LilyPond dosyaları, bunlardan bazıları metin işlemeli URL'lerdir." @@ -105,344 +105,352 @@ msgid "&Extra Tools" msgstr "&Ekstra Araçlar" -#: ../python/ly/__init__.py:94 +#: ../python/ly/__init__.py:81 msgid "Dedication" msgstr "İthaf" -#: ../python/ly/__init__.py:95 +#: ../python/ly/__init__.py:82 msgid "Title" msgstr "Başlık" -#: ../python/ly/__init__.py:96 +#: ../python/ly/__init__.py:83 msgid "Subtitle" msgstr "Alt Başlık" -#: ../python/ly/__init__.py:97 +#: ../python/ly/__init__.py:84 msgid "Subsubtitle" msgstr "Alt alt başlık" -#: ../python/ly/__init__.py:98 +#: ../python/ly/__init__.py:85 msgid "Instrument" msgstr "Çalgı" -#: ../python/ly/__init__.py:99 +#: ../python/ly/__init__.py:86 msgid "Composer" msgstr "Besteci" -#: ../python/ly/__init__.py:100 +#: ../python/ly/__init__.py:87 msgid "Arranger" msgstr "Aranjör" -#: ../python/ly/__init__.py:101 +#: ../python/ly/__init__.py:88 msgid "Poet" msgstr "Şair" -#: ../python/ly/__init__.py:102 +#: ../python/ly/__init__.py:89 msgid "Meter" msgstr "Ölçü" -#: ../python/ly/__init__.py:103 +#: ../python/ly/__init__.py:90 msgid "Piece" msgstr "Parça" -#: ../python/ly/__init__.py:104 +#: ../python/ly/__init__.py:91 msgid "Opus" msgstr "Opus" -#: ../python/ly/__init__.py:105 +#: ../python/ly/__init__.py:92 msgid "Copyright" msgstr "Telif Hakkı" -#: ../python/ly/__init__.py:106 +#: ../python/ly/__init__.py:93 msgid "Tagline" msgstr "Slogan" -#: ../python/ly/__init__.py:114 +#: ../python/ly/__init__.py:101 msgid "Major" msgstr "Majör" -#: ../python/ly/__init__.py:115 +#: ../python/ly/__init__.py:102 msgid "Minor" msgstr "Minör" -#: ../python/ly/__init__.py:116 +#: ../python/ly/__init__.py:103 msgid "Ionian" msgstr "İyonyan" -#: ../python/ly/__init__.py:117 +#: ../python/ly/__init__.py:104 msgid "Dorian" msgstr "Doryan" -#: ../python/ly/__init__.py:118 +#: ../python/ly/__init__.py:105 msgid "Phrygian" msgstr "Frigyan" -#: ../python/ly/__init__.py:119 +#: ../python/ly/__init__.py:106 msgid "Lydian" msgstr "Lidyan" -#: ../python/ly/__init__.py:120 +#: ../python/ly/__init__.py:107 msgid "Mixolydian" msgstr "Miksolidyan" -#: ../python/ly/__init__.py:121 +#: ../python/ly/__init__.py:108 msgid "Aeolian" msgstr "Aolyan" -#: ../python/ly/__init__.py:122 +#: ../python/ly/__init__.py:109 msgid "Locrian" msgstr "Lokriyan" -#: ../python/ly/articulation.py:33 +#: ../python/ly/articulation.py:35 msgid "Articulation" msgstr "Artükülasyon" -#: ../python/ly/articulation.py:34 +#: ../python/ly/articulation.py:36 msgid "Accent" msgstr "Vurgu" -#: ../python/ly/articulation.py:35 +#: ../python/ly/articulation.py:37 msgid "Marcato" msgstr "Marcato" -#: ../python/ly/articulation.py:36 +#: ../python/ly/articulation.py:38 msgid "Staccatissimo" msgstr "Staccatissimo" -#: ../python/ly/articulation.py:37 +#: ../python/ly/articulation.py:39 msgid "Staccato" msgstr "Staccato" -#: ../python/ly/articulation.py:38 +#: ../python/ly/articulation.py:40 msgid "Portato" msgstr "Portato" -#: ../python/ly/articulation.py:39 +#: ../python/ly/articulation.py:41 msgid "Tenuto" msgstr "Tenuto" -#: ../python/ly/articulation.py:40 +#: ../python/ly/articulation.py:42 msgid "Espressivo" msgstr "Espressivo" -#: ../python/ly/articulation.py:42 +#: ../python/ly/articulation.py:44 msgid "Ornaments" msgstr "Süslemeler" -#: ../python/ly/articulation.py:43 +#: ../python/ly/articulation.py:45 msgid "Trill" msgstr "Trill" -#: ../python/ly/articulation.py:44 +#: ../python/ly/articulation.py:46 msgid "Prall" msgstr "Prall" -#: ../python/ly/articulation.py:45 +#: ../python/ly/articulation.py:47 msgid "Mordent" msgstr "Mordent" -#: ../python/ly/articulation.py:46 +#: ../python/ly/articulation.py:48 msgid "Turn" msgstr "Turn" -#: ../python/ly/articulation.py:47 +#: ../python/ly/articulation.py:49 msgid "Prall prall" msgstr "Prall prall" -#: ../python/ly/articulation.py:48 +#: ../python/ly/articulation.py:50 msgid "Prall mordent" msgstr "Prall mordent" -#: ../python/ly/articulation.py:49 +#: ../python/ly/articulation.py:51 msgid "Up prall" msgstr "Up prall" -#: ../python/ly/articulation.py:50 +#: ../python/ly/articulation.py:52 msgid "Down prall" msgstr "Down prall" -#: ../python/ly/articulation.py:51 +#: ../python/ly/articulation.py:53 msgid "Up mordent" msgstr "Up mordent" -#: ../python/ly/articulation.py:52 +#: ../python/ly/articulation.py:54 msgid "Down mordent" msgstr "Down mordent" -#: ../python/ly/articulation.py:53 +#: ../python/ly/articulation.py:55 msgid "Prall up" msgstr "Prall up" -#: ../python/ly/articulation.py:54 +#: ../python/ly/articulation.py:56 msgid "Prall down" msgstr "Prall down" -#: ../python/ly/articulation.py:55 +#: ../python/ly/articulation.py:57 msgid "Line prall" msgstr "Line prall" -#: ../python/ly/articulation.py:56 +#: ../python/ly/articulation.py:58 msgid "Reverse turn" msgstr "Reverse turn" -#: ../python/ly/articulation.py:58 +#: ../python/ly/articulation.py:60 msgid "Signs" msgstr "İşaretler" -#: ../python/ly/articulation.py:59 +#: ../python/ly/articulation.py:61 msgid "Fermata" msgstr "Fermata" -#: ../python/ly/articulation.py:60 +#: ../python/ly/articulation.py:62 msgid "Short fermata" msgstr "Short fermata" -#: ../python/ly/articulation.py:61 +#: ../python/ly/articulation.py:63 msgid "Long fermata" msgstr "Long fermata" -#: ../python/ly/articulation.py:62 +#: ../python/ly/articulation.py:64 msgid "Very long fermata" msgstr "Very long fermata" -#: ../python/ly/articulation.py:63 +#: ../python/ly/articulation.py:65 msgid "Segno" msgstr "Segno" -#: ../python/ly/articulation.py:64 +#: ../python/ly/articulation.py:66 msgid "Coda" msgstr "Coda" -#: ../python/ly/articulation.py:65 +#: ../python/ly/articulation.py:67 msgid "Varcoda" msgstr "Varcoda" -#: ../python/ly/articulation.py:66 +#: ../python/ly/articulation.py:68 msgid "Signumcongruentiae" msgstr "Signumcongruentiae" -#: ../python/ly/articulation.py:68 +#: ../python/ly/articulation.py:70 msgid "Other" msgstr "Diğer" -#: ../python/ly/articulation.py:69 +#: ../python/ly/articulation.py:71 msgid "Upbow" msgstr "Upbow" -#: ../python/ly/articulation.py:70 +#: ../python/ly/articulation.py:72 msgid "Downbow" msgstr "Downbow" -#: ../python/ly/articulation.py:71 +#: ../python/ly/articulation.py:73 +msgid "Snappizzicato" +msgstr "Snappizzicato" + +#: ../python/ly/articulation.py:74 msgid "Open (e.g. brass)" msgstr "Open (e.g. brass)" -#: ../python/ly/articulation.py:72 +#: ../python/ly/articulation.py:75 msgid "Stopped (e.g. brass)" msgstr "Stopped (e.g. brass)" -#: ../python/ly/articulation.py:73 +#: ../python/ly/articulation.py:76 msgid "Flageolet" msgstr "Flageolet" -#: ../python/ly/articulation.py:74 +#: ../python/ly/articulation.py:77 msgid "Thumb" msgstr "Thumb" -#: ../python/ly/articulation.py:75 +#: ../python/ly/articulation.py:78 msgid "Left heel" msgstr "Left heel" -#: ../python/ly/articulation.py:76 +#: ../python/ly/articulation.py:79 msgid "Right heel" msgstr "Right heel" -#: ../python/ly/articulation.py:77 +#: ../python/ly/articulation.py:80 msgid "Left toe" msgstr "Left toe" -#: ../python/ly/articulation.py:78 +#: ../python/ly/articulation.py:81 msgid "Right toe" msgstr "Right toe" -#: ../python/kateshell/exception.py:42 +#: ../python/ly/articulation.py:82 +msgid "Half open (e.g. hi-hat)" +msgstr "Yarım açık (örneğin h-hat)" + +#: ../python/kateshell/exception.py:43 msgid "An internal error has occurred:" msgstr "Bir iç hata oluştu:" -#: ../python/kateshell/exception.py:45 +#: ../python/kateshell/exception.py:46 msgid "Internal Error" msgstr "İç Hata" -#: ../python/kateshell/exception.py:51 +#: ../python/kateshell/exception.py:52 msgid "Email Bug Report..." msgstr "Hata Raporunu E-posta ile gönder..." -#: ../python/kateshell/exception.py:64 +#: ../python/kateshell/exception.py:65 msgid "Optionally describe what you were doing below:" msgstr "Aşağıya ne yaptığını opsiyonel olarak tanımla:" -#: ../python/kateshell/mainwindow.py:91 +#: ../python/kateshell/mainwindow.py:94 msgid "Left Sidebar" msgstr "Sol Kenar Çubuğu" -#: ../python/kateshell/mainwindow.py:95 +#: ../python/kateshell/mainwindow.py:98 msgid "Right Sidebar" msgstr "Sağ Kenar Çubuğu" -#: ../python/kateshell/mainwindow.py:107 +#: ../python/kateshell/mainwindow.py:110 msgid "Top Sidebar" msgstr "Üst Kenar Çubuğu" -#: ../python/kateshell/mainwindow.py:120 +#: ../python/kateshell/mainwindow.py:123 msgid "Bottom Sidebar" msgstr "Alt Kenar Çubuğu" -#: ../python/kateshell/mainwindow.py:165 +#: ../python/kateshell/mainwindow.py:168 msgid "Show Path" msgstr "Yolu Göster" -#: ../python/kateshell/mainwindow.py:168 +#: ../python/kateshell/mainwindow.py:171 msgid "Show Document Tabs" msgstr "Belge Sekmelerini Göster" -#: ../python/kateshell/mainwindow.py:186 +#: ../python/kateshell/mainwindow.py:188 msgid "&Tool Views" msgstr "&Araç Görünümleri" -#: ../python/kateshell/mainwindow.py:277 +#: ../python/kateshell/mainwindow.py:278 msgid "Please select some text first." msgstr "Lütfen önce bir metin seçiniz." -#: ../python/kateshell/mainwindow.py:327 +#: ../python/kateshell/mainwindow.py:328 msgid "modified" msgstr "değiştirilmiş" -#: ../python/kateshell/mainwindow.py:337 +#: ../python/kateshell/mainwindow.py:338 msgid "Line: %1 Col: %2" msgstr "Satır: %1 Sütun: %2" -#: ../python/kateshell/mainwindow.py:346 +#: ../python/kateshell/mainwindow.py:347 msgid "BLOCK" msgstr "GENİŞLİK" -#: ../python/kateshell/mainwindow.py:346 +#: ../python/kateshell/mainwindow.py:347 msgid "Block selection mode" msgstr "Genişlik seçim kipi" -#: ../python/kateshell/mainwindow.py:348 +#: ../python/kateshell/mainwindow.py:349 msgid "LINE" msgstr "SATIR" -#: ../python/kateshell/mainwindow.py:348 +#: ../python/kateshell/mainwindow.py:349 msgid "Line selection mode" msgstr "Satır seçim kipi" -#: ../python/kateshell/mainwindow.py:386 -#: ../python/frescobaldi_app/blankpaper.py:335 +#: ../python/kateshell/mainwindow.py:393 +#: ../python/frescobaldi_app/blankpaper.py:331 msgid "All Files" msgstr "Tüm dosyalar" -#: ../python/kateshell/mainwindow.py:387 +#: ../python/kateshell/mainwindow.py:394 msgid "Open File" msgstr "Dosya Aç" @@ -450,7 +458,7 @@ msgid "Right-click for tab options" msgstr "Sekme seçenekleri için sağ-tıklayınız" -#: ../python/kateshell/mainwindow.py:870 +#: ../python/kateshell/mainwindow.py:871 msgid "Move To" msgstr "Buraya Taşı" @@ -466,7 +474,7 @@ msgid "Please install %1" msgstr "Lütfen kurunuz %1" -#: ../python/frescobaldi_app/actions.py:55 +#: ../python/frescobaldi_app/actions.py:56 msgid "Open %1 in external viewer" msgstr "Bu dosyayı %1 dış görüntüleyicide aç" @@ -474,44 +482,44 @@ msgid "Print %1" msgstr "Yazdır %1" -#: ../python/frescobaldi_app/actions.py:66 +#: ../python/frescobaldi_app/actions.py:65 msgid "Play %1" msgstr "Çal %1" -#: ../python/frescobaldi_app/actions.py:95 +#: ../python/frescobaldi_app/actions.py:91 msgid "Open PDF" msgstr "PDF aç" -#: ../python/frescobaldi_app/actions.py:96 +#: ../python/frescobaldi_app/actions.py:92 msgid "Print" msgstr "Yazdır" -#: ../python/frescobaldi_app/actions.py:98 +#: ../python/frescobaldi_app/actions.py:94 msgid "Play MIDI" msgstr "MIDI çal" -#: ../python/frescobaldi_app/actions.py:101 -#: ../python/frescobaldi_app/mainapp.py:712 +#: ../python/frescobaldi_app/actions.py:97 +#: ../python/frescobaldi_app/mainapp.py:726 msgid "Email..." msgstr "E-posta..." -#: ../python/frescobaldi_app/actions.py:154 +#: ../python/frescobaldi_app/actions.py:149 msgid "There are no files to send via email." msgstr "E-posta olarak gönderilecek dosya bulunmamaktadır." -#: ../python/frescobaldi_app/actions.py:155 +#: ../python/frescobaldi_app/actions.py:150 msgid "No files to send" msgstr "Gönderilecek dosya yok" -#: ../python/frescobaldi_app/actions.py:163 +#: ../python/frescobaldi_app/actions.py:158 msgid "Email documents" msgstr "E-posta belgeleri" -#: ../python/frescobaldi_app/actions.py:167 +#: ../python/frescobaldi_app/actions.py:162 msgid "Please select the files you want to send:" msgstr "Lütfen göndermek istediğiniz dosyaları seçiniz:" -#: ../python/frescobaldi_app/actions.py:172 +#: ../python/frescobaldi_app/actions.py:166 msgid "" "These are the files that are up-to-date (i.e. newer than the LilyPond source " "document). Also LilyPond files included by the source document are shown." @@ -519,7 +527,7 @@ "Güncel dosyalar var (örn. LilyPond kaynak dosyasından daha yeniler). Ayrıca, " "LilyPond kaynak dosyaları da görüntülenmektedir." -#: ../python/frescobaldi_app/actions.py:182 +#: ../python/frescobaldi_app/actions.py:176 msgid "" "Note: this PDF file has been created with embedded point-and-click URLs " "(preview mode), which increases the file size dramatically. Please consider " @@ -536,15 +544,15 @@ "kipinde yeniden derlemeyi deneyiniz, böylece PDF dosya boyutu daha " "küçülecektir." -#: ../python/frescobaldi_app/actions.py:283 +#: ../python/frescobaldi_app/actions.py:273 msgid "Printing failed: %1" msgstr "Yazdırma başarısız:%1" -#: ../python/frescobaldi_app/actions.py:286 +#: ../python/frescobaldi_app/actions.py:276 msgid "The document has been sent to the printer." msgstr "Belge yazıcıya gönderildi." -#: ../python/frescobaldi_app/actions.py:289 +#: ../python/frescobaldi_app/actions.py:279 msgid "" "Printing failed: %1\n" "\n" @@ -555,180 +563,164 @@ "Yazdırma komuyu %2 büyük olasılıkla verilemedi. Lütfen yazıcı ayarlarınızı " "denetleyin." -#: ../python/frescobaldi_app/actions.py:294 +#: ../python/frescobaldi_app/actions.py:284 msgid "The print command contains errors. Please check your settings." msgstr "" "Yazdırma komutu hatalar içermektedir. Lütfen yazıcı ayarlarınızı denetleyin." -#: ../python/frescobaldi_app/blankpaper.py:55 -#: ../python/frescobaldi_app/mainapp.py:738 +#: ../python/frescobaldi_app/blankpaper.py:56 +#: ../python/frescobaldi_app/mainapp.py:753 msgid "Create blank staff paper" msgstr "Boş nota kağıdı oluştur" -#: ../python/frescobaldi_app/blankpaper.py:69 +#: ../python/frescobaldi_app/blankpaper.py:70 msgid "Type:" msgstr "Tür:" -#: ../python/frescobaldi_app/blankpaper.py:72 +#: ../python/frescobaldi_app/blankpaper.py:73 msgid "Action:" msgstr "Eylem:" -#: ../python/frescobaldi_app/blankpaper.py:78 +#: ../python/frescobaldi_app/blankpaper.py:79 msgid "Choose what kind of empty staves you want to create." msgstr "Ne tür boş nota kağıdı oluşturacağınızı seçin." -#: ../python/frescobaldi_app/blankpaper.py:80 +#: ../python/frescobaldi_app/blankpaper.py:81 msgid "Choose which action happens when clicking \"Ok\"." msgstr "" "\"Tamam\" düğmesini tıkladığınızda hangi tür eylemin gerçekleşeceğini seçin." -#: ../python/frescobaldi_app/blankpaper.py:82 +#: ../python/frescobaldi_app/blankpaper.py:83 msgid "Preview the empty staff paper." msgstr "Boş nota kağıdını ön izle." -#: ../python/frescobaldi_app/blankpaper.py:84 +#: ../python/frescobaldi_app/blankpaper.py:85 msgid "Click to see more settings." msgstr "Daha fazla ayarı görmek için tıklayın." -#: ../python/frescobaldi_app/blankpaper.py:87 +#: ../python/frescobaldi_app/blankpaper.py:88 msgid "Paper" msgstr "Sayfa" -#: ../python/frescobaldi_app/blankpaper.py:89 +#: ../python/frescobaldi_app/blankpaper.py:90 msgid "Settings" msgstr "Ayarlar" -#: ../python/frescobaldi_app/blankpaper.py:95 -#: ../python/frescobaldi_app/scorewiz/__init__.py:509 +#: ../python/frescobaldi_app/blankpaper.py:96 +#: ../python/frescobaldi_app/scorewiz/__init__.py:496 msgid "Paper size:" msgstr "Sayfa ebadı:" -#: ../python/frescobaldi_app/blankpaper.py:99 -#: ../python/frescobaldi_app/scorewiz/__init__.py:448 -#: ../python/frescobaldi_app/scorewiz/__init__.py:513 -#: ../python/frescobaldi_app/scorewiz/__init__.py:547 -#: ../python/frescobaldi_app/scorewiz/parts.py:180 -#: ../python/frescobaldi_app/scorewiz/parts.py:436 +#: ../python/frescobaldi_app/blankpaper.py:100 +#: ../python/frescobaldi_app/scorewiz/__init__.py:441 +#: ../python/frescobaldi_app/scorewiz/__init__.py:500 +#: ../python/frescobaldi_app/scorewiz/__init__.py:532 +#: ../python/frescobaldi_app/scorewiz/parts.py:183 +#: ../python/frescobaldi_app/scorewiz/parts.py:439 msgid "Default" msgstr "Öntanımlı" -#: ../python/frescobaldi_app/blankpaper.py:103 +#: ../python/frescobaldi_app/blankpaper.py:104 msgid "Staff Size:" msgstr "Dizek Boyutu:" -#: ../python/frescobaldi_app/blankpaper.py:110 +#: ../python/frescobaldi_app/blankpaper.py:111 msgid "Page count:" msgstr "Sayfa numarası:" -#: ../python/frescobaldi_app/blankpaper.py:116 -#: ../python/frescobaldi_app/scorewiz/__init__.py:486 +#: ../python/frescobaldi_app/blankpaper.py:117 +#: ../python/frescobaldi_app/scorewiz/__init__.py:468 msgid "Remove default tagline" msgstr "Öntanımlı sloganı kaldır" -#: ../python/frescobaldi_app/blankpaper.py:121 +#: ../python/frescobaldi_app/blankpaper.py:122 msgid "Print Bar Lines" msgstr "Ölçü Çizgilerini Göster" -#: ../python/frescobaldi_app/blankpaper.py:123 +#: ../python/frescobaldi_app/blankpaper.py:124 msgid "Bars per line:" msgstr "Satır başına düşen ölçü:" -#: ../python/frescobaldi_app/blankpaper.py:130 +#: ../python/frescobaldi_app/blankpaper.py:131 msgid "Print Page Numbers" msgstr "Sayfa Numaralarını Göster" -#: ../python/frescobaldi_app/blankpaper.py:132 +#: ../python/frescobaldi_app/blankpaper.py:133 msgid "Start with:" msgstr "Başlayan numara:" -#: ../python/frescobaldi_app/blankpaper.py:289 +#: ../python/frescobaldi_app/blankpaper.py:285 msgid "Blank staff paper preview" msgstr "Boş nota kağıdı önizleme" -#: ../python/frescobaldi_app/blankpaper.py:308 +#: ../python/frescobaldi_app/blankpaper.py:304 msgid "No PDF was created." msgstr "PDF oluşturulmadı." -#: ../python/frescobaldi_app/blankpaper.py:319 +#: ../python/frescobaldi_app/blankpaper.py:315 msgid "Open in PDF viewer" msgstr "PDF göstericide Aç" -#: ../python/frescobaldi_app/blankpaper.py:328 +#: ../python/frescobaldi_app/blankpaper.py:324 msgid "Save PDF As..." msgstr "PDF'yi Farklı Kaydet..." -#: ../python/frescobaldi_app/blankpaper.py:335 +#: ../python/frescobaldi_app/blankpaper.py:331 msgid "PDF Files" msgstr "PDf Dosyaları" -#: ../python/frescobaldi_app/blankpaper.py:337 +#: ../python/frescobaldi_app/blankpaper.py:333 msgid "Save PDF" msgstr "PDF'yi Kaydet" -#: ../python/frescobaldi_app/blankpaper.py:355 -#: ../python/frescobaldi_app/runlily.py:375 -msgid "" -"A file named \"%1\" already exists. Are you sure you want to overwrite it?" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:358 -#: ../python/frescobaldi_app/runlily.py:378 -msgid "Overwrite File?" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:358 -#: ../python/frescobaldi_app/runlily.py:378 -msgid "&Overwrite" -msgstr "" - -#: ../python/frescobaldi_app/blankpaper.py:380 +#: ../python/frescobaldi_app/blankpaper.py:357 msgid "Directly print on default printer" msgstr "Doğrudan öntanımlı yazıcıdan yazdır" -#: ../python/frescobaldi_app/blankpaper.py:389 +#: ../python/frescobaldi_app/blankpaper.py:366 msgid "Copy LilyPond code to editor" msgstr "LilyPond kodunu düzenleyiciye kopyala" -#: ../python/frescobaldi_app/blankpaper.py:488 +#: ../python/frescobaldi_app/blankpaper.py:465 msgid "Staves per page:" msgstr "Sayfa başına düşen dizek sayısı:" -#: ../python/frescobaldi_app/blankpaper.py:493 -#: ../python/frescobaldi_app/blankpaper.py:828 +#: ../python/frescobaldi_app/blankpaper.py:470 +#: ../python/frescobaldi_app/blankpaper.py:803 msgid "Clef:" msgstr "Anahtar:" -#: ../python/frescobaldi_app/blankpaper.py:499 +#: ../python/frescobaldi_app/blankpaper.py:476 msgid "Single Staff" msgstr "Tek Dizek" -#: ../python/frescobaldi_app/blankpaper.py:519 -#: ../python/frescobaldi_app/blankpaper.py:575 -#: ../python/frescobaldi_app/blankpaper.py:671 +#: ../python/frescobaldi_app/blankpaper.py:496 +#: ../python/frescobaldi_app/blankpaper.py:552 +#: ../python/frescobaldi_app/blankpaper.py:647 msgid "Systems per page:" msgstr "Sayfa başına düşen sistemler:" -#: ../python/frescobaldi_app/blankpaper.py:523 +#: ../python/frescobaldi_app/blankpaper.py:500 msgid "Clefs" msgstr "Anahtarlar" -#: ../python/frescobaldi_app/blankpaper.py:527 +#: ../python/frescobaldi_app/blankpaper.py:504 msgid "Piano Staff" msgstr "Piano Dizeği" -#: ../python/frescobaldi_app/blankpaper.py:547 +#: ../python/frescobaldi_app/blankpaper.py:524 msgid "Organ Staff" msgstr "Org Dizeği" -#: ../python/frescobaldi_app/blankpaper.py:571 +#: ../python/frescobaldi_app/blankpaper.py:548 msgid "Staves per system:" msgstr "Sistem başına düşen dizekler:" -#: ../python/frescobaldi_app/blankpaper.py:582 +#: ../python/frescobaldi_app/blankpaper.py:559 msgid "Clefs:" msgstr "Anahtarlar" -#: ../python/frescobaldi_app/blankpaper.py:589 +#: ../python/frescobaldi_app/blankpaper.py:566 msgid "" "Enter as many letters (S, A, T or B) as there are staves.\n" "See \"What's This\" for more information." @@ -736,7 +728,7 @@ "Dizek başlıklarını harf olarak giriniz (S, A, T veya B gibi).\n" "Daha fazla bilgi için \"Bu nedir\" kısmına bakın." -#: ../python/frescobaldi_app/blankpaper.py:592 +#: ../python/frescobaldi_app/blankpaper.py:569 msgid "" "To configure clefs, first set the number of staves per system. Then enter as " "many letters (S, A, T or B) as there are staves.\n" @@ -760,49 +752,55 @@ "dizelerin sayısını 4 olarak ayarlayın. Sonra aralarında virgül olmadan \"SATB" "\" buraya giriniz." -#: ../python/frescobaldi_app/blankpaper.py:606 +#: ../python/frescobaldi_app/blankpaper.py:582 msgid "Choir Staff" msgstr "Koro Dizeği" -#: ../python/frescobaldi_app/blankpaper.py:613 -#: ../python/frescobaldi_app/scorewiz/__init__.py:395 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/blankpaper.py:589 +#: ../python/frescobaldi_app/lqi.py:159 +#: ../python/frescobaldi_app/scorewiz/__init__.py:388 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "None" msgstr "Yok" -#: ../python/frescobaldi_app/blankpaper.py:759 +#: ../python/frescobaldi_app/blankpaper.py:734 msgid "Custom Staff" msgstr "Özelleştirilmiş Dizek" -#: ../python/frescobaldi_app/blankpaper.py:818 +#: ../python/frescobaldi_app/blankpaper.py:793 msgid "Staff" msgstr "Dizek" -#: ../python/frescobaldi_app/blankpaper.py:841 -msgid "Space above:" -msgstr "Yukardakı boşluk:" - -#: ../python/frescobaldi_app/blankpaper.py:844 +#: ../python/frescobaldi_app/blankpaper.py:812 msgid "Space below:" msgstr "Aşağıdaki boşluk:" -#: ../python/frescobaldi_app/blankpaper.py:879 +#: ../python/frescobaldi_app/blankpaper.py:852 msgid "Brace" msgstr "Parantez" -#: ../python/frescobaldi_app/blankpaper.py:904 +#: ../python/frescobaldi_app/blankpaper.py:877 msgid "Bracket" msgstr "Kalın parantez" -#: ../python/frescobaldi_app/blankpaper.py:913 +#: ../python/frescobaldi_app/blankpaper.py:886 msgid "Square Bracket" msgstr "Kare parantez" -#: ../python/frescobaldi_app/blankpaper.py:915 +#: ../python/frescobaldi_app/blankpaper.py:888 msgid "Connect bar lines" msgstr "Ölçü çizgilerini bağla" -#: ../python/frescobaldi_app/document.py:66 +#: ../python/frescobaldi_app/charselect.py:41 +#: ../python/frescobaldi_app/mainapp.py:871 +msgid "Special Characters" +msgstr "Özel Karakterler" + +#: ../python/frescobaldi_app/charselect.py:85 +msgid "unknown" +msgstr "bilinmeyen" + +#: ../python/frescobaldi_app/document.py:68 msgid "" "Can't perform the requested translation.\n" "\n" @@ -814,7 +812,7 @@ "Müzik, çeyrek ses değişimleri içermektedir, fakat bunlar \"%1\" ses dili " "için mümkün değildir." -#: ../python/frescobaldi_app/document.py:81 +#: ../python/frescobaldi_app/document.py:82 msgid "" "The pitch language of the selected text has been updated, but you need to " "manually add the following command to your document:" @@ -822,29 +820,29 @@ "Seçilmiş olan metindeki ses noktası dili güncellendi, fakat belgeniz " "aşağıdaki komutu elle eklemelisiniz:" -#: ../python/frescobaldi_app/document.py:84 -#: ../python/frescobaldi_app/mainapp.py:561 +#: ../python/frescobaldi_app/document.py:85 +#: ../python/frescobaldi_app/mainapp.py:572 msgid "Pitch Name Language" msgstr "Ses Adı Dili" -#: ../python/frescobaldi_app/document.py:139 +#: ../python/frescobaldi_app/document.py:140 msgid "Please enter the name for the variable to assign the selected text to:" msgstr "Lütfen, metne atamak üzere değişkene bir ad veriniz:" -#: ../python/frescobaldi_app/document.py:140 -#: ../python/frescobaldi_app/mainapp.py:455 +#: ../python/frescobaldi_app/document.py:141 +#: ../python/frescobaldi_app/mainapp.py:461 msgid "Cut and Assign" msgstr "Kes ve Ata:" -#: ../python/frescobaldi_app/document.py:452 +#: ../python/frescobaldi_app/document.py:451 msgid "Open %1" msgstr "Aç %1" -#: ../python/frescobaldi_app/document.py:707 +#: ../python/frescobaldi_app/document.py:705 msgid "Please select a music expression, enclosed in << ... >> or { ... }." msgstr "Lütfen bir ifade seçiniz, aralarında <<...>> veya { ... } olsun." -#: ../python/frescobaldi_app/document.py:727 +#: ../python/frescobaldi_app/document.py:725 msgid "" "Could not understand the entered pitches.\n" "\n" @@ -854,7 +852,7 @@ "\n" "Lütfen ses adlarının doğru dilde yazıldığına emin olun, seçilen dil \"%1\"." -#: ../python/frescobaldi_app/document.py:735 +#: ../python/frescobaldi_app/document.py:733 msgid "" "Can't perform the requested transposition.\n" "\n" @@ -866,47 +864,47 @@ "Aktarılmış müzik, çeyrek ses değişimleri içermektedir, fakat bunlar %1 ses " "dili için mümkün değildir." -#: ../python/frescobaldi_app/document.py:748 +#: ../python/frescobaldi_app/document.py:746 msgid "Transpose" msgstr "Aktarım" -#: ../python/frescobaldi_app/document.py:755 +#: ../python/frescobaldi_app/document.py:753 msgid "Please enter a start pitch and a destination pitch:" msgstr "Lütfen bir başlangıç sesi ve aktarılacak uzaklıktaki sesi giriniz:" -#: ../python/frescobaldi_app/document.py:759 +#: ../python/frescobaldi_app/document.py:757 msgid "Transpose from:" msgstr "Aktarın yapılacak yer:" -#: ../python/frescobaldi_app/document.py:763 +#: ../python/frescobaldi_app/document.py:761 msgid "to:" msgstr "yön:" -#: ../python/frescobaldi_app/expand.py:147 -#: ../python/frescobaldi_app/mainapp.py:786 +#: ../python/frescobaldi_app/expand.py:149 +#: ../python/frescobaldi_app/mainapp.py:870 msgid "Expansion Manager" msgstr "Genişleme Düzenleyicisi" -#: ../python/frescobaldi_app/expand.py:161 -#: ../python/frescobaldi_app/lilydoc.py:125 +#: ../python/frescobaldi_app/expand.py:163 +#: ../python/frescobaldi_app/lilydoc.py:127 msgid "Search..." msgstr "Ara..." -#: ../python/frescobaldi_app/expand.py:170 -#: ../python/frescobaldi_app/rumor.py:507 +#: ../python/frescobaldi_app/expand.py:172 +#: ../python/frescobaldi_app/rumor.py:505 msgid "Name" msgstr "İsim" -#: ../python/frescobaldi_app/expand.py:170 -#: ../python/frescobaldi_app/rumor.py:507 +#: ../python/frescobaldi_app/expand.py:172 +#: ../python/frescobaldi_app/rumor.py:505 msgid "Description" msgstr "Tanım" -#: ../python/frescobaldi_app/expand.py:170 +#: ../python/frescobaldi_app/expand.py:172 msgid "Shortcut" msgstr "Kısayol" -#: ../python/frescobaldi_app/expand.py:193 +#: ../python/frescobaldi_app/expand.py:195 msgid "" "This is the list of defined expansions.\n" "\n" @@ -934,26 +932,26 @@ "(öntanımlı kısayol: Ctrl+.), listeden genişleme özelliğini seçip Enter veya " "OK tuşuna basın" -#: ../python/frescobaldi_app/expand.py:213 +#: ../python/frescobaldi_app/expand.py:214 msgid "" "This is the text associated with the selected shortcut. Some characters have " "special meaning:" msgstr "" "Bu, seçili kısayola atanmış metindir. Bazı karakterlerin özel anlamı vardır:" -#: ../python/frescobaldi_app/expand.py:215 +#: ../python/frescobaldi_app/expand.py:216 msgid "Place the cursor on this spot." msgstr "İmleçi bu unsura yerleştirin." -#: ../python/frescobaldi_app/expand.py:216 +#: ../python/frescobaldi_app/expand.py:217 msgid "Translate the following pitch." msgstr "Gelen sesi çevirin." -#: ../python/frescobaldi_app/expand.py:268 +#: ../python/frescobaldi_app/expand.py:265 msgid "New Item" msgstr "Yeni Öğe" -#: ../python/frescobaldi_app/expand.py:348 +#: ../python/frescobaldi_app/expand.py:345 msgid "" "Another expansion already uses this name.\n" "\n" @@ -963,58 +961,70 @@ "\n" "Lütgen başka bir ad kullanın." -#: ../python/frescobaldi_app/expand.py:354 +#: ../python/frescobaldi_app/expand.py:351 msgid "" "Please only use letters, numbers and the underscore character in the " "expansion name." msgstr "Genişleme adında lütfen sadece harf, rakkkam ve küçük harf kullanın." -#: ../python/frescobaldi_app/expand.py:381 +#: ../python/frescobaldi_app/expand.py:376 msgid "Please don't leave the description empty." msgstr "Lütfen tanımı boş bırakmayın." -#: ../python/frescobaldi_app/hyphen.py:123 -#: ../python/frescobaldi_app/mainapp.py:676 +#: ../python/frescobaldi_app/hyphen.py:119 +msgid "" +"Could not find any hyphenation dictionaries.\n" +"\n" +"Please install a package containing some and/or or configure the search path " +"to find them in the Frescobaldi settings under \"Paths.\"" +msgstr "" +"Tireleme sözlüğü bulunamıyor.\n" +"\n" +"\"Yollar.\" altındaki Frescobaldi ayarlarında bulmak için arama yolunu " +"ayarlayın ve/veya bunu sağlayacak bir paket yükleyin." + +#: ../python/frescobaldi_app/hyphen.py:132 +#: ../python/frescobaldi_app/mainapp.py:686 msgid "Hyphenate Lyrics Text" msgstr "Şarkı Sözleri Metnini Tirele" -#: ../python/frescobaldi_app/hyphen.py:127 +#: ../python/frescobaldi_app/hyphen.py:136 msgid "Please select a language:" msgstr "Lütfen bir dil seçiniz:" -#: ../python/frescobaldi_app/lilydoc.py:99 +#: ../python/frescobaldi_app/lilydoc.py:101 msgid "Home" msgstr "Ana Sayfa" -#: ../python/frescobaldi_app/lilydoc.py:100 +#: ../python/frescobaldi_app/lilydoc.py:102 msgid "Larger text" msgstr "Daha büyük metin" -#: ../python/frescobaldi_app/lilydoc.py:101 +#: ../python/frescobaldi_app/lilydoc.py:103 msgid "Smaller text" msgstr "Daha küçük metin" -#: ../python/frescobaldi_app/lilydoc.py:110 +#: ../python/frescobaldi_app/lilydoc.py:112 msgid "First Page" msgstr "İlk Sayfa" -#: ../python/frescobaldi_app/lilydoc.py:111 +#: ../python/frescobaldi_app/lilydoc.py:113 msgid "Previous" msgstr "Önceki" -#: ../python/frescobaldi_app/lilydoc.py:112 +#: ../python/frescobaldi_app/lilydoc.py:114 msgid "Up one level" msgstr "Bir seviye yukarı" -#: ../python/frescobaldi_app/lilydoc.py:113 +#: ../python/frescobaldi_app/lilydoc.py:115 msgid "Next" msgstr "Sonraki" -#: ../python/frescobaldi_app/lilydoc.py:114 +#: ../python/frescobaldi_app/lilydoc.py:116 msgid "Table of contents" msgstr "İçindekiler" -#: ../python/frescobaldi_app/lilydoc.py:115 +#: ../python/frescobaldi_app/lilydoc.py:117 msgid "Index" msgstr "İçindekiler" @@ -1026,84 +1036,84 @@ msgid "Open Link in &New Window" msgstr "Bağlantıyı Aç &Yeni Pencerede" -#: ../python/frescobaldi_app/lilydoc.py:322 -#: ../python/frescobaldi_app/runlily.py:339 +#: ../python/frescobaldi_app/lilydoc.py:321 +#: ../python/frescobaldi_app/runlily.py:508 msgid "&Copy" msgstr "&Kopyala" -#: ../python/frescobaldi_app/lilydoc.py:325 +#: ../python/frescobaldi_app/lilydoc.py:324 msgid "Open Document in &New Window" msgstr "Belgeyi Aç &Yeni Pencerede" -#: ../python/frescobaldi_app/lilydoc.py:677 +#: ../python/frescobaldi_app/lilydoc.py:675 msgid "Loading..." msgstr "Yüklüyor..." -#: ../python/frescobaldi_app/lilydoc.py:684 +#: ../python/frescobaldi_app/lilydoc.py:682 msgid "Not available" msgstr "Uygun değil" -#: ../python/frescobaldi_app/lilydoc.py:732 +#: ../python/frescobaldi_app/lilydoc.py:734 msgid "Notation Reference" msgstr "Notasyon Referansı" -#: ../python/frescobaldi_app/lilydoc.py:752 +#: ../python/frescobaldi_app/lilydoc.py:754 msgid "LilyPond Command Index" msgstr "LilyPond Komut Listesi" -#: ../python/frescobaldi_app/lilydoc.py:772 +#: ../python/frescobaldi_app/lilydoc.py:780 msgid "Learning Manual" msgstr "Öğrenme El Kitabı" -#: ../python/frescobaldi_app/lilydoc.py:792 +#: ../python/frescobaldi_app/lilydoc.py:800 msgid "Learning Manual Index" msgstr "Öğrenme El Kitabı İndeksi" -#: ../python/frescobaldi_app/lilydoc.py:808 +#: ../python/frescobaldi_app/lilydoc.py:816 msgid "LilyPond &Help" msgstr "LilyPond &Yardım" -#: ../python/frescobaldi_app/lqi.py:62 +#: ../python/frescobaldi_app/lqi.py:82 msgid "Articulations" msgstr "Artükülasyonlar" -#: ../python/frescobaldi_app/lqi.py:63 +#: ../python/frescobaldi_app/lqi.py:83 msgid "Different kinds of articulations and other signs." msgstr "Farklı türde artikülasyonlar ve diğer işaretler." -#: ../python/frescobaldi_app/lqi.py:70 +#: ../python/frescobaldi_app/lqi.py:90 msgid "Allow shorthands" msgstr "Kısaltmalara izin ver" -#: ../python/frescobaldi_app/lqi.py:73 +#: ../python/frescobaldi_app/lqi.py:93 msgid "Use short notation for some articulations like staccato." msgstr "Staccato gibi artikülasyonlar için kısa notasyonu kullan." -#: ../python/frescobaldi_app/lqi.py:79 +#: ../python/frescobaldi_app/lqi.py:99 msgid "Direction:" msgstr "Yön:" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Up" msgstr "Yukarı" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Neutral" msgstr "Natürel" -#: ../python/frescobaldi_app/lqi.py:81 +#: ../python/frescobaldi_app/lqi.py:101 msgid "Down" msgstr "Aşağı" -#: ../python/frescobaldi_app/lqi.py:85 +#: ../python/frescobaldi_app/lqi.py:105 msgid "The direction to use for the articulations." msgstr "Artikülasyonlar için kullanılacak yön." -#: ../python/frescobaldi_app/lqi.py:112 +#: ../python/frescobaldi_app/lqi.py:134 msgid "Click an articulation sign to add it to your document." msgstr "Belgenize eklemek için bir artikülasyon işaretine tıklayınız." -#: ../python/frescobaldi_app/lqi.py:113 +#: ../python/frescobaldi_app/lqi.py:135 msgid "" "If you select some music first, the articulation will be added to all notes " "in the selection." @@ -1111,88 +1121,93 @@ "Eğer önce notaları seçerseniz, artikülasyon seçilen tüm notalara " "uygulanacaktır." -#: ../python/frescobaldi_app/mainapp.py:53 +#: ../python/frescobaldi_app/lqi.py:159 +msgid "Configure Keyboard Shortcut (%1)" +msgstr "Klavye Kısayollarını Yapılandır (%1)" + +#: ../python/frescobaldi_app/mainapp.py:54 msgid "LilyPond files" msgstr "LilyPond dosyaları" -#: ../python/frescobaldi_app/mainapp.py:392 -#: ../python/frescobaldi_app/scorewiz/__init__.py:355 +#: ../python/frescobaldi_app/mainapp.py:424 +#: ../python/frescobaldi_app/settings.py:620 +#: ../python/frescobaldi_app/scorewiz/__init__.py:348 msgid "LilyPond" msgstr "LilyPond" -#: ../python/frescobaldi_app/mainapp.py:403 +#: ../python/frescobaldi_app/mainapp.py:435 msgid "Setup New Score..." msgstr "Yeni Bir Esere Başla..." -#: ../python/frescobaldi_app/mainapp.py:408 +#: ../python/frescobaldi_app/mainapp.py:440 msgid "Run LilyPond (preview)" msgstr "LilyPond'u çalıştır (önizleme)" -#: ../python/frescobaldi_app/mainapp.py:412 +#: ../python/frescobaldi_app/mainapp.py:444 msgid "Run LilyPond (publish)" msgstr "LilyPond'u çalıştır (yayınla)" -#: ../python/frescobaldi_app/mainapp.py:418 -msgid "Can't process document" -msgstr "Belgeyi işleyemiyor" - -#: ../python/frescobaldi_app/mainapp.py:421 -msgid "There is already a LilyPond job running for this document." -msgstr "Bu belge için yürütülmekte olan bir LilyPond görevi bulunmaktadır." - -#: ../python/frescobaldi_app/mainapp.py:427 -msgid "Your document has been modified, please save first." -msgstr "Belgeniz değiştirildi, lütfen önce kaydediniz." +#: ../python/frescobaldi_app/mainapp.py:448 +msgid "Run LilyPond (custom)..." +msgstr "LilyPond'u çalıştır (bilindik yöntemle)..." -#: ../python/frescobaldi_app/mainapp.py:446 +#: ../python/frescobaldi_app/mainapp.py:452 msgid "Interrupt LilyPond Job" msgstr "Lilypond Görevini Durdur" -#: ../python/frescobaldi_app/mainapp.py:456 +#: ../python/frescobaldi_app/mainapp.py:462 msgid "Cut selection and assign it to a LilyPond variable." msgstr "Seçimi kesin ve onu LilyPond değişkeni olarak atayın." -#: ../python/frescobaldi_app/mainapp.py:460 +#: ../python/frescobaldi_app/mainapp.py:466 msgid "Repeat last note or chord" msgstr "Son notayı veya akoru tekrarlayın." -#: ../python/frescobaldi_app/mainapp.py:461 +#: ../python/frescobaldi_app/mainapp.py:467 msgid "Repeat the last music expression (note or chord)." msgstr "Son müzik ifadesini tekrarlayın (nota veya akor)." -#: ../python/frescobaldi_app/mainapp.py:465 +#: ../python/frescobaldi_app/mainapp.py:471 msgid "Insert or Manage Expansions..." msgstr "Genişlemeleri Gir veya Düzenle..." -#: ../python/frescobaldi_app/mainapp.py:466 +#: ../python/frescobaldi_app/mainapp.py:472 msgid "Expand last word or open the expansions dialog." msgstr "Son kelimeyi genişlet veya genişletmeler penceresini aç." -#: ../python/frescobaldi_app/mainapp.py:471 +#: ../python/frescobaldi_app/mainapp.py:476 +msgid "Special Characters..." +msgstr "Özel Karakterler..." + +#: ../python/frescobaldi_app/mainapp.py:477 +msgid "Insert special characters." +msgstr "Özel karakterler ekle." + +#: ../python/frescobaldi_app/mainapp.py:482 msgid "Add to Expansions" msgstr "Genişlemelere Ekle" -#: ../python/frescobaldi_app/mainapp.py:475 +#: ../python/frescobaldi_app/mainapp.py:486 msgid "Next blank line" msgstr "Sonraki boş satır" -#: ../python/frescobaldi_app/mainapp.py:476 +#: ../python/frescobaldi_app/mainapp.py:487 msgid "Go to the next blank line." msgstr "Bir sonraki boş satıra geç." -#: ../python/frescobaldi_app/mainapp.py:486 +#: ../python/frescobaldi_app/mainapp.py:497 msgid "Previous blank line" msgstr "Önceki boş satır" -#: ../python/frescobaldi_app/mainapp.py:487 +#: ../python/frescobaldi_app/mainapp.py:498 msgid "Go to the previous blank line." msgstr "Önceki boş satıra git." -#: ../python/frescobaldi_app/mainapp.py:496 +#: ../python/frescobaldi_app/mainapp.py:507 msgid "Select to next blank line" msgstr "Bir sonraki boş satırı seç" -#: ../python/frescobaldi_app/mainapp.py:498 +#: ../python/frescobaldi_app/mainapp.py:509 msgid "" "Selects text from the current position down to and including the next blank " "line." @@ -1200,11 +1215,11 @@ "Metni şu anki konumundan aşağıya kadar seçiniz ve bu seçiminiz bir sonraki " "boş satırı da içersin." -#: ../python/frescobaldi_app/mainapp.py:523 +#: ../python/frescobaldi_app/mainapp.py:534 msgid "Select to previous blank line" msgstr "Önceki boş satırı seç" -#: ../python/frescobaldi_app/mainapp.py:525 +#: ../python/frescobaldi_app/mainapp.py:536 msgid "" "Selects text from the current position up to right after the previous blank " "line." @@ -1212,23 +1227,23 @@ "Metni şu anki konumundan yukarı ve sağa doğru seçiniz ve seçime bir önceki " "boş satırdan başlayın." -#: ../python/frescobaldi_app/mainapp.py:549 +#: ../python/frescobaldi_app/mainapp.py:560 msgid "Move selection to next blank line" msgstr "Seçimi bir sonraki boş satıra taşı" -#: ../python/frescobaldi_app/mainapp.py:550 +#: ../python/frescobaldi_app/mainapp.py:561 msgid "Moves selected block to next blank line." msgstr "Seçili bloğu bir sonraki boş satıra taşır." -#: ../python/frescobaldi_app/mainapp.py:554 +#: ../python/frescobaldi_app/mainapp.py:565 msgid "Move selection to previous blank line" msgstr "Seçimi bir önceki boş satıra taşı" -#: ../python/frescobaldi_app/mainapp.py:555 +#: ../python/frescobaldi_app/mainapp.py:566 msgid "Moves selected block to previous blank line." msgstr "Seçiliği bloğu bir önceki boş satıra taşır." -#: ../python/frescobaldi_app/mainapp.py:562 +#: ../python/frescobaldi_app/mainapp.py:573 msgid "" "Change the LilyPond language used for pitch names in this document or in the " "selection." @@ -1236,11 +1251,11 @@ "Bu belgedeki veya seçimde ses adları için kullanılan LilyPond dilini " "değiştir." -#: ../python/frescobaldi_app/mainapp.py:569 +#: ../python/frescobaldi_app/mainapp.py:579 msgid "Convert Relative to &Absolute" msgstr "Relativ'i &Absolüt'e dönüştür" -#: ../python/frescobaldi_app/mainapp.py:570 +#: ../python/frescobaldi_app/mainapp.py:580 msgid "" "Converts the notes in the document or selection from relative to absolute " "pitch." @@ -1248,85 +1263,85 @@ "Belgedeki veya seçimdeki notaları relativden absölüt ses noktasına " "dönüştürür." -#: ../python/frescobaldi_app/mainapp.py:574 +#: ../python/frescobaldi_app/mainapp.py:584 msgid "Convert Absolute to &Relative" msgstr "Abolüt'ü Relativ'e Dönüştür" -#: ../python/frescobaldi_app/mainapp.py:575 +#: ../python/frescobaldi_app/mainapp.py:585 msgid "" "Converts the notes in the document or selection from absolute to relative " "pitch." msgstr "Belgedeki veya seçilen notaları absolüt'ten relativ'e dönüştürür." -#: ../python/frescobaldi_app/mainapp.py:579 +#: ../python/frescobaldi_app/mainapp.py:589 msgid "Transpose..." msgstr "Aktar..." -#: ../python/frescobaldi_app/mainapp.py:580 +#: ../python/frescobaldi_app/mainapp.py:590 msgid "Transposes all notes in the document or selection." msgstr "Belgede veya seçimdeki tüm notaların aktarımını yapar." -#: ../python/frescobaldi_app/mainapp.py:585 +#: ../python/frescobaldi_app/mainapp.py:595 msgid "Double durations" msgstr "Katlı süreler" -#: ../python/frescobaldi_app/mainapp.py:586 +#: ../python/frescobaldi_app/mainapp.py:596 msgid "Double all the durations in the selection." msgstr "Seçilen tüm süreleri katlı hale getir." -#: ../python/frescobaldi_app/mainapp.py:591 +#: ../python/frescobaldi_app/mainapp.py:601 msgid "Halve durations" msgstr "Süreleri yarı değerine indir" -#: ../python/frescobaldi_app/mainapp.py:592 +#: ../python/frescobaldi_app/mainapp.py:602 msgid "Halve all the durations in the selection." msgstr "Seçilen tüm süreleri yarıya indir." -#: ../python/frescobaldi_app/mainapp.py:597 +#: ../python/frescobaldi_app/mainapp.py:607 msgid "Dot durations" msgstr "Noktalı süreler" -#: ../python/frescobaldi_app/mainapp.py:598 +#: ../python/frescobaldi_app/mainapp.py:608 msgid "Add a dot to all the durations in the selection." msgstr "Seçilen tüm sürelere nokta ekle." -#: ../python/frescobaldi_app/mainapp.py:603 +#: ../python/frescobaldi_app/mainapp.py:613 msgid "Undot durations" msgstr "Sürelerdeki noktaları kaldır" -#: ../python/frescobaldi_app/mainapp.py:604 +#: ../python/frescobaldi_app/mainapp.py:614 msgid "Remove one dot from all the durations in the selection." msgstr "Seçilen tüm notalardan bir nokta kaldır." -#: ../python/frescobaldi_app/mainapp.py:609 +#: ../python/frescobaldi_app/mainapp.py:619 msgid "Remove scaling" msgstr "Ölçeklemeyi kaldır" -#: ../python/frescobaldi_app/mainapp.py:610 +#: ../python/frescobaldi_app/mainapp.py:620 msgid "Remove all scaling (*n/m) from the durations in the selection." msgstr "Seçilen tüm sürelerdeki ölçeklemeyi (*n/m) kaldır." -#: ../python/frescobaldi_app/mainapp.py:615 +#: ../python/frescobaldi_app/mainapp.py:625 msgid "Remove durations" msgstr "Süreleri kaldır" -#: ../python/frescobaldi_app/mainapp.py:616 +#: ../python/frescobaldi_app/mainapp.py:626 msgid "Remove all durations from the selection." msgstr "Seçilen tüm süreleri kaldır." -#: ../python/frescobaldi_app/mainapp.py:621 +#: ../python/frescobaldi_app/mainapp.py:631 msgid "Make implicit" msgstr "Görünmez yap" -#: ../python/frescobaldi_app/mainapp.py:622 +#: ../python/frescobaldi_app/mainapp.py:632 msgid "Make durations implicit (remove repeated durations)." msgstr "Süreleri görünmez yap (tekrarlanan süreleri kaldır)." -#: ../python/frescobaldi_app/mainapp.py:627 +#: ../python/frescobaldi_app/mainapp.py:637 msgid "Make explicit" msgstr "Görünmez yap" -#: ../python/frescobaldi_app/mainapp.py:628 +#: ../python/frescobaldi_app/mainapp.py:638 msgid "" "Make durations explicit (add duration to every note, even if it is the same " "as the preceding note)." @@ -1334,207 +1349,224 @@ "Süreleri görünmez yap (bir önceki notanın süresi aynı olsa bile, her notaya " "süre ekle)" -#: ../python/frescobaldi_app/mainapp.py:634 +#: ../python/frescobaldi_app/mainapp.py:644 msgid "Apply rhythm..." msgstr "Ritm uygula..." -#: ../python/frescobaldi_app/mainapp.py:635 +#: ../python/frescobaldi_app/mainapp.py:645 msgid "Apply an entered rhythm to the selected music." msgstr "Seçilen müziğe bir ritm girişi uygulayınız." -#: ../python/frescobaldi_app/mainapp.py:639 +#: ../python/frescobaldi_app/mainapp.py:649 msgid "Copy rhythm" msgstr "Ritmi kopyala" -#: ../python/frescobaldi_app/mainapp.py:640 +#: ../python/frescobaldi_app/mainapp.py:650 msgid "Copy the rhythm of the selected music." msgstr "Seçilen müziğe ritmi kopyalayınız." -#: ../python/frescobaldi_app/mainapp.py:646 +#: ../python/frescobaldi_app/mainapp.py:656 msgid "Paste rhythm" msgstr "Bir ritm yapıştırınız" -#: ../python/frescobaldi_app/mainapp.py:647 +#: ../python/frescobaldi_app/mainapp.py:657 msgid "Paste a rhythm to the selected music." msgstr "Seçilen müziğe bir ritm girişi yapıştırınız." -#: ../python/frescobaldi_app/mainapp.py:655 +#: ../python/frescobaldi_app/mainapp.py:665 msgid "Double bar line" msgstr "Çift ölçü çizgisi" -#: ../python/frescobaldi_app/mainapp.py:656 +#: ../python/frescobaldi_app/mainapp.py:666 msgid "Ending bar line" msgstr "Bitiş ölçü çizgisi" -#: ../python/frescobaldi_app/mainapp.py:657 +#: ../python/frescobaldi_app/mainapp.py:667 msgid "Dotted bar line" msgstr "Noktalı ölçü çizgisi" -#: ../python/frescobaldi_app/mainapp.py:658 +#: ../python/frescobaldi_app/mainapp.py:668 msgid "Dashed bar line" msgstr "Kesik ölçü çizgisi" -#: ../python/frescobaldi_app/mainapp.py:659 +#: ../python/frescobaldi_app/mainapp.py:669 msgid "Invisible bar line" msgstr "Görünmeyen ölçü çizgisi" -#: ../python/frescobaldi_app/mainapp.py:660 +#: ../python/frescobaldi_app/mainapp.py:670 msgid "Repeat start" msgstr "Tekrar başla" -#: ../python/frescobaldi_app/mainapp.py:661 +#: ../python/frescobaldi_app/mainapp.py:671 msgid "Repeat both" msgstr "Her ikisini de tekrarla" -#: ../python/frescobaldi_app/mainapp.py:662 +#: ../python/frescobaldi_app/mainapp.py:672 msgid "Repeat end" msgstr "Tekrar sonu" -#: ../python/frescobaldi_app/mainapp.py:663 +#: ../python/frescobaldi_app/mainapp.py:673 msgid "Tick bar line" msgstr "Tik ölçü çizgisi" -#: ../python/frescobaldi_app/mainapp.py:664 +#: ../python/frescobaldi_app/mainapp.py:674 msgid "Single bar line" msgstr "Tek ölçü çizgisi" -#: ../python/frescobaldi_app/mainapp.py:665 +#: ../python/frescobaldi_app/mainapp.py:675 msgid "Small-Wide-Small bar line" msgstr "Küçük-Geniş-Küçük ölçü çizgisi" -#: ../python/frescobaldi_app/mainapp.py:666 +#: ../python/frescobaldi_app/mainapp.py:676 msgid "Wide-Small bar line" msgstr "Geniş-Küçük ölçü çizgisi" -#: ../python/frescobaldi_app/mainapp.py:667 +#: ../python/frescobaldi_app/mainapp.py:677 msgid "Double wide bar line" msgstr "Çift geniş ölçü çizgisi" -#: ../python/frescobaldi_app/mainapp.py:668 +#: ../python/frescobaldi_app/mainapp.py:678 msgid "Repeat both (old)" msgstr "Her ikisini de tekrarla (eski)" -#: ../python/frescobaldi_app/mainapp.py:669 +#: ../python/frescobaldi_app/mainapp.py:679 msgid "Repeat both (classic)" msgstr "Her ikisini de tekrarla (klasik)" -#: ../python/frescobaldi_app/mainapp.py:681 +#: ../python/frescobaldi_app/mainapp.py:691 msgid "Remove hyphenation" msgstr "Tirelemeyi kaldır" -#: ../python/frescobaldi_app/mainapp.py:686 +#: ../python/frescobaldi_app/mainapp.py:695 +msgid "Copy Lyrics with hyphenation removed" +msgstr "Şarkı Sözlerini tirelemeler kaldırılmış şekilde kopyalayın" + +#: ../python/frescobaldi_app/mainapp.py:700 msgid "Single Quote" msgstr "Tek Tırnak" -#: ../python/frescobaldi_app/mainapp.py:690 +#: ../python/frescobaldi_app/mainapp.py:704 msgid "Double Quote" msgstr "Çift Tırnak" -#: ../python/frescobaldi_app/mainapp.py:694 +#: ../python/frescobaldi_app/mainapp.py:708 msgid "Align" msgstr "Yasla" -#: ../python/frescobaldi_app/mainapp.py:698 +#: ../python/frescobaldi_app/mainapp.py:712 msgid "Insert LilyPond version" msgstr "LilyPond Sürümünü ekle" -#: ../python/frescobaldi_app/mainapp.py:703 +#: ../python/frescobaldi_app/mainapp.py:717 msgid "Update with convert-ly" msgstr "convert-ly ile Güncelle" -#: ../python/frescobaldi_app/mainapp.py:708 +#: ../python/frescobaldi_app/mainapp.py:722 msgid "Open Current Folder" msgstr "Yürürlükteki Dosyayı Aç" -#: ../python/frescobaldi_app/mainapp.py:722 +#: ../python/frescobaldi_app/mainapp.py:737 msgid "Repeat selected music" msgstr "Seçilen müziği tekrarla" -#: ../python/frescobaldi_app/mainapp.py:728 +#: ../python/frescobaldi_app/mainapp.py:743 msgid "Insert pair of braces" msgstr "Bir çift yan kaplama çizgisi ekle" -#: ../python/frescobaldi_app/mainapp.py:776 +#: ../python/frescobaldi_app/mainapp.py:794 +msgid "Can't process document" +msgstr "Belgeyi işleyemiyor" + +#: ../python/frescobaldi_app/mainapp.py:799 +msgid "Your document has been modified, please save first." +msgstr "Belgeniz değiştirildi, lütfen önce kaydediniz." + +#: ../python/frescobaldi_app/mainapp.py:824 +msgid "There is already a LilyPond job running for this document." +msgstr "Bu belge için yürütülmekte olan bir LilyPond görevi bulunmaktadır." + +#: ../python/frescobaldi_app/mainapp.py:860 msgid "Abort the running LilyPond process" msgstr "Sürmekte olan LilyPond süreçlerini durdurunuz." -#: ../python/frescobaldi_app/mainapp.py:779 -msgid "Run LilyPond in preview mode" -msgstr "LilyPond'u önizleme kipinde çalıştır" +#: ../python/frescobaldi_app/mainapp.py:863 +msgid "Run LilyPond in preview mode (Shift-click for custom dialog)" +msgstr "LilyPond'u önizleme kipinde çalıştır (Shift-klik kısayolu ile)" -#: ../python/frescobaldi_app/mainapp.py:796 +#: ../python/frescobaldi_app/mainapp.py:872 +#: ../python/frescobaldi_app/mainapp.py:1088 +msgid "Quick Insert" +msgstr "Hızılı Ekle" + +#: ../python/frescobaldi_app/mainapp.py:882 msgid "Apply Rhythm" msgstr "Ritm uygula" -#: ../python/frescobaldi_app/mainapp.py:804 +#: ../python/frescobaldi_app/mainapp.py:890 msgid "Enter a rhythm:" msgstr "Bir ritm giriniz:" -#: ../python/frescobaldi_app/mainapp.py:807 +#: ../python/frescobaldi_app/mainapp.py:893 msgid "Enter a rhythm using space separated duration values (e.g. 8. 16 8 4 8)" msgstr "" "Süre değerlerine göre boşluk bırakarak bir ritm girin (örn. 8. 16 8 4 8)" -#: ../python/frescobaldi_app/mainapp.py:862 +#: ../python/frescobaldi_app/mainapp.py:917 msgid "Terminal" msgstr "Konsol" -#: ../python/frescobaldi_app/mainapp.py:900 +#: ../python/frescobaldi_app/mainapp.py:948 msgid "S&ynchronize Terminal with Current Document" msgstr "Yürürlükteki& Belge ile Konsolu Senkronize Ediniz." -#: ../python/frescobaldi_app/mainapp.py:921 -#: ../python/frescobaldi_app/runlily.py:629 +#: ../python/frescobaldi_app/mainapp.py:969 +#: ../python/frescobaldi_app/runlily.py:783 msgid "PDF Preview" msgstr "PDF Önizleme" -#: ../python/frescobaldi_app/mainapp.py:950 +#: ../python/frescobaldi_app/mainapp.py:1026 msgid "Show PDF Navigation Panel" msgstr "PDF Görüntülenme Çubuğunu Göster" -#: ../python/frescobaldi_app/mainapp.py:951 +#: ../python/frescobaldi_app/mainapp.py:1027 msgid "Show PDF minipager" msgstr "PDF göstericiyi görüntüle" -#: ../python/frescobaldi_app/mainapp.py:952 +#: ../python/frescobaldi_app/mainapp.py:1028 msgid "Configure Okular..." msgstr "Okular uygulamasını yapılandır..." -#: ../python/frescobaldi_app/mainapp.py:955 +#: ../python/frescobaldi_app/mainapp.py:1031 msgid "S&ynchronize Preview with Current Document" msgstr "Yürürlükteki& Belge ile Önizlemeyi Senkronize Ediniz." -#: ../python/frescobaldi_app/mainapp.py:956 -#, fuzzy +#: ../python/frescobaldi_app/mainapp.py:1032 msgid "Reload" -msgstr "Kayıt" +msgstr "Yeniden Yükle" -#: ../python/frescobaldi_app/mainapp.py:1024 -msgid "Quick Insert" -msgstr "Hızılı Ekle" - -#: ../python/frescobaldi_app/mainapp.py:1036 -#: ../python/frescobaldi_app/runlily.py:334 +#: ../python/frescobaldi_app/mainapp.py:1100 +#: ../python/frescobaldi_app/runlily.py:503 msgid "LilyPond Log" msgstr "LilyPond Günlüğü" -#: ../python/frescobaldi_app/mainapp.py:1040 +#: ../python/frescobaldi_app/mainapp.py:1104 msgid "no log" msgstr "log kaydı yok" -#: ../python/frescobaldi_app/mainapp.py:1079 +#: ../python/frescobaldi_app/mainapp.py:1141 msgid "Only show on errors" msgstr "Sadece hatalarda göster" -#: ../python/frescobaldi_app/mainapp.py:1103 +#: ../python/frescobaldi_app/mainapp.py:1165 msgid "Rumor" msgstr "Rumor" -#: ../python/frescobaldi_app/mainapp.py:1115 +#: ../python/frescobaldi_app/mainapp.py:1177 +#: ../python/frescobaldi_app/settings.py:297 msgid "LilyPond Documentation" msgstr "LilyPond Belgelendirmesi" -#: ../python/frescobaldi_app/rumor.py:72 +#: ../python/frescobaldi_app/rumor.py:73 msgid "" "The meter to use. Leave 'Auto' to let Frescobaldi determine the meter from " "the LilyPond document." @@ -1542,31 +1574,31 @@ "Kullanılacak ölçü. Frescobaldi'nin Lilypond belgesinden yola çıkarak ölçüyü " "belirlemesi için Otomatik ayarını olduğu gibi bırakın." -#: ../python/frescobaldi_app/rumor.py:79 +#: ../python/frescobaldi_app/rumor.py:80 msgid "Quantize:" msgstr "Quantize:" -#: ../python/frescobaldi_app/rumor.py:85 +#: ../python/frescobaldi_app/rumor.py:86 msgid "The shortest note duration to use." msgstr "Kullanılacak en kısa nota." -#: ../python/frescobaldi_app/rumor.py:90 +#: ../python/frescobaldi_app/rumor.py:91 msgid "Step" msgstr "Adım" -#: ../python/frescobaldi_app/rumor.py:92 +#: ../python/frescobaldi_app/rumor.py:93 msgid "Record LilyPond input note by note, without durations." msgstr "Lilypond girişini süreler olmadan nota nota kaydet," -#: ../python/frescobaldi_app/rumor.py:96 +#: ../python/frescobaldi_app/rumor.py:97 msgid "Mono" msgstr "Mono" -#: ../python/frescobaldi_app/rumor.py:98 +#: ../python/frescobaldi_app/rumor.py:99 msgid "Record monophonic input, without chords." msgstr "Akorlar olmadan tek sesli girişi kaydet." -#: ../python/frescobaldi_app/rumor.py:107 +#: ../python/frescobaldi_app/rumor.py:108 msgid "" "The number of accidentals. A negative number designates flats. Leave 'Auto' " "to let Frescobaldi determine the key signature from the LilyPond document." @@ -1575,23 +1607,23 @@ "Lilypond belgesinden yola çıkarak tonu ayarlaması için Otomatik seçeneğini " "olduğu gibi bırakın." -#: ../python/frescobaldi_app/rumor.py:113 +#: ../python/frescobaldi_app/rumor.py:114 msgid "Tempo:" msgstr "Hız:" -#: ../python/frescobaldi_app/rumor.py:116 +#: ../python/frescobaldi_app/rumor.py:117 msgid "Meter:" msgstr "Ölçü:" -#: ../python/frescobaldi_app/rumor.py:119 +#: ../python/frescobaldi_app/rumor.py:120 msgid "Key:" msgstr "Tonalite:" -#: ../python/frescobaldi_app/rumor.py:131 +#: ../python/frescobaldi_app/rumor.py:132 msgid "Configure..." msgstr "Yapılandır..." -#: ../python/frescobaldi_app/rumor.py:132 +#: ../python/frescobaldi_app/rumor.py:133 msgid "Adjust more settings, like MIDI input and output." msgstr "MIDI giriş ve çıkış gibi daha çok ayarı yapılandırın." @@ -1603,59 +1635,59 @@ msgid "Set these settings as default." msgstr "Bu ayarları öntanımlı olarak ayarlayın." -#: ../python/frescobaldi_app/rumor.py:148 +#: ../python/frescobaldi_app/rumor.py:147 msgid "Found rumor version %1." msgstr "Rumor sürümü bulundu %1." -#: ../python/frescobaldi_app/rumor.py:151 +#: ../python/frescobaldi_app/rumor.py:150 msgid "Could not find Rumor: %1" msgstr "Rumor bulunamadı: %1" -#: ../python/frescobaldi_app/rumor.py:165 +#: ../python/frescobaldi_app/rumor.py:164 msgid "Settings have been saved." msgstr "Ayarlar kaydedildi." -#: ../python/frescobaldi_app/rumor.py:316 +#: ../python/frescobaldi_app/rumor.py:315 msgid "Record" msgstr "Kayıt" -#: ../python/frescobaldi_app/rumor.py:318 +#: ../python/frescobaldi_app/rumor.py:317 msgid "Start or stop Rumor MIDI-recording." msgstr "Rumor' MIDI kaydını başlat veya durdur." -#: ../python/frescobaldi_app/rumor.py:334 +#: ../python/frescobaldi_app/rumor.py:333 msgid "Rumor is recording, press ESC to stop." msgstr "Rumor kaydediyor, durdurmak için ESC tuşuna basınız." -#: ../python/frescobaldi_app/rumor.py:360 +#: ../python/frescobaldi_app/rumor.py:359 msgid "Rumor stopped." msgstr "Rumor durduruldu." -#: ../python/frescobaldi_app/rumor.py:394 +#: ../python/frescobaldi_app/rumor.py:393 msgid "TiMidity" msgstr "TiMidity" -#: ../python/frescobaldi_app/rumor.py:395 +#: ../python/frescobaldi_app/rumor.py:394 msgid "Start or stop the TiMidity ALSA MIDI client." msgstr "TiMidity ALSA MIDI istemcisini başlat veya durdur." -#: ../python/frescobaldi_app/rumor.py:415 +#: ../python/frescobaldi_app/rumor.py:413 msgid "Rumor Settings" msgstr "Rumor Ayarları" -#: ../python/frescobaldi_app/rumor.py:423 +#: ../python/frescobaldi_app/rumor.py:421 msgid "OSS device %1" msgstr "OSS aygıtı %1" -#: ../python/frescobaldi_app/rumor.py:425 +#: ../python/frescobaldi_app/rumor.py:423 msgid "Keyboard" msgstr "Klavye" -#: ../python/frescobaldi_app/rumor.py:431 +#: ../python/frescobaldi_app/rumor.py:429 msgid "MIDI input:" msgstr "MIDI girişi:" -#: ../python/frescobaldi_app/rumor.py:435 +#: ../python/frescobaldi_app/rumor.py:433 msgid "" "MIDI input to use. Choose 'Keyboard' if you want to play on the keyboard of " "your computer." @@ -1663,78 +1695,78 @@ "Kullanılacak MIDI girişi. Eğer bilgisayarınızın klavyesinden çalmak " "istiyorsanız Klavye'yi seçin." -#: ../python/frescobaldi_app/rumor.py:441 +#: ../python/frescobaldi_app/rumor.py:439 msgid "MIDI output:" msgstr "MIDI çıkışı:" -#: ../python/frescobaldi_app/rumor.py:445 +#: ../python/frescobaldi_app/rumor.py:443 msgid "MIDI output to use." msgstr "Kullanılacak olan MIDI çıkışı." -#: ../python/frescobaldi_app/rumor.py:450 -#: ../python/frescobaldi_app/scorewiz/__init__.py:544 +#: ../python/frescobaldi_app/rumor.py:448 +#: ../python/frescobaldi_app/scorewiz/__init__.py:529 msgid "Language:" msgstr "Dil:" -#: ../python/frescobaldi_app/rumor.py:455 +#: ../python/frescobaldi_app/rumor.py:453 msgid "The LilyPond language you want Rumor to output the pitches in." msgstr "Rumor'un içindeki sesleri dışa aktaracağı Lilypond dili." -#: ../python/frescobaldi_app/rumor.py:463 +#: ../python/frescobaldi_app/rumor.py:461 msgid "Explicit durations" msgstr "Süreleri netleştir" -#: ../python/frescobaldi_app/rumor.py:465 +#: ../python/frescobaldi_app/rumor.py:463 msgid "" "Add a duration after every note, even if it is the same as the preceding " "note." msgstr "Bir öncekinin aynısı olsa bile her notadan sonra bir süre ekle." -#: ../python/frescobaldi_app/rumor.py:470 +#: ../python/frescobaldi_app/rumor.py:468 msgid "Absolute pitch" msgstr "Mutlak ses" -#: ../python/frescobaldi_app/rumor.py:472 +#: ../python/frescobaldi_app/rumor.py:470 msgid "Use absolute pitches instead of relative." msgstr "İlgili ses yerine mutlak sesleri kullan." -#: ../python/frescobaldi_app/rumor.py:478 +#: ../python/frescobaldi_app/rumor.py:476 msgid "No barlines" msgstr "Ölçü çizgisi yok" -#: ../python/frescobaldi_app/rumor.py:480 +#: ../python/frescobaldi_app/rumor.py:478 msgid "Filter the barlines out of Rumor's output." msgstr "Rumor'un çıkışından ölçü çizgisi çıktılarını filtrele." -#: ../python/frescobaldi_app/rumor.py:484 +#: ../python/frescobaldi_app/rumor.py:482 msgid "No dots" msgstr "Nokta yok" -#: ../python/frescobaldi_app/rumor.py:486 +#: ../python/frescobaldi_app/rumor.py:484 msgid "Do not use dotted notes, but ties instead." msgstr "Noktaları kullanmayıp onun yerine uzatma bağlarını kullanın." -#: ../python/frescobaldi_app/rumor.py:490 +#: ../python/frescobaldi_app/rumor.py:488 msgid "Legato" msgstr "Bağlı" -#: ../python/frescobaldi_app/rumor.py:491 +#: ../python/frescobaldi_app/rumor.py:489 msgid "Do not use rests, but give all notes the maximum length." msgstr "Susları kullanmayın, fakat tüm notalara maksimum uzunluk verin." -#: ../python/frescobaldi_app/rumor.py:496 +#: ../python/frescobaldi_app/rumor.py:494 msgid "Strip rests" msgstr "Susları çıkar" -#: ../python/frescobaldi_app/rumor.py:498 +#: ../python/frescobaldi_app/rumor.py:496 msgid "Strip leading and trialing rests from output." msgstr "Çıktıdan ilk ve son susları çıkar." -#: ../python/frescobaldi_app/rumor.py:502 +#: ../python/frescobaldi_app/rumor.py:500 msgid "Guile scripts to load:" msgstr "Yüklenecek Guile betikleri:" -#: ../python/frescobaldi_app/rumor.py:509 +#: ../python/frescobaldi_app/rumor.py:507 msgid "" "Here you can select which Guile scripts you want Rumor to load. Check " "\"What's this\" for more information." @@ -1742,7 +1774,7 @@ "Buradan Rumor'un yüklemesini istediğiniz Guile betiklerini seçebilirsiniz. " "Daha fazla bilgi için \"Bu Nedir\"i seçiniz." -#: ../python/frescobaldi_app/rumor.py:513 +#: ../python/frescobaldi_app/rumor.py:511 msgid "" "Here you can select which Guile scripts you want Rumor to load. You can add " "your own scripts by putting them in %1. If the first line of your script " @@ -1753,55 +1785,122 @@ "betiğinizin ilk satırı bir noktalı virgül ile (;) başlarsa, bu satır " "tanımlama olarak gösterilecektir." -#: ../python/frescobaldi_app/rumor.py:635 +#: ../python/frescobaldi_app/rumor.py:633 msgid "Auto" msgstr "Otomatik" -#: ../python/frescobaldi_app/runlily.py:88 +#: ../python/frescobaldi_app/runlily.py:101 msgid "preview mode" msgstr "önizleme kipi" -#: ../python/frescobaldi_app/runlily.py:88 +#: ../python/frescobaldi_app/runlily.py:101 msgid "publish mode" msgstr "yayınlama kipi" -#: ../python/frescobaldi_app/runlily.py:89 +#: ../python/frescobaldi_app/runlily.py:104 +msgid "LilyPond %1 [%2] starting (%3)..." +msgstr "LilyPond %1 [%2] başlıyor (%3)..." + +#: ../python/frescobaldi_app/runlily.py:107 msgid "LilyPond [%1] starting (%2)..." msgstr "LilyPond [%1] başlıyor (%2)..." -#: ../python/frescobaldi_app/runlily.py:95 +#: ../python/frescobaldi_app/runlily.py:131 msgid "LilyPond [%1] exited with return code %2." msgstr "LilyPond [%1] dönüş koduyla çıktı %2." -#: ../python/frescobaldi_app/runlily.py:98 +#: ../python/frescobaldi_app/runlily.py:134 msgid "LilyPond [%1] exited with exit status %2." msgstr "LilyPond [%1] dönüş koduyla çıktı %2." -#: ../python/frescobaldi_app/runlily.py:107 +#: ../python/frescobaldi_app/runlily.py:140 msgid "LilyPond [%1] finished (%2)." msgstr "LilyPond [%1] tamamlandı (%2)." -#: ../python/frescobaldi_app/runlily.py:115 +#: ../python/frescobaldi_app/runlily.py:150 msgid "Could not start LilyPond. Please check path and permissions." msgstr "LilyPond başlayamıyor. Lütfen yolu ve izinleri denetleyiniz." -#: ../python/frescobaldi_app/runlily.py:118 +#: ../python/frescobaldi_app/runlily.py:153 msgid "Could not read from the LilyPond process." msgstr "Lilypond işlemi okunamadı" -#: ../python/frescobaldi_app/runlily.py:121 +#: ../python/frescobaldi_app/runlily.py:156 msgid "An unknown error occured." msgstr "Bilinmeyen bir hata meydana geldi." -#: ../python/frescobaldi_app/runlily.py:323 +#: ../python/frescobaldi_app/runlily.py:229 +#: ../python/frescobaldi_app/runlily.py:232 +msgid "Run LilyPond" +msgstr "LilyPond'u Çalıştır" + +#: ../python/frescobaldi_app/runlily.py:239 +msgid "Select which LilyPond version you want to run:" +msgstr "Çalıştırmak istediğiniz LilyPond sürümünü seçiniz:" + +#: ../python/frescobaldi_app/runlily.py:247 +msgid "Run LilyPond in preview mode (with Point and Click)" +msgstr "LilyPond'u önizleme kipinde çalıştır (İşaretle ve Tıkla ile)" + +#: ../python/frescobaldi_app/runlily.py:250 +#: ../python/frescobaldi_app/settings.py:150 +msgid "Run LilyPond with verbose output" +msgstr "LilyPond'u önizleme kipinde çalıştır" + +#: ../python/frescobaldi_app/runlily.py:292 +msgid "Command" +msgstr "Komut" + +#: ../python/frescobaldi_app/runlily.py:299 +msgid "LilyPond %1" +msgstr "LilyPond %1" + +#: ../python/frescobaldi_app/runlily.py:300 +msgid "Use LilyPond version %1" +msgstr "LilyPond sürüm numarasını kullan %1" + +#: ../python/frescobaldi_app/runlily.py:303 +#: ../python/frescobaldi_app/settings.py:601 +msgid "default" +msgstr "öntanımlı" + +#: ../python/frescobaldi_app/runlily.py:304 +msgid "Default LilyPond Version." +msgstr "Varsayılan LilyPond Sürüm Numarası." + +#: ../python/frescobaldi_app/runlily.py:306 +msgid "automatic" +msgstr "otomatik" + +#: ../python/frescobaldi_app/runlily.py:307 +msgid "Automatic LilyPond Version (determined from document)." +msgstr "Otomatik LilyPond Sürümü (belgeden sağlanan)." + +#: ../python/frescobaldi_app/runlily.py:312 +msgid "Path: %1" +msgstr "Yol: %1" + +#: ../python/frescobaldi_app/runlily.py:316 +msgid "LilyPond (version unknown)" +msgstr "LilyPond (sürüm no bilinmeyen)" + +#: ../python/frescobaldi_app/runlily.py:317 +msgid "" +"Use LilyPond (version unknown)\n" +"Path: %1" +msgstr "" +"LilyPond kullan (sürüm numarası bilinmeyen)\n" +"Yol: %1" + +#: ../python/frescobaldi_app/runlily.py:491 msgid "Click to edit this file" msgstr "Bu dosyayı düzenlemek için tıklayınız." -#: ../python/frescobaldi_app/runlily.py:355 +#: ../python/frescobaldi_app/runlily.py:524 msgid "Save LilyPond Log as" msgstr "LilyPond hata mesajları belgesini kaydet" -#: ../python/frescobaldi_app/runlily.py:392 +#: ../python/frescobaldi_app/runlily.py:540 msgid "" "Could not save LilyPond log:\n" "\n" @@ -1811,108 +1910,96 @@ "\n" "%1" -#: ../python/frescobaldi_app/settings.py:49 +#: ../python/frescobaldi_app/settings.py:54 msgid "Configure" msgstr "Yapılandır" -#: ../python/frescobaldi_app/settings.py:104 +#: ../python/frescobaldi_app/settings.py:110 msgid "Editor Component" msgstr "Düzenleyici Bileşeni" -#: ../python/frescobaldi_app/settings.py:105 +#: ../python/frescobaldi_app/settings.py:111 msgid "Editor Component Options" msgstr "Düzenleyini Bileşeni Seçenekleri" -#: ../python/frescobaldi_app/settings.py:134 +#: ../python/frescobaldi_app/settings.py:140 msgid "General Preferences" msgstr "Genel Tercihler" -#: ../python/frescobaldi_app/settings.py:135 +#: ../python/frescobaldi_app/settings.py:141 msgid "General Frescobaldi Preferences" msgstr "Genel Frescobaldi Tercihleri" -#: ../python/frescobaldi_app/settings.py:140 +#: ../python/frescobaldi_app/settings.py:146 msgid "Save document when LilyPond is run" msgstr "Lilypond çalışırken belgeleri kaydet" -#: ../python/frescobaldi_app/settings.py:142 +#: ../python/frescobaldi_app/settings.py:148 msgid "Let LilyPond delete intermediate output files" msgstr "LilyPond'un ara çıktı dosyalarını silmesine izin ver" -#: ../python/frescobaldi_app/settings.py:144 -msgid "Run LilyPond with verbose output" -msgstr "LilyPond'u önizleme kipinde çalıştır" - -#: ../python/frescobaldi_app/settings.py:146 +#: ../python/frescobaldi_app/settings.py:152 msgid "Remember cursor position, bookmarks, etc." msgstr "İmleç konumunu, yer imlerini, ve bunun gibi öğeleri hatırla." -#: ../python/frescobaldi_app/settings.py:148 +#: ../python/frescobaldi_app/settings.py:154 msgid "Disable the built-in PDF preview" msgstr "Yerleşik PDF önizlemeyi devre dışı bırak." -#: ../python/frescobaldi_app/settings.py:165 +#: ../python/frescobaldi_app/settings.py:170 msgid "LilyPond version number to use for new documents" msgstr "Bu belge için kullanacak olduğunuz Lilypond sürüm numarası:" -#: ../python/frescobaldi_app/settings.py:167 +#: ../python/frescobaldi_app/settings.py:172 msgid "Use version number of installed LilyPond" msgstr "Yüklü LilyPond'un sürüm numarasını kullan" -#: ../python/frescobaldi_app/settings.py:168 +#: ../python/frescobaldi_app/settings.py:173 msgid "Use version number of last convert-ly rule" msgstr "Son convert-ly kuralının sürüm numarasını kullan" -#: ../python/frescobaldi_app/settings.py:169 +#: ../python/frescobaldi_app/settings.py:174 msgid "Use custom version number:" msgstr "Güncel sürüm numarasını kullan:" -#: ../python/frescobaldi_app/settings.py:175 +#: ../python/frescobaldi_app/settings.py:179 msgid "Enter a valid LilyPond version number, e.g. 2.12.0" msgstr "Geçerli bir LilyPond sürüm numarası girin, 2.12.0 gibi" -#: ../python/frescobaldi_app/settings.py:233 +#: ../python/frescobaldi_app/settings.py:234 msgid "Paths" msgstr "Yollar" -#: ../python/frescobaldi_app/settings.py:234 +#: ../python/frescobaldi_app/settings.py:235 msgid "Paths to programs or data used by Frescobaldi" msgstr "Frescobaldi'nin kullanacağı program veya verilerin yolları" -#: ../python/frescobaldi_app/settings.py:244 -msgid "Name or full path of the LilyPond program." -msgstr "Lilypond programının tam yolunun adı." - -#: ../python/frescobaldi_app/settings.py:246 -msgid "Name or full path of the convert-ly program." -msgstr "Convert-ly programının tam yolunun adı." - -#: ../python/frescobaldi_app/settings.py:247 +#: ../python/frescobaldi_app/settings.py:249 msgid "PDF Viewer:" msgstr "PDF Görüntüleyici:" -#: ../python/frescobaldi_app/settings.py:248 +#: ../python/frescobaldi_app/settings.py:250 msgid "PDF Viewer" msgstr "PDF Görüntüleyici" -#: ../python/frescobaldi_app/settings.py:249 -#: ../python/frescobaldi_app/settings.py:252 +#: ../python/frescobaldi_app/settings.py:251 +#: ../python/frescobaldi_app/settings.py:254 msgid "(leave empty for operating system default)" msgstr "" -#: ../python/frescobaldi_app/settings.py:250 +#: ../python/frescobaldi_app/settings.py:252 msgid "MIDI Player:" msgstr "MIDI Çalıcı:" -#: ../python/frescobaldi_app/settings.py:251 +#: ../python/frescobaldi_app/settings.py:253 msgid "MIDI Player" msgstr "MIDI Çalıcı" -#: ../python/frescobaldi_app/settings.py:253 +#: ../python/frescobaldi_app/settings.py:255 msgid "Printcommand:" msgstr "Yazdırma komutu:" -#: ../python/frescobaldi_app/settings.py:254 +#: ../python/frescobaldi_app/settings.py:256 msgid "" "Command to print a PDF file, for example lpr or kprinter. You may add some " "arguments, e.g. lpr -P myprinter." @@ -1920,23 +2007,23 @@ "Bir PDF dosyasını yazdırma komutu, örneğin lpr veya kprinter. Bu komutlara " "lpr -P yazıcım gibi değerler eklemek de mümkündür." -#: ../python/frescobaldi_app/settings.py:270 +#: ../python/frescobaldi_app/settings.py:272 msgid "Default directory:" msgstr "Öntanımlı dizin:" -#: ../python/frescobaldi_app/settings.py:275 +#: ../python/frescobaldi_app/settings.py:277 msgid "The default folder for your LilyPond documents (optional)." msgstr "LilyPond belgelerinizin öntanımlı dizini (opsiyonel)." -#: ../python/frescobaldi_app/settings.py:287 +#: ../python/frescobaldi_app/settings.py:288 msgid "LilyPond documentation:" msgstr "LilyPond belgelendirmesi:" -#: ../python/frescobaldi_app/settings.py:292 +#: ../python/frescobaldi_app/settings.py:294 msgid "Url or path to the LilyPond documentation." msgstr "Lilypond belgelerinin Url adresi veya tam yolu." -#: ../python/frescobaldi_app/settings.py:304 +#: ../python/frescobaldi_app/settings.py:305 msgid "" "Paths to search for hyphenation dictionaries of OpenOffice.org, Scribus, " "KOffice, etc, one per line. If you leave out the starting slash, the " @@ -1946,23 +2033,23 @@ "sözlüklerini arama yolları. Eğer başlangıç eğri çizgisini çıkarırsanız, " "KDEDIRS ortam değişkenlerinin önekleri kendiliğinden eklenir." -#: ../python/frescobaldi_app/settings.py:363 +#: ../python/frescobaldi_app/settings.py:366 msgid "Rumor MIDI input" msgstr "Rumor MIDI girişi" -#: ../python/frescobaldi_app/settings.py:364 +#: ../python/frescobaldi_app/settings.py:367 msgid "Rumor MIDI input plugin settings" msgstr "Rumor MIDI girişi eklentisi ayarları" -#: ../python/frescobaldi_app/settings.py:369 +#: ../python/frescobaldi_app/settings.py:372 msgid "Commands used by the Rumor MIDI input module" msgstr "Rumor MIDI giriş modülünde kullanılan komutlar" -#: ../python/frescobaldi_app/settings.py:376 +#: ../python/frescobaldi_app/settings.py:379 msgid "Name or full path of the Rumor program." msgstr "Rumor programının tam yolunun adı." -#: ../python/frescobaldi_app/settings.py:378 +#: ../python/frescobaldi_app/settings.py:381 msgid "" "Name or full path of the aconnect program (part of ALSA, for MIDI input and " "playback using Rumor)." @@ -1970,30 +2057,80 @@ "Programa bağlanmanın adı veya tam yolu (ALSA'nın bir parçası, MIDI girişi ve " "Rumor'u kullanarak çalmak için)" -#: ../python/frescobaldi_app/settings.py:382 +#: ../python/frescobaldi_app/settings.py:385 msgid "" "Full command to start Timidity (or any other program) as an ALSA MIDI client." msgstr "" "ALSA MIDI istemcisi olarak Timidity (veya bir diğer başka programı) " "başlatmanın tam komutu." -#: ../python/frescobaldi_app/version.py:55 +#: ../python/frescobaldi_app/settings.py:421 +msgid "LilyPond versions to use:" +msgstr "Kullanılacak LilyPond sürümleri:" + +#: ../python/frescobaldi_app/settings.py:432 +msgid "" +"Enable automatic version selection (choose LilyPond version from document)" +msgstr "" +"Otomatik sürüm seçimini etkinleştirin (Belgeden LilyPond sürümünü seçin)" + +#: ../python/frescobaldi_app/settings.py:558 +msgid "Convert-ly:" +msgstr "Convert-ly:" + +#: ../python/frescobaldi_app/settings.py:559 +msgid "Lilypond-book:" +msgstr "LilyPond-book:" + +#: ../python/frescobaldi_app/settings.py:595 +msgid "Path" +msgstr "Yol" + +#: ../python/frescobaldi_app/settings.py:596 +msgid "Version" +msgstr "Sürüm" + +#: ../python/frescobaldi_app/settings.py:599 +msgid "Can't determine LilyPond version." +msgstr "LilyPond sürümü tanımlanamıyor." + +#: ../python/frescobaldi_app/settings.py:624 +msgid "LilyPond Command:" +msgstr "LilyPond Komutu:" + +#: ../python/frescobaldi_app/settings.py:628 +msgid "Name or full path of the LilyPond program." +msgstr "Lilypond programının tam yolunun adı." + +#: ../python/frescobaldi_app/settings.py:629 +msgid "LilyPond Command" +msgstr "LilyPond Komutu" + +#: ../python/frescobaldi_app/settings.py:642 +msgid "Set as default" +msgstr "Öntanımlı olarak ayarlayın" + +#: ../python/frescobaldi_app/settings.py:644 +msgid "Include in automatic version selection" +msgstr "Otomatik sürüm seçimini içersin" + +#: ../python/frescobaldi_app/version.py:61 msgid "Your document has already a LilyPond version statement." msgstr "Belgenizde zaten Lilypond sürüm bildirimi var." -#: ../python/frescobaldi_app/version.py:56 +#: ../python/frescobaldi_app/version.py:62 msgid "Version already set" msgstr "Sürüm numarası ayarlanmış durumda" -#: ../python/frescobaldi_app/version.py:64 -#: ../python/frescobaldi_app/version.py:82 +#: ../python/frescobaldi_app/version.py:70 +#: ../python/frescobaldi_app/version.py:88 msgid "" "Can't determine the version of LilyPond. Please check your LilyPond " "installation." msgstr "" "Lilypond sürümü belirli değil. Lütfen, Lilypond kurulumunuzu denetleyin." -#: ../python/frescobaldi_app/version.py:78 +#: ../python/frescobaldi_app/version.py:84 msgid "" "Can't determine the LilyPond version of the current document. Please add a " "\\version statement with the correct version." @@ -2001,11 +2138,11 @@ "Bu dosyada Lilypond sürüm belirteci bulunmuyor. Lütfen, \\version " "belirtecini doğru sürüm numarasını kullanarak ekleyiniz." -#: ../python/frescobaldi_app/version.py:86 +#: ../python/frescobaldi_app/version.py:92 msgid "This LilyPond document is already up-to-date." msgstr "Bu Lilypond belgesi zaten güncel." -#: ../python/frescobaldi_app/version.py:100 +#: ../python/frescobaldi_app/version.py:105 msgid "" "The document has been processed with convert-ly. You'll find the messages of " "convert-ly in a comment block at the end. You still may have to edit some " @@ -2014,7 +2151,7 @@ "Bu belge convert-ly ile işlenmiş. Convert-ly mesajlarını sondaki yorum " "bloğunda bulacaksınız. Bazı kısımları yine de elle düzenlemeniz gerekebilir." -#: ../python/frescobaldi_app/version.py:106 +#: ../python/frescobaldi_app/version.py:111 msgid "" "The document has been processed with convert-ly, but remained unchanged. " "This is the message given by convert-ly: %1" @@ -2022,184 +2159,184 @@ "Belge, convert-ly ile işlenmiş, ancak değiştirilmeden kalmış. Bu ileti " "convert-ly tarafından hazırlanmıştır: %1" -#: ../python/frescobaldi_app/version.py:111 +#: ../python/frescobaldi_app/version.py:116 msgid "Could not start convert-ly: %1" msgstr "convert-ly başlatılamadı: %1" -#: ../python/frescobaldi_app/widgets.py:46 +#: ../python/frescobaldi_app/widgets.py:47 msgid "Tap" msgstr "Tıkla" -#: ../python/frescobaldi_app/widgets.py:52 +#: ../python/frescobaldi_app/widgets.py:53 msgid "Click this button a few times to set the tempo." msgstr "Hızı ayarlamak için bu düğmeye bir kaç kez tıklayınız." -#: ../python/frescobaldi_app/widgets.py:178 +#: ../python/frescobaldi_app/widgets.py:179 msgid "The tempo in beats per minute." msgstr "Dakika başına göre vuruşların hızı." -#: ../python/frescobaldi_app/widgets.py:290 +#: ../python/frescobaldi_app/widgets.py:288 msgid "Treble" msgstr "Tiz - Sol anahtarı" -#: ../python/frescobaldi_app/widgets.py:291 -#: ../python/frescobaldi_app/scorewiz/parts.py:809 +#: ../python/frescobaldi_app/widgets.py:289 +#: ../python/frescobaldi_app/scorewiz/parts.py:812 msgid "Alto" msgstr "Alto" -#: ../python/frescobaldi_app/widgets.py:292 -#: ../python/frescobaldi_app/scorewiz/parts.py:815 +#: ../python/frescobaldi_app/widgets.py:290 +#: ../python/frescobaldi_app/scorewiz/parts.py:818 msgid "Tenor" msgstr "Tenor" -#: ../python/frescobaldi_app/widgets.py:293 +#: ../python/frescobaldi_app/widgets.py:291 msgid "Treble 8" msgstr "Sekizli Yukarı" -#: ../python/frescobaldi_app/widgets.py:294 -#: ../python/frescobaldi_app/scorewiz/parts.py:585 -#: ../python/frescobaldi_app/scorewiz/parts.py:822 +#: ../python/frescobaldi_app/widgets.py:292 +#: ../python/frescobaldi_app/scorewiz/parts.py:588 +#: ../python/frescobaldi_app/scorewiz/parts.py:825 msgid "Bass" msgstr "Bass" -#: ../python/frescobaldi_app/widgets.py:295 -#: ../python/frescobaldi_app/scorewiz/parts.py:1402 +#: ../python/frescobaldi_app/widgets.py:293 +#: ../python/frescobaldi_app/scorewiz/parts.py:1512 msgid "Percussion" msgstr "Vurmalı Çalgılar" -#: ../python/frescobaldi_app/widgets.py:298 +#: ../python/frescobaldi_app/widgets.py:296 msgid "Tab clef" msgstr "Tab anahtarı" -#: ../python/frescobaldi_app/widgets.py:300 +#: ../python/frescobaldi_app/widgets.py:298 msgid "No Clef" msgstr "Anahtar yok" -#: ../python/frescobaldi_app/scorewiz/__init__.py:68 +#: ../python/frescobaldi_app/scorewiz/__init__.py:62 msgid "Score Setup Wizard" msgstr "Partisyon Yapılandırma Sihirbazı" -#: ../python/frescobaldi_app/scorewiz/__init__.py:137 +#: ../python/frescobaldi_app/scorewiz/__init__.py:133 msgid "Titles and Headers" msgstr "Başlık isimleri ve Başlıklar" -#: ../python/frescobaldi_app/scorewiz/__init__.py:155 +#: ../python/frescobaldi_app/scorewiz/__init__.py:151 msgid "Click to enter a value." msgstr "Bir değer girmek için tıklayınız." -#: ../python/frescobaldi_app/scorewiz/__init__.py:157 +#: ../python/frescobaldi_app/scorewiz/__init__.py:153 msgid "bottom of first page" msgstr "ilk sayfanın altı" -#: ../python/frescobaldi_app/scorewiz/__init__.py:158 +#: ../python/frescobaldi_app/scorewiz/__init__.py:154 msgid "bottom of last page" msgstr "son sayfanın altı" -#: ../python/frescobaldi_app/scorewiz/__init__.py:201 +#: ../python/frescobaldi_app/scorewiz/__init__.py:194 msgid "Parts" msgstr "Partiler" -#: ../python/frescobaldi_app/scorewiz/__init__.py:206 +#: ../python/frescobaldi_app/scorewiz/__init__.py:199 msgid "Available parts:" msgstr "Uygun partiler:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:209 +#: ../python/frescobaldi_app/scorewiz/__init__.py:202 msgid "Add selected part to your score." msgstr "Seçili partiyi partisyonunuza ekleyin." -#: ../python/frescobaldi_app/scorewiz/__init__.py:214 +#: ../python/frescobaldi_app/scorewiz/__init__.py:207 msgid "Score:" msgstr "Partisyon:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:348 -#: ../python/frescobaldi_app/scorewiz/__init__.py:353 +#: ../python/frescobaldi_app/scorewiz/__init__.py:341 +#: ../python/frescobaldi_app/scorewiz/__init__.py:346 msgid "Score settings" msgstr "Partisyon ayarları" -#: ../python/frescobaldi_app/scorewiz/__init__.py:360 +#: ../python/frescobaldi_app/scorewiz/__init__.py:353 msgid "General preferences" msgstr "Genel tercihler" -#: ../python/frescobaldi_app/scorewiz/__init__.py:362 +#: ../python/frescobaldi_app/scorewiz/__init__.py:355 msgid "Instrument names" msgstr "Çalgı isimleri" -#: ../python/frescobaldi_app/scorewiz/__init__.py:369 +#: ../python/frescobaldi_app/scorewiz/__init__.py:362 msgid "Key signature:" msgstr "Donanım:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:377 +#: ../python/frescobaldi_app/scorewiz/__init__.py:370 msgid "Time signature:" msgstr "Ölçü birimi:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:393 +#: ../python/frescobaldi_app/scorewiz/__init__.py:386 msgid "Pickup measure:" msgstr "Önel ölçüsü:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:405 +#: ../python/frescobaldi_app/scorewiz/__init__.py:398 msgid "Metronome mark:" msgstr "Metronom işareti:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:434 +#: ../python/frescobaldi_app/scorewiz/__init__.py:427 msgid "Tempo indication:" msgstr "Hız belirteci:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:438 +#: ../python/frescobaldi_app/scorewiz/__init__.py:431 msgid "A tempo indication, e.g. \"Allegro.\"" msgstr "Bir hız belirteci, örneğin \"Allegro.\"" -#: ../python/frescobaldi_app/scorewiz/__init__.py:444 +#: ../python/frescobaldi_app/scorewiz/__init__.py:437 msgid "Pitch name language:" msgstr "Ses adı dili:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:452 +#: ../python/frescobaldi_app/scorewiz/__init__.py:445 msgid "The LilyPond language you want to use for the pitch names." msgstr "Ses bölgesi adları için kullanmak istediğiniz LilyPond dili." -#: ../python/frescobaldi_app/scorewiz/__init__.py:469 +#: ../python/frescobaldi_app/scorewiz/__init__.py:451 msgid "Version:" msgstr "Sürüm:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:478 +#: ../python/frescobaldi_app/scorewiz/__init__.py:460 msgid "The LilyPond version you will be using for this document." msgstr "Bu belge için kullanacağınız Lilypond sürüm numarası:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:482 +#: ../python/frescobaldi_app/scorewiz/__init__.py:464 msgid "Use typographical quotes" msgstr "Tipografik tırnak işaretini kullan" -#: ../python/frescobaldi_app/scorewiz/__init__.py:484 +#: ../python/frescobaldi_app/scorewiz/__init__.py:466 msgid "Replace normal quotes in titles with nice typographical quotes." msgstr "" "Başlıklardaki normal tırnak işaretlerini güzel tipografik tırnaklarla " "değiştir." -#: ../python/frescobaldi_app/scorewiz/__init__.py:488 +#: ../python/frescobaldi_app/scorewiz/__init__.py:470 msgid "Suppress the default tagline output by LilyPond." msgstr "Lilypond'un öntanımlı slogan çıktısını gösterme." -#: ../python/frescobaldi_app/scorewiz/__init__.py:490 +#: ../python/frescobaldi_app/scorewiz/__init__.py:472 msgid "Remove bar numbers" msgstr "Ölçü numaralarını kaldır" -#: ../python/frescobaldi_app/scorewiz/__init__.py:492 +#: ../python/frescobaldi_app/scorewiz/__init__.py:474 msgid "" "Suppress the display of measure numbers at the beginning of every system." msgstr "Her satırdaki ölçü işaretlerinin gösterilmesini önle." -#: ../python/frescobaldi_app/scorewiz/__init__.py:495 +#: ../python/frescobaldi_app/scorewiz/__init__.py:477 msgid "Create MIDI output" msgstr "MIDI çıktısı oluştur" -#: ../python/frescobaldi_app/scorewiz/__init__.py:497 +#: ../python/frescobaldi_app/scorewiz/__init__.py:479 msgid "Create a MIDI file in addition to the PDF file." msgstr "PDF dosyasıyla birlikte MIDI dosyası da oluştur." -#: ../python/frescobaldi_app/scorewiz/__init__.py:499 +#: ../python/frescobaldi_app/scorewiz/__init__.py:481 msgid "Show metronome mark" msgstr "Metronom işaretini göster" -#: ../python/frescobaldi_app/scorewiz/__init__.py:501 +#: ../python/frescobaldi_app/scorewiz/__init__.py:483 msgid "" "If checked, show the metronome mark at the beginning of the score. The MIDI " "output also uses the metronome setting." @@ -2207,152 +2344,160 @@ "Eğer işaretlenmişse, notanın başında metronom işaretini göster. MIDI çıktısı " "da metronom ayarını kullanacaktır böylece." -#: ../python/frescobaldi_app/scorewiz/__init__.py:512 +#: ../python/frescobaldi_app/scorewiz/__init__.py:487 +msgid "Wrap score in \\book block" +msgstr "\\book bloğundaki nota bölgesini seçin" + +#: ../python/frescobaldi_app/scorewiz/__init__.py:489 +msgid "If checked, wraps the \\score block inside a \\book block." +msgstr "Eğer işaretlenmişse, \\score bloğunu \\book bloğuna yerleştirir." + +#: ../python/frescobaldi_app/scorewiz/__init__.py:499 msgid "Landscape" msgstr "Yatay" -#: ../python/frescobaldi_app/scorewiz/__init__.py:526 +#: ../python/frescobaldi_app/scorewiz/__init__.py:511 msgid "First system:" msgstr "İlk satır:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:529 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/scorewiz/__init__.py:514 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "Long" msgstr "Uzun" -#: ../python/frescobaldi_app/scorewiz/__init__.py:529 -#: ../python/frescobaldi_app/scorewiz/__init__.py:538 +#: ../python/frescobaldi_app/scorewiz/__init__.py:514 +#: ../python/frescobaldi_app/scorewiz/__init__.py:523 msgid "Short" msgstr "Kısa" -#: ../python/frescobaldi_app/scorewiz/__init__.py:531 +#: ../python/frescobaldi_app/scorewiz/__init__.py:516 msgid "Use long or short instrument names before the first system." msgstr "İlk satırdan önce uzun ve kısa çalgı isimlerini kullan." -#: ../python/frescobaldi_app/scorewiz/__init__.py:535 +#: ../python/frescobaldi_app/scorewiz/__init__.py:520 msgid "Other systems:" msgstr "Diğer satırlar:" -#: ../python/frescobaldi_app/scorewiz/__init__.py:540 +#: ../python/frescobaldi_app/scorewiz/__init__.py:525 msgid "Use short, long or no instrument names before the next systems." msgstr "Sonraki satırda kısa, uzun veya hiç çalgı isimleri kullanmayınız." -#: ../python/frescobaldi_app/scorewiz/__init__.py:548 +#: ../python/frescobaldi_app/scorewiz/__init__.py:533 msgid "Which language to use for the instrument names." msgstr "Çalgı isimleri için hangi dili kullanmayı istersiniz." -#: ../python/frescobaldi_app/scorewiz/__init__.py:726 +#: ../python/frescobaldi_app/scorewiz/__init__.py:736 msgid "Remove default LilyPond tagline" msgstr "Öntanımlı Lilypond sloganını kaldır" -#: ../python/frescobaldi_app/scorewiz/__init__.py:1040 +#: ../python/frescobaldi_app/scorewiz/__init__.py:1077 msgid "No settings available." msgstr "Hiç bir ayarlama yapılamaz." -#: ../python/frescobaldi_app/scorewiz/parts.py:50 +#: ../python/frescobaldi_app/scorewiz/parts.py:54 msgid "Voices:" msgstr "Sesler:" -#: ../python/frescobaldi_app/scorewiz/parts.py:55 +#: ../python/frescobaldi_app/scorewiz/parts.py:59 msgid "How many voices to put in this staff." msgstr "Bu dizeğe kaç ses yazılmalı." -#: ../python/frescobaldi_app/scorewiz/parts.py:93 +#: ../python/frescobaldi_app/scorewiz/parts.py:97 msgid "Music follows here." msgstr "Müziği buradan gireceksiniz." -#: ../python/frescobaldi_app/scorewiz/parts.py:160 +#: ../python/frescobaldi_app/scorewiz/parts.py:164 msgid "Staff type:" msgstr "Dizek türü" -#: ../python/frescobaldi_app/scorewiz/parts.py:164 +#: ../python/frescobaldi_app/scorewiz/parts.py:168 msgid "Normal staff" msgstr "Normal dizek" -#: ../python/frescobaldi_app/scorewiz/parts.py:165 +#: ../python/frescobaldi_app/scorewiz/parts.py:169 msgid "Tablature" msgstr "Tablature" -#: ../python/frescobaldi_app/scorewiz/parts.py:166 +#: ../python/frescobaldi_app/scorewiz/parts.py:170 msgid "Both" msgstr "Her ikisi de" -#: ../python/frescobaldi_app/scorewiz/parts.py:177 +#: ../python/frescobaldi_app/scorewiz/parts.py:180 msgid "Tuning:" msgstr "Akort:" -#: ../python/frescobaldi_app/scorewiz/parts.py:298 +#: ../python/frescobaldi_app/scorewiz/parts.py:301 msgid "Lyrics follow here." msgstr "Şarkı sözleri burada başlayacak." -#: ../python/frescobaldi_app/scorewiz/parts.py:309 +#: ../python/frescobaldi_app/scorewiz/parts.py:312 msgid "Stanzas:" msgstr "Kıtalar:" -#: ../python/frescobaldi_app/scorewiz/parts.py:313 +#: ../python/frescobaldi_app/scorewiz/parts.py:316 msgid "The number of stanzas." msgstr "Kıtaların numarası." -#: ../python/frescobaldi_app/scorewiz/parts.py:316 +#: ../python/frescobaldi_app/scorewiz/parts.py:319 msgid "Ambitus" msgstr "Ses genişliği" -#: ../python/frescobaldi_app/scorewiz/parts.py:319 +#: ../python/frescobaldi_app/scorewiz/parts.py:322 msgid "Show the pitch range of the voice at the beginning of the staff." msgstr "Dizeğin en başında sesin ses genişliğini göster." -#: ../python/frescobaldi_app/scorewiz/parts.py:383 +#: ../python/frescobaldi_app/scorewiz/parts.py:386 msgid "Adjust how many separate voices you want on each staff." msgstr "Her dizekte kaç tane ayrı ses istediğinizi ayarlayın." -#: ../python/frescobaldi_app/scorewiz/parts.py:384 +#: ../python/frescobaldi_app/scorewiz/parts.py:387 msgid "This is primarily useful when you write polyphonic music like a fuge." msgstr "" "Bu özellik füg gibi polifonik bir müzik yazıyorsanız birincil derecede " "faydalıdır." -#: ../python/frescobaldi_app/scorewiz/parts.py:388 +#: ../python/frescobaldi_app/scorewiz/parts.py:391 msgid "Right hand:" msgstr "Sağ el:" -#: ../python/frescobaldi_app/scorewiz/parts.py:389 +#: ../python/frescobaldi_app/scorewiz/parts.py:392 msgid "Left hand:" msgstr "Sol el:" -#: ../python/frescobaldi_app/scorewiz/parts.py:408 -#: ../python/frescobaldi_app/scorewiz/parts.py:895 +#: ../python/frescobaldi_app/scorewiz/parts.py:411 +#: ../python/frescobaldi_app/scorewiz/parts.py:898 msgid "Chord names" msgstr "Akor adları" -#: ../python/frescobaldi_app/scorewiz/parts.py:420 +#: ../python/frescobaldi_app/scorewiz/parts.py:423 msgid "Chords follow here." msgstr "Akorlar burada başlayacak." -#: ../python/frescobaldi_app/scorewiz/parts.py:432 +#: ../python/frescobaldi_app/scorewiz/parts.py:435 msgid "Chord style:" msgstr "Akor stili:" -#: ../python/frescobaldi_app/scorewiz/parts.py:437 +#: ../python/frescobaldi_app/scorewiz/parts.py:440 msgid "German" msgstr "Alman" -#: ../python/frescobaldi_app/scorewiz/parts.py:438 +#: ../python/frescobaldi_app/scorewiz/parts.py:441 msgid "Semi-German" msgstr "Yarı-Alman" -#: ../python/frescobaldi_app/scorewiz/parts.py:439 +#: ../python/frescobaldi_app/scorewiz/parts.py:442 msgid "Italian" msgstr "İtalyan" -#: ../python/frescobaldi_app/scorewiz/parts.py:440 +#: ../python/frescobaldi_app/scorewiz/parts.py:443 msgid "French" msgstr "Fransız" -#: ../python/frescobaldi_app/scorewiz/parts.py:441 +#: ../python/frescobaldi_app/scorewiz/parts.py:444 msgid "Guitar fret diagrams" msgstr "Gitar fret diyagramları" -#: ../python/frescobaldi_app/scorewiz/parts.py:443 +#: ../python/frescobaldi_app/scorewiz/parts.py:446 msgid "" "Show predefined guitar fret diagrams below the chord names (LilyPond 2.12 " "and above)." @@ -2360,392 +2505,392 @@ "Akor adlarının üzerine önceden tanımlanmış olan gitar fret diyagramlarını " "göster (LilyPond 2.12 veya üzeri için)." -#: ../python/frescobaldi_app/scorewiz/parts.py:449 +#: ../python/frescobaldi_app/scorewiz/parts.py:452 msgid "Figured Bass" msgstr "Şifreli Bas" -#: ../python/frescobaldi_app/scorewiz/parts.py:457 -#: ../python/frescobaldi_app/scorewiz/parts.py:516 +#: ../python/frescobaldi_app/scorewiz/parts.py:460 +#: ../python/frescobaldi_app/scorewiz/parts.py:519 msgid "Figures follow here." msgstr "Figürler burada başlayacak." -#: ../python/frescobaldi_app/scorewiz/parts.py:464 +#: ../python/frescobaldi_app/scorewiz/parts.py:467 msgid "Use extender lines" msgstr "Uzatma çizgilerini kullan" -#: ../python/frescobaldi_app/scorewiz/parts.py:469 +#: ../python/frescobaldi_app/scorewiz/parts.py:472 msgid "Violin" msgstr "Violin" -#: ../python/frescobaldi_app/scorewiz/parts.py:470 +#: ../python/frescobaldi_app/scorewiz/parts.py:473 msgid "Violin|Vl." msgstr "Violin|Vl." -#: ../python/frescobaldi_app/scorewiz/parts.py:475 +#: ../python/frescobaldi_app/scorewiz/parts.py:478 msgid "Viola" msgstr "Viola" -#: ../python/frescobaldi_app/scorewiz/parts.py:476 +#: ../python/frescobaldi_app/scorewiz/parts.py:479 msgid "Viola|Vla." msgstr "Viola|Vla." -#: ../python/frescobaldi_app/scorewiz/parts.py:483 +#: ../python/frescobaldi_app/scorewiz/parts.py:486 msgid "Cello" msgstr "Cello" -#: ../python/frescobaldi_app/scorewiz/parts.py:484 +#: ../python/frescobaldi_app/scorewiz/parts.py:487 msgid "Cello|Cl." msgstr "Cello|Cl." -#: ../python/frescobaldi_app/scorewiz/parts.py:491 +#: ../python/frescobaldi_app/scorewiz/parts.py:494 msgid "Contrabass" msgstr "Contrabass" -#: ../python/frescobaldi_app/scorewiz/parts.py:492 +#: ../python/frescobaldi_app/scorewiz/parts.py:495 msgid "Contrabass|Cb." msgstr "Contrabass|Cb." -#: ../python/frescobaldi_app/scorewiz/parts.py:499 +#: ../python/frescobaldi_app/scorewiz/parts.py:502 msgid "Basso continuo" msgstr "Basso continuo" -#: ../python/frescobaldi_app/scorewiz/parts.py:500 +#: ../python/frescobaldi_app/scorewiz/parts.py:503 msgid "Basso Continuo|B.c." msgstr "Basso Continuo|B.c." -#: ../python/frescobaldi_app/scorewiz/parts.py:522 +#: ../python/frescobaldi_app/scorewiz/parts.py:525 msgid "Mandolin" msgstr "Mandolin" -#: ../python/frescobaldi_app/scorewiz/parts.py:523 +#: ../python/frescobaldi_app/scorewiz/parts.py:526 msgid "Mandolin|Mdl." msgstr "Mandolin|Mdl." -#: ../python/frescobaldi_app/scorewiz/parts.py:526 +#: ../python/frescobaldi_app/scorewiz/parts.py:529 msgid "Mandolin tuning" msgstr "Mandolin akordu" -#: ../python/frescobaldi_app/scorewiz/parts.py:531 +#: ../python/frescobaldi_app/scorewiz/parts.py:534 msgid "Banjo" msgstr "Banjo" -#: ../python/frescobaldi_app/scorewiz/parts.py:532 +#: ../python/frescobaldi_app/scorewiz/parts.py:535 msgid "Banjo|Bj." msgstr "Banjo|Bj." -#: ../python/frescobaldi_app/scorewiz/parts.py:536 +#: ../python/frescobaldi_app/scorewiz/parts.py:539 msgid "Open G-tuning (aDGBD)" msgstr "Açık SOL-teli akordu (aDGBD)" -#: ../python/frescobaldi_app/scorewiz/parts.py:537 +#: ../python/frescobaldi_app/scorewiz/parts.py:540 msgid "C-tuning (gCGBD)" msgstr "DO-akordu (gCGBD)" -#: ../python/frescobaldi_app/scorewiz/parts.py:538 +#: ../python/frescobaldi_app/scorewiz/parts.py:541 msgid "Modal tuning (gDGCD)" msgstr "Modal akort (gDGCD)" -#: ../python/frescobaldi_app/scorewiz/parts.py:539 +#: ../python/frescobaldi_app/scorewiz/parts.py:542 msgid "Open D-tuning (aDF#AD)" msgstr "Açık RE akordu (aDF#AD)" -#: ../python/frescobaldi_app/scorewiz/parts.py:540 +#: ../python/frescobaldi_app/scorewiz/parts.py:543 msgid "Open Dm-tuning (aDFAD)" msgstr "Açık Re minör-akordu (aDFAD)" -#: ../python/frescobaldi_app/scorewiz/parts.py:544 +#: ../python/frescobaldi_app/scorewiz/parts.py:547 msgid "Four strings (instead of five)" msgstr "Dört tel (beş tel yerine)" -#: ../python/frescobaldi_app/scorewiz/parts.py:561 +#: ../python/frescobaldi_app/scorewiz/parts.py:564 msgid "Classical guitar" msgstr "Klasik Gitar" -#: ../python/frescobaldi_app/scorewiz/parts.py:562 +#: ../python/frescobaldi_app/scorewiz/parts.py:565 msgid "Guitar|Gt." msgstr "Guitar|Gt." -#: ../python/frescobaldi_app/scorewiz/parts.py:566 +#: ../python/frescobaldi_app/scorewiz/parts.py:569 msgid "Guitar tuning" msgstr "Gitar akordu" -#: ../python/frescobaldi_app/scorewiz/parts.py:567 +#: ../python/frescobaldi_app/scorewiz/parts.py:570 msgid "Open G-tuning" msgstr "Açık SOL-akordu" -#: ../python/frescobaldi_app/scorewiz/parts.py:579 +#: ../python/frescobaldi_app/scorewiz/parts.py:582 msgid "Jazz guitar" msgstr "Jazz guitar" -#: ../python/frescobaldi_app/scorewiz/parts.py:580 +#: ../python/frescobaldi_app/scorewiz/parts.py:583 msgid "Jazz guitar|J.Gt." msgstr "Jazz guitar|J.Gt." -#: ../python/frescobaldi_app/scorewiz/parts.py:586 +#: ../python/frescobaldi_app/scorewiz/parts.py:589 msgid "Bass|Bs." msgstr "Bass|Bs." -#: ../python/frescobaldi_app/scorewiz/parts.py:591 +#: ../python/frescobaldi_app/scorewiz/parts.py:594 msgid "Bass tuning" msgstr "Bas akordu" -#: ../python/frescobaldi_app/scorewiz/parts.py:596 +#: ../python/frescobaldi_app/scorewiz/parts.py:599 msgid "Electric bass" msgstr "Electric bass" -#: ../python/frescobaldi_app/scorewiz/parts.py:597 +#: ../python/frescobaldi_app/scorewiz/parts.py:600 msgid "Electric bass|E.Bs." msgstr "Electric bass|E.Bs." -#: ../python/frescobaldi_app/scorewiz/parts.py:602 +#: ../python/frescobaldi_app/scorewiz/parts.py:605 msgid "Harp" msgstr "Harp" -#: ../python/frescobaldi_app/scorewiz/parts.py:603 +#: ../python/frescobaldi_app/scorewiz/parts.py:606 msgid "Harp|Hp." msgstr "Harp|Hp." -#: ../python/frescobaldi_app/scorewiz/parts.py:618 +#: ../python/frescobaldi_app/scorewiz/parts.py:621 msgid "Upper staff:" msgstr "Üst dizek:" -#: ../python/frescobaldi_app/scorewiz/parts.py:619 +#: ../python/frescobaldi_app/scorewiz/parts.py:622 msgid "Lower staff:" msgstr "Bas dizek:" -#: ../python/frescobaldi_app/scorewiz/parts.py:623 +#: ../python/frescobaldi_app/scorewiz/parts.py:626 msgid "Flute" msgstr "Flute" -#: ../python/frescobaldi_app/scorewiz/parts.py:624 +#: ../python/frescobaldi_app/scorewiz/parts.py:627 msgid "Flute|Fl." msgstr "Flute|Fl." -#: ../python/frescobaldi_app/scorewiz/parts.py:629 +#: ../python/frescobaldi_app/scorewiz/parts.py:632 msgid "Piccolo" msgstr "Piccolo" -#: ../python/frescobaldi_app/scorewiz/parts.py:630 +#: ../python/frescobaldi_app/scorewiz/parts.py:633 msgid "Piccolo|Pic." msgstr "Piccolo|Pic." -#: ../python/frescobaldi_app/scorewiz/parts.py:636 +#: ../python/frescobaldi_app/scorewiz/parts.py:639 msgid "Bass flute" msgstr "Bass flute" -#: ../python/frescobaldi_app/scorewiz/parts.py:637 +#: ../python/frescobaldi_app/scorewiz/parts.py:640 msgid "Bass flute|Bfl." msgstr "Bass flute|Bfl." -#: ../python/frescobaldi_app/scorewiz/parts.py:643 +#: ../python/frescobaldi_app/scorewiz/parts.py:646 msgid "Oboe" msgstr "Oboe" -#: ../python/frescobaldi_app/scorewiz/parts.py:644 +#: ../python/frescobaldi_app/scorewiz/parts.py:647 msgid "Oboe|Ob." msgstr "Oboe|Ob." -#: ../python/frescobaldi_app/scorewiz/parts.py:649 +#: ../python/frescobaldi_app/scorewiz/parts.py:652 msgid "Oboe d'Amore" msgstr "Oboe d'Amore" -#: ../python/frescobaldi_app/scorewiz/parts.py:650 +#: ../python/frescobaldi_app/scorewiz/parts.py:653 msgid "Oboe d'amore|Ob.d'am." msgstr "Oboe d'amore|Ob.d'am." -#: ../python/frescobaldi_app/scorewiz/parts.py:656 +#: ../python/frescobaldi_app/scorewiz/parts.py:659 msgid "English Horn" msgstr "English Horn" -#: ../python/frescobaldi_app/scorewiz/parts.py:657 +#: ../python/frescobaldi_app/scorewiz/parts.py:660 msgid "English horn|Eng.h." msgstr "English horn|Eng.h." -#: ../python/frescobaldi_app/scorewiz/parts.py:663 +#: ../python/frescobaldi_app/scorewiz/parts.py:666 msgid "Bassoon" msgstr "Bassoon" -#: ../python/frescobaldi_app/scorewiz/parts.py:664 +#: ../python/frescobaldi_app/scorewiz/parts.py:667 msgid "Bassoon|Bn." msgstr "Bassoon|Bn." -#: ../python/frescobaldi_app/scorewiz/parts.py:671 +#: ../python/frescobaldi_app/scorewiz/parts.py:674 msgid "Contrabassoon" msgstr "Contrabassoon" -#: ../python/frescobaldi_app/scorewiz/parts.py:672 +#: ../python/frescobaldi_app/scorewiz/parts.py:675 msgid "Contrabassoon|C.Bn." msgstr "Contrabassoon|C.Bn." -#: ../python/frescobaldi_app/scorewiz/parts.py:680 +#: ../python/frescobaldi_app/scorewiz/parts.py:683 msgid "Clarinet" msgstr "Clarinet" -#: ../python/frescobaldi_app/scorewiz/parts.py:681 +#: ../python/frescobaldi_app/scorewiz/parts.py:684 msgid "Clarinet|Cl." msgstr "Clarinet|Cl." -#: ../python/frescobaldi_app/scorewiz/parts.py:687 +#: ../python/frescobaldi_app/scorewiz/parts.py:690 msgid "Sopranino Sax" msgstr "Sopranino Sax" -#: ../python/frescobaldi_app/scorewiz/parts.py:688 +#: ../python/frescobaldi_app/scorewiz/parts.py:691 msgid "Sopranino Sax|SiSx." msgstr "Sopranino Sax|SiSx." -#: ../python/frescobaldi_app/scorewiz/parts.py:694 +#: ../python/frescobaldi_app/scorewiz/parts.py:697 msgid "Soprano Sax" msgstr "Soprano Sax" -#: ../python/frescobaldi_app/scorewiz/parts.py:695 +#: ../python/frescobaldi_app/scorewiz/parts.py:698 msgid "Soprano Sax|SoSx." msgstr "Soprano Sax|SoSx." -#: ../python/frescobaldi_app/scorewiz/parts.py:701 +#: ../python/frescobaldi_app/scorewiz/parts.py:704 msgid "Alto Sax" msgstr "Alto Sax" -#: ../python/frescobaldi_app/scorewiz/parts.py:702 +#: ../python/frescobaldi_app/scorewiz/parts.py:705 msgid "Alto Sax|ASx." msgstr "Alto Sax|ASx." -#: ../python/frescobaldi_app/scorewiz/parts.py:708 +#: ../python/frescobaldi_app/scorewiz/parts.py:711 msgid "Tenor Sax" msgstr "Tenor Sax" -#: ../python/frescobaldi_app/scorewiz/parts.py:709 +#: ../python/frescobaldi_app/scorewiz/parts.py:712 msgid "Tenor Sax|TSx." msgstr "Tenor Sax|TSx." -#: ../python/frescobaldi_app/scorewiz/parts.py:715 +#: ../python/frescobaldi_app/scorewiz/parts.py:718 msgid "Baritone Sax" msgstr "Baritone Sax" -#: ../python/frescobaldi_app/scorewiz/parts.py:716 +#: ../python/frescobaldi_app/scorewiz/parts.py:719 msgid "Baritone Sax|BSx." msgstr "Baritone Sax|BSx." -#: ../python/frescobaldi_app/scorewiz/parts.py:722 +#: ../python/frescobaldi_app/scorewiz/parts.py:725 msgid "Bass Sax" msgstr "Bass Sax" -#: ../python/frescobaldi_app/scorewiz/parts.py:723 +#: ../python/frescobaldi_app/scorewiz/parts.py:726 msgid "Bass Sax|BsSx." msgstr "Bass Sax|BsSx." -#: ../python/frescobaldi_app/scorewiz/parts.py:729 +#: ../python/frescobaldi_app/scorewiz/parts.py:732 msgid "Soprano recorder" msgstr "Soprano recorder" -#: ../python/frescobaldi_app/scorewiz/parts.py:730 +#: ../python/frescobaldi_app/scorewiz/parts.py:733 msgid "Soprano recorder|S.rec." msgstr "Soprano recorder|S.rec." -#: ../python/frescobaldi_app/scorewiz/parts.py:736 +#: ../python/frescobaldi_app/scorewiz/parts.py:739 msgid "Alto recorder" msgstr "Alto recorder" -#: ../python/frescobaldi_app/scorewiz/parts.py:737 +#: ../python/frescobaldi_app/scorewiz/parts.py:740 msgid "Alto recorder|A.rec." msgstr "Alto recorder|A.rec." -#: ../python/frescobaldi_app/scorewiz/parts.py:742 +#: ../python/frescobaldi_app/scorewiz/parts.py:745 msgid "Tenor recorder" msgstr "Tenor recorder" -#: ../python/frescobaldi_app/scorewiz/parts.py:743 +#: ../python/frescobaldi_app/scorewiz/parts.py:746 msgid "Tenor recorder|T.rec." msgstr "Tenor recorder|T.rec." -#: ../python/frescobaldi_app/scorewiz/parts.py:748 +#: ../python/frescobaldi_app/scorewiz/parts.py:751 msgid "Bass recorder" msgstr "Bass recorder" -#: ../python/frescobaldi_app/scorewiz/parts.py:749 +#: ../python/frescobaldi_app/scorewiz/parts.py:752 msgid "Bass recorder|B.rec." msgstr "Bass recorder|B.rec." -#: ../python/frescobaldi_app/scorewiz/parts.py:756 +#: ../python/frescobaldi_app/scorewiz/parts.py:759 msgid "Horn in F" msgstr "Horn in F" -#: ../python/frescobaldi_app/scorewiz/parts.py:757 +#: ../python/frescobaldi_app/scorewiz/parts.py:760 msgid "Horn in F|Hn.F." msgstr "Horn in F|Hn.F." -#: ../python/frescobaldi_app/scorewiz/parts.py:763 +#: ../python/frescobaldi_app/scorewiz/parts.py:766 msgid "Trumpet in C" msgstr "Trumpet in C" -#: ../python/frescobaldi_app/scorewiz/parts.py:764 +#: ../python/frescobaldi_app/scorewiz/parts.py:767 msgid "Trumpet in C|Tr.C" msgstr "Trumpet in C|Tr.C" -#: ../python/frescobaldi_app/scorewiz/parts.py:769 +#: ../python/frescobaldi_app/scorewiz/parts.py:772 msgid "Trumpet in Bb" msgstr "Trumpet in Bb" -#: ../python/frescobaldi_app/scorewiz/parts.py:770 +#: ../python/frescobaldi_app/scorewiz/parts.py:773 msgid "Trumpet in Bb|Tr.Bb" msgstr "Trumpet in Bb|Tr.Bb" -#: ../python/frescobaldi_app/scorewiz/parts.py:775 +#: ../python/frescobaldi_app/scorewiz/parts.py:778 msgid "Trombone" msgstr "Trombone" -#: ../python/frescobaldi_app/scorewiz/parts.py:776 +#: ../python/frescobaldi_app/scorewiz/parts.py:779 msgid "Trombone|Trb." msgstr "Trombone|Trb." -#: ../python/frescobaldi_app/scorewiz/parts.py:783 +#: ../python/frescobaldi_app/scorewiz/parts.py:786 msgid "Tuba" msgstr "Tuba" -#: ../python/frescobaldi_app/scorewiz/parts.py:784 +#: ../python/frescobaldi_app/scorewiz/parts.py:787 msgid "Tuba|Tb." msgstr "Tuba|Tb." -#: ../python/frescobaldi_app/scorewiz/parts.py:790 +#: ../python/frescobaldi_app/scorewiz/parts.py:793 msgid "Bass Tuba" msgstr "Bass Tuba" -#: ../python/frescobaldi_app/scorewiz/parts.py:791 +#: ../python/frescobaldi_app/scorewiz/parts.py:794 msgid "Bass Tuba|B.Tb." msgstr "Bass Tuba|B.Tb." -#: ../python/frescobaldi_app/scorewiz/parts.py:799 +#: ../python/frescobaldi_app/scorewiz/parts.py:802 msgid "Soprano" msgstr "Soprano" -#: ../python/frescobaldi_app/scorewiz/parts.py:800 +#: ../python/frescobaldi_app/scorewiz/parts.py:803 msgid "Soprano|S." msgstr "Soprano|S." -#: ../python/frescobaldi_app/scorewiz/parts.py:804 +#: ../python/frescobaldi_app/scorewiz/parts.py:807 msgid "Mezzo soprano" msgstr "Mezzo soprano" -#: ../python/frescobaldi_app/scorewiz/parts.py:805 +#: ../python/frescobaldi_app/scorewiz/parts.py:808 msgid "Mezzo-soprano|Ms." msgstr "Mezzo-soprano|Ms." -#: ../python/frescobaldi_app/scorewiz/parts.py:810 +#: ../python/frescobaldi_app/scorewiz/parts.py:813 msgid "Alto|A." msgstr "Alto|A." -#: ../python/frescobaldi_app/scorewiz/parts.py:816 +#: ../python/frescobaldi_app/scorewiz/parts.py:819 msgid "Tenor|T." msgstr "Tenor|T." -#: ../python/frescobaldi_app/scorewiz/parts.py:823 +#: ../python/frescobaldi_app/scorewiz/parts.py:826 msgid "Bass|B." msgstr "Bass|B." -#: ../python/frescobaldi_app/scorewiz/parts.py:829 +#: ../python/frescobaldi_app/scorewiz/parts.py:832 msgid "Lead sheet" msgstr "Detaylı Şarkı Notası" -#: ../python/frescobaldi_app/scorewiz/parts.py:891 +#: ../python/frescobaldi_app/scorewiz/parts.py:894 msgid "" "The Lead Sheet provides a staff with chord names above and lyrics below it. " "A second staff is optional." @@ -2753,21 +2898,21 @@ "Detaylı Şarkı Notası, üzerinde akorları olan ve altında da şarkı sözlerini " "içeren notadır. İkinci dizek opsiyoneldir." -#: ../python/frescobaldi_app/scorewiz/parts.py:902 +#: ../python/frescobaldi_app/scorewiz/parts.py:905 msgid "Add accompaniment staff" msgstr "Eşlik dizeği ekle" -#: ../python/frescobaldi_app/scorewiz/parts.py:904 +#: ../python/frescobaldi_app/scorewiz/parts.py:907 msgid "" "Adds an accompaniment staff and also puts an accompaniment voice in the " "upper staff." msgstr "Bir eşlik dizeği ekler ve aynı zamanda da üst dizeğe eşlik sesi ekler." -#: ../python/frescobaldi_app/scorewiz/parts.py:911 +#: ../python/frescobaldi_app/scorewiz/parts.py:914 msgid "Choir" msgstr "Koro" -#: ../python/frescobaldi_app/scorewiz/parts.py:915 +#: ../python/frescobaldi_app/scorewiz/parts.py:918 msgid "" "Please select the voices for the choir. Use the letters S, A, T, or B. A " "hyphen denotes a new staff." @@ -2775,37 +2920,37 @@ "Lütfen koro için sesleri seçiniz. Sesleri seçmek için S,A, T veya B gibi " "harfleri kullanınız. Tire eklemek yeni bir dizek anlamına gelir." -#: ../python/frescobaldi_app/scorewiz/parts.py:917 +#: ../python/frescobaldi_app/scorewiz/parts.py:920 msgid "Hint: For a double choir you can use two choir parts." msgstr "İpucu: Çift koro için iki koro partilerini kullanabilirsiniz." -#: ../python/frescobaldi_app/scorewiz/parts.py:922 +#: ../python/frescobaldi_app/scorewiz/parts.py:925 msgid "Voicing:" msgstr "Çoksesleme:" -#: ../python/frescobaldi_app/scorewiz/parts.py:936 -msgid "Lyrics" -msgstr "Şarkı Sözleri" +#: ../python/frescobaldi_app/scorewiz/parts.py:942 +msgid "Lyrics:" +msgstr "Şarkı Sözleri:" -#: ../python/frescobaldi_app/scorewiz/parts.py:940 +#: ../python/frescobaldi_app/scorewiz/parts.py:946 msgid "All voices same lyrics" msgstr "Tüm seslerde aynı sözler" -#: ../python/frescobaldi_app/scorewiz/parts.py:943 -msgid "One set of the same lyrics is placed between all staves." -msgstr "Şarkı sözlerinin tek seti bütün dizeklere yerleştirilmiştir." +#: ../python/frescobaldi_app/scorewiz/parts.py:947 +msgid "A set of the same lyrics is placed between all staves." +msgstr "Şarkı sözlerinin tek seti bütün dizek aralarına yerleştirilmiştir." -#: ../python/frescobaldi_app/scorewiz/parts.py:945 +#: ../python/frescobaldi_app/scorewiz/parts.py:948 msgid "Every voice same lyrics" msgstr "Her ses de aynı sözler" -#: ../python/frescobaldi_app/scorewiz/parts.py:947 +#: ../python/frescobaldi_app/scorewiz/parts.py:949 msgid "" "Every voice gets its own lyrics, using the same text as the other voices." msgstr "" "Her sesin diğer seslerdeki aynı metni kullanan kendine ait sözleri vardır, " -#: ../python/frescobaldi_app/scorewiz/parts.py:950 +#: ../python/frescobaldi_app/scorewiz/parts.py:951 msgid "Every voice different lyrics" msgstr "Her sesin sözleri farklıdır" @@ -2813,190 +2958,220 @@ msgid "Every voice gets a different set of lyrics." msgstr "Her sesin sözleri kendine özgüdür." -#: ../python/frescobaldi_app/scorewiz/parts.py:956 +#: ../python/frescobaldi_app/scorewiz/parts.py:953 +msgid "Distribute stanzas" +msgstr "Dörtlükleri (kıtayı) dağıtın" + +#: ../python/frescobaldi_app/scorewiz/parts.py:954 +msgid "One set of stanzas is distributed across the staves." +msgstr "Bir set şarkı sözü kıtaları dizek aralarına yerleştirilmiştir." + +#: ../python/frescobaldi_app/scorewiz/parts.py:959 msgid "Piano reduction" msgstr "Piyano indirgemesi" -#: ../python/frescobaldi_app/scorewiz/parts.py:958 +#: ../python/frescobaldi_app/scorewiz/parts.py:961 msgid "Adds an automatically generated piano reduction." msgstr "Otomatik olarak oluşturulan piyano indirgemesini ekler." -#: ../python/frescobaldi_app/scorewiz/parts.py:983 +#: ../python/frescobaldi_app/scorewiz/parts.py:963 +msgid "Rehearsal MIDI files" +msgstr "Prova MIDI dosyaları" + +#: ../python/frescobaldi_app/scorewiz/parts.py:965 +msgid "" +"Creates a rehearsal MIDI file for every voice, even if no MIDI output is " +"generated for the main score." +msgstr "" +"Asıl notada MIDI çıkış ayarları belirtilmiş olmasa da, her ses için bir " +"prova MIDI dosyası yaratın." + +#: ../python/frescobaldi_app/scorewiz/parts.py:1017 msgid "Choir|Ch." msgstr "Choir|Ch." -#: ../python/frescobaldi_app/scorewiz/parts.py:1199 +#: ../python/frescobaldi_app/scorewiz/parts.py:1262 +msgid "Rehearsal MIDI files:" +msgstr "Prova MIDI dosyaları:" + +#: ../python/frescobaldi_app/scorewiz/parts.py:1309 msgid "Piano" msgstr "Piano" -#: ../python/frescobaldi_app/scorewiz/parts.py:1200 +#: ../python/frescobaldi_app/scorewiz/parts.py:1310 msgid "Piano|Pno." msgstr "Piano|Pno." -#: ../python/frescobaldi_app/scorewiz/parts.py:1205 +#: ../python/frescobaldi_app/scorewiz/parts.py:1315 msgid "Harpsichord" msgstr "Harpsichord" -#: ../python/frescobaldi_app/scorewiz/parts.py:1206 +#: ../python/frescobaldi_app/scorewiz/parts.py:1316 msgid "Harpsichord|Hs." msgstr "Harpsichord|Hs." -#: ../python/frescobaldi_app/scorewiz/parts.py:1211 +#: ../python/frescobaldi_app/scorewiz/parts.py:1321 msgid "Clavichord" msgstr "Clavichord" -#: ../python/frescobaldi_app/scorewiz/parts.py:1212 +#: ../python/frescobaldi_app/scorewiz/parts.py:1322 msgid "Clavichord|Clv." msgstr "Clavichord|Clv." -#: ../python/frescobaldi_app/scorewiz/parts.py:1217 +#: ../python/frescobaldi_app/scorewiz/parts.py:1327 msgid "Organ" msgstr "Organ" -#: ../python/frescobaldi_app/scorewiz/parts.py:1218 +#: ../python/frescobaldi_app/scorewiz/parts.py:1328 msgid "Organ|Org." msgstr "Organ|Org." -#: ../python/frescobaldi_app/scorewiz/parts.py:1223 +#: ../python/frescobaldi_app/scorewiz/parts.py:1333 msgid "Pedal:" msgstr "Pedal:" -#: ../python/frescobaldi_app/scorewiz/parts.py:1224 +#: ../python/frescobaldi_app/scorewiz/parts.py:1334 msgid "Set to 0 to disable the pedal altogether." msgstr "Pedal'ı yok etmek istiyorsanız 0 olarak ayarlayınız." -#: ../python/frescobaldi_app/scorewiz/parts.py:1234 +#: ../python/frescobaldi_app/scorewiz/parts.py:1344 msgid "Celesta" msgstr "Celesta" -#: ../python/frescobaldi_app/scorewiz/parts.py:1235 +#: ../python/frescobaldi_app/scorewiz/parts.py:1345 msgid "Celesta|Cel." msgstr "Celesta|Cel." -#: ../python/frescobaldi_app/scorewiz/parts.py:1240 +#: ../python/frescobaldi_app/scorewiz/parts.py:1350 msgid "Timpani" msgstr "Timpani" -#: ../python/frescobaldi_app/scorewiz/parts.py:1241 +#: ../python/frescobaldi_app/scorewiz/parts.py:1351 msgid "Timpani|Tmp." msgstr "Timpani|Tmp." -#: ../python/frescobaldi_app/scorewiz/parts.py:1248 +#: ../python/frescobaldi_app/scorewiz/parts.py:1358 msgid "Xylophone" msgstr "Xylophone" -#: ../python/frescobaldi_app/scorewiz/parts.py:1249 +#: ../python/frescobaldi_app/scorewiz/parts.py:1359 msgid "Xylophone|Xyl." msgstr "Xylophone|Xyl." -#: ../python/frescobaldi_app/scorewiz/parts.py:1254 +#: ../python/frescobaldi_app/scorewiz/parts.py:1364 msgid "Marimba" msgstr "Marimba" -#: ../python/frescobaldi_app/scorewiz/parts.py:1255 +#: ../python/frescobaldi_app/scorewiz/parts.py:1365 msgid "Marimba|Mar." msgstr "Marimba|Mar." -#: ../python/frescobaldi_app/scorewiz/parts.py:1260 +#: ../python/frescobaldi_app/scorewiz/parts.py:1370 msgid "Vibraphone" msgstr "Vibraphone" -#: ../python/frescobaldi_app/scorewiz/parts.py:1261 +#: ../python/frescobaldi_app/scorewiz/parts.py:1371 msgid "Vibraphone|Vib." msgstr "Vibraphone|Vib." -#: ../python/frescobaldi_app/scorewiz/parts.py:1266 +#: ../python/frescobaldi_app/scorewiz/parts.py:1376 msgid "Tubular bells" msgstr "Tubular bells" -#: ../python/frescobaldi_app/scorewiz/parts.py:1267 +#: ../python/frescobaldi_app/scorewiz/parts.py:1377 msgid "Tubular bells|Tub." msgstr "Tubular bells|Tub." -#: ../python/frescobaldi_app/scorewiz/parts.py:1272 +#: ../python/frescobaldi_app/scorewiz/parts.py:1382 msgid "Glockenspiel" msgstr "Glockenspiel" -#: ../python/frescobaldi_app/scorewiz/parts.py:1273 +#: ../python/frescobaldi_app/scorewiz/parts.py:1383 msgid "Glockenspiel|Gls." msgstr "Glockenspiel|Gls." -#: ../python/frescobaldi_app/scorewiz/parts.py:1278 +#: ../python/frescobaldi_app/scorewiz/parts.py:1388 msgid "Drums" msgstr "Drums" -#: ../python/frescobaldi_app/scorewiz/parts.py:1279 +#: ../python/frescobaldi_app/scorewiz/parts.py:1389 msgid "Drums|Dr." msgstr "Drums|Dr." -#: ../python/frescobaldi_app/scorewiz/parts.py:1289 +#: ../python/frescobaldi_app/scorewiz/parts.py:1399 msgid "Drums follow here." msgstr "Davul notası burada başlayacak." -#: ../python/frescobaldi_app/scorewiz/parts.py:1315 +#: ../python/frescobaldi_app/scorewiz/parts.py:1424 msgid "keep some distance." msgstr "biraz mesafe bırak." -#: ../python/frescobaldi_app/scorewiz/parts.py:1322 +#: ../python/frescobaldi_app/scorewiz/parts.py:1432 msgid "Style:" msgstr "Stil:" -#: ../python/frescobaldi_app/scorewiz/parts.py:1326 +#: ../python/frescobaldi_app/scorewiz/parts.py:1436 msgid "Drums (5 lines, default)" msgstr "Davul (5 çizgi, varsayılan)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1327 +#: ../python/frescobaldi_app/scorewiz/parts.py:1437 msgid "Timbales-style (2 lines)" msgstr "Timbal-stili (2 çizgi)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1328 +#: ../python/frescobaldi_app/scorewiz/parts.py:1438 msgid "Congas-style (2 lines)" msgstr "Konga-stili (2 çizgi)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1329 +#: ../python/frescobaldi_app/scorewiz/parts.py:1439 msgid "Bongos-style (2 lines)" msgstr "Bongo-stili (2 çizgi)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1330 +#: ../python/frescobaldi_app/scorewiz/parts.py:1440 msgid "Percussion-style (1 line)" msgstr "Perküsyon-stili (1 çizgi)" -#: ../python/frescobaldi_app/scorewiz/parts.py:1331 +#: ../python/frescobaldi_app/scorewiz/parts.py:1441 msgid "Remove stems" msgstr "Kuyrukları kaldır" -#: ../python/frescobaldi_app/scorewiz/parts.py:1332 +#: ../python/frescobaldi_app/scorewiz/parts.py:1442 msgid "Remove the stems from the drum notes." msgstr "Davul notasından kuyrukları kaldır." -#: ../python/frescobaldi_app/scorewiz/parts.py:1341 +#: ../python/frescobaldi_app/scorewiz/parts.py:1451 msgid "Strings" msgstr "Yaylılar" -#: ../python/frescobaldi_app/scorewiz/parts.py:1348 +#: ../python/frescobaldi_app/scorewiz/parts.py:1458 msgid "Plucked strings" msgstr "Telli çalgılar" -#: ../python/frescobaldi_app/scorewiz/parts.py:1357 +#: ../python/frescobaldi_app/scorewiz/parts.py:1467 msgid "Woodwinds" msgstr "Tahta üflemeliler" -#: ../python/frescobaldi_app/scorewiz/parts.py:1378 +#: ../python/frescobaldi_app/scorewiz/parts.py:1488 msgid "Brass" msgstr "Bakır üflemeliler" -#: ../python/frescobaldi_app/scorewiz/parts.py:1386 +#: ../python/frescobaldi_app/scorewiz/parts.py:1496 msgid "Vocal" msgstr "İnsan sesi" -#: ../python/frescobaldi_app/scorewiz/parts.py:1395 +#: ../python/frescobaldi_app/scorewiz/parts.py:1505 msgid "Keyboard instruments" msgstr "Tuşlu çalgılar" -#: ../python/frescobaldi_app/scorewiz/parts.py:1411 +#: ../python/frescobaldi_app/scorewiz/parts.py:1521 msgid "Special" msgstr "Özel" +#~ msgid "Space above:" +#~ msgstr "Yukardakı boşluk:" + +#~ msgid "Name or full path of the convert-ly program." +#~ msgstr "Convert-ly programının tam yolunun adı." + #~ msgid "Expand" #~ msgstr "Genişlet" diff -Nru frescobaldi-1.0.2/python/frescobaldi_app/actions.py frescobaldi-1.1.1/python/frescobaldi_app/actions.py --- frescobaldi-1.0.2/python/frescobaldi_app/actions.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/frescobaldi_app/actions.py 2010-01-15 15:05:04.000000000 +0000 @@ -17,6 +17,8 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ Actions (that can be performed on files generated by running LilyPond) """ @@ -24,10 +26,9 @@ import os, sip from subprocess import Popen, PIPE -from PyQt4.QtCore import QObject, QSize, QVariant, Qt, SIGNAL +from PyQt4.QtCore import QSize, Qt from PyQt4.QtGui import ( - QAbstractItemView, QKeySequence, QLabel, QListWidget, QListWidgetItem, - QMenu, QToolButton) + QKeySequence, QLabel, QListWidget, QListWidgetItem, QMenu, QToolButton) from PyKDE4.kdecore import KGlobal, KShell, KToolInvocation, KUrl, i18n, i18np from PyKDE4.kdeui import KDialog, KIcon, KMessageBox, KVBox from PyKDE4.kio import KRun @@ -50,22 +51,19 @@ # PDFs pdfs = updatedFiles("pdf") for pdf in pdfs: - name = '"%s"' % os.path.basename(pdf) + name = '"{0}"'.format(os.path.basename(pdf)) a = menu.addAction(KIcon("application-pdf"), i18n("Open %1 in external viewer", name)) - QObject.connect(a, SIGNAL("triggered()"), - lambda pdf=pdf: self.openPDF(pdf)) + a.triggered.connect((lambda pdf: lambda: self.openPDF(pdf))(pdf)) a = menu.addAction(KIcon("document-print"), i18n("Print %1", name)) - QObject.connect(a, SIGNAL("triggered()"), - lambda pdf=pdf: self.printPDF(pdf)) + a.triggered.connect((lambda pdf: lambda: self.printPDF(pdf))(pdf)) menu.addSeparator() # MIDIs midis = updatedFiles("mid*") for midi in midis: - name = '"%s"' % os.path.basename(midi) + name = '"{0}"'.format(os.path.basename(midi)) a = menu.addAction(KIcon("media-playback-start"), i18n("Play %1", name)) - QObject.connect(a, SIGNAL("triggered()"), - lambda midi=midi: self.openMIDI(midi)) + a.triggered.connect((lambda midi: lambda: self.openMIDI(midi))(midi)) def addActionsToLog(self, updatedFiles, log): """ @@ -79,8 +77,7 @@ icon = KIcon(icon) a = bar.addAction(icon, title) if len(items) == 1: - QObject.connect(a, SIGNAL("triggered()"), - lambda item=items[0]: func(item)) + a.triggered.connect((lambda item: lambda: func(item))(items[0])) else: menu = QMenu(bar.widgetForAction(a)) a.setMenu(menu) @@ -88,8 +85,7 @@ sip.transferto(menu, None) # let C++ take ownership for item in items: a = menu.addAction(icon, os.path.basename(item)) - QObject.connect(a, SIGNAL("triggered()"), - lambda item=item: func(item)) + a.triggered.connect((lambda item: lambda: func(item))(item)) pdfs = updatedFiles("pdf") make_action(pdfs, self.openPDF, "application-pdf", i18n("Open PDF")) @@ -100,9 +96,8 @@ if len(bar.actions()) > 0: a = bar.addAction(KIcon("mail-send"), i18n("Email...")) a.setShortcut(QKeySequence("Ctrl+E")) - a.setToolTip("%s (%s)" % (a.toolTip(), a.shortcut().toString())) - QObject.connect(a, SIGNAL("triggered()"), lambda: - self.email(updatedFiles, log.preview)) + a.setToolTip("{0} ({1})".format(a.toolTip(), a.shortcut().toString())) + a.triggered.connect(lambda: self.email(updatedFiles, log.preview)) log.checkScroll(bar.show) def openPDF(self, fileName): @@ -166,7 +161,6 @@ b.setSpacing(4) QLabel(i18n("Please select the files you want to send:"), b) fileList = QListWidget(b) - fileList.setSelectionMode(QAbstractItemView.ExtendedSelection) fileList.setIconSize(QSize(22, 22)) fileList.setWhatsThis(i18n( "These are the files that are up-to-date (i.e. newer than " @@ -197,44 +191,43 @@ self.resize(450, 300) basedir = os.path.dirname(updatedFiles.lyfile) - exts = config("general").readEntry("email_extensions", QVariant([".pdf"])).toStringList() + exts = config("general").readEntry("email_extensions", [".pdf"]) - class Item(QListWidgetItem): - def __init__(self, icon, fileName): - directory, name = os.path.split(fileName) - if directory != basedir: - name += " (%s)" % os.path.normpath(directory) - QListWidgetItem.__init__(self, KIcon(icon), name, fileList) - self.fileName = fileName - self.ext = os.path.splitext(fileName)[1] - if self.ext in exts: - self.setSelected(True) + def item(icon, fileName): + """ Add item to the fileList list widget. """ + directory, name = os.path.split(fileName) + if directory != basedir: + name += " ({0})".format(os.path.normpath(directory)) + i = QListWidgetItem(KIcon(icon), name, fileList) + i.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable | Qt.ItemIsUserCheckable) + i.ext = os.path.splitext(fileName)[1] + i.url = KUrl.fromPath(fileName).url() + i.setCheckState(Qt.Checked if i.ext in exts else Qt.Unchecked) - def url(self): - return KUrl.fromPath(self.fileName).url() - # insert the files for lyfile in lyFiles: - Item("text-x-lilypond", lyfile) + item("text-x-lilypond", lyfile) for pdf in pdfFiles: - Item("application-pdf", pdf) + item("application-pdf", pdf) for midi in midiFiles: - Item("audio-midi", midi) + item("audio-midi", midi) + def selectedItems(self): + """ Yields all checked items. """ + for row in range(self.fileList.count()): + item = self.fileList.item(row) + if item.checkState() == Qt.Checked: + yield item + def done(self, result): if result: # Save selected extensions to preselect next time. - exts = set(item.ext for item in self.fileList.selectedItems()) - config("general").writeEntry("email_extensions", QVariant(list(exts))) - self.sendEmail() + exts = list(set(item.ext for item in self.selectedItems())) + config("general").writeEntry("email_extensions", exts) + urls = [item.url for item in self.selectedItems()] + emailFiles(urls) KDialog.done(self, result) - def sendEmail(self): - """ Now do it. """ - urls = [item.url() for item in self.fileList.selectedItems()] - to, cc, bcc, subject, body, msgfile = '', '', '', '', '', '' - KToolInvocation.invokeMailer(to, cc, bcc, subject, body, msgfile, urls) - def openPDF(fileName, window): @@ -242,14 +235,14 @@ Opens a PDF in the configured external PDF viewer, or in the KDE default one. """ - openFile(fileName, window, config("commands").readEntry("pdf viewer", QVariant("")).toString()) + openFile(fileName, window, config("commands").readEntry("pdf viewer", "")) def openMIDI(fileName, window): """ Opens a MIDI in the configured external MIDI player, or in the KDE default one. """ - openFile(fileName, window, config("commands").readEntry("midi player", QVariant("")).toString()) + openFile(fileName, window, config("commands").readEntry("midi player", "")) def openFile(fileName, window, cmd = None): """ @@ -259,7 +252,6 @@ if cmd: cmd, err = KShell.splitArgs(cmd) if err == KShell.NoError: - cmd = map(unicode, cmd) cmd.append(fileName) try: Popen(cmd) @@ -271,10 +263,8 @@ def printPDF(pdfFileName, window): """ Prints the PDF using the configured print command """ - cmd, err = KShell.splitArgs( - config("commands").readEntry("lpr", QVariant("lpr")).toString()) + cmd, err = KShell.splitArgs(config("commands").readEntry("lpr", "lpr")) if err == KShell.NoError: - cmd = map(unicode, cmd) cmd.append(pdfFileName) try: p = Popen(cmd, stderr=PIPE) @@ -284,7 +274,7 @@ else: KMessageBox.information(window, i18n("The document has been sent to the printer.")) - except OSError, e: + except OSError as e: KMessageBox.error(window, i18n( "Printing failed: %1\n\nThe print command %2 does " "probably not exist. Please check your settings.", @@ -294,3 +284,8 @@ i18n("The print command contains errors. " "Please check your settings.")) +def emailFiles(urls): + """ Open the default mailer with the given urls (list of str) attached. """ + to, cc, bcc, subject, body, msgfile = '', '', '', '', '', '' + KToolInvocation.invokeMailer(to, cc, bcc, subject, body, msgfile, urls) + diff -Nru frescobaldi-1.0.2/python/frescobaldi_app/blankpaper.py frescobaldi-1.1.1/python/frescobaldi_app/blankpaper.py --- frescobaldi-1.0.2/python/frescobaldi_app/blankpaper.py 2010-01-10 06:42:41.000000000 +0000 +++ frescobaldi-1.1.1/python/frescobaldi_app/blankpaper.py 2010-02-28 13:42:46.000000000 +0000 @@ -17,12 +17,14 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ A wizard to create empty staff paper with LilyPond """ -import os, sip +import sip -from PyQt4.QtCore import QObject, QSize, Qt, QVariant, SIGNAL +from PyQt4.QtCore import QSize, Qt from PyQt4.QtGui import ( QCheckBox, QComboBox, QGridLayout, QGroupBox, QHBoxLayout, QIcon, QLabel, QPixmap, QPushButton, QSpinBox, QStackedWidget, QToolButton, QTreeWidget, @@ -30,13 +32,12 @@ from PyKDE4.kdecore import KGlobal, KUrl, i18n from PyKDE4.kdeui import ( - KDialog, KGuiItem, KIcon, KMessageBox, KPushButton, KStandardGuiItem) + KDialog, KIcon, KMessageBox, KPushButton, KStandardGuiItem) from PyKDE4.kio import KFileDialog, KIO import ly, ly.indent -from kateshell.app import lazymethod -from frescobaldi_app.mainapp import SymbolManager -from frescobaldi_app.version import defaultVersion +from kateshell.app import cacheresult +from frescobaldi_app.mainapp import SymbolManager, lilyPondVersion from frescobaldi_app.widgets import StackFader, ClefSelector from frescobaldi_app.runlily import BackgroundJob, LilyPreviewDialog from frescobaldi_app.actions import openPDF, printPDF @@ -134,10 +135,8 @@ settings.layout().addWidget(self.pageNumbers, 2, 0, 1, 2) settings.layout().addWidget(l, 3, 0, Qt.AlignRight) settings.layout().addWidget(self.pageNumStart, 3, 1) - QObject.connect(self.barLines, SIGNAL("toggled(bool)"), - self.barsPerLine.setEnabled) - QObject.connect(self.pageNumbers, SIGNAL("toggled(bool)"), - self.pageNumStart.setEnabled) + self.barLines.toggled.connect(self.barsPerLine.setEnabled) + self.pageNumbers.toggled.connect(self.pageNumStart.setEnabled) # types self.typeWidgets = [ @@ -150,8 +149,8 @@ for widget in self.typeWidgets: self.stack.addWidget(widget) self.typeChooser.addItem(widget.name()) - QObject.connect(self.typeChooser, SIGNAL("currentIndexChanged(int)"), - lambda index: self.stack.setCurrentWidget(self.typeWidgets[index])) + self.typeChooser.currentIndexChanged.connect(lambda index: + self.stack.setCurrentWidget(self.typeWidgets[index])) self.actors = [ OpenPDF, @@ -166,8 +165,8 @@ # cleanup on exit mainwin.aboutToClose.connect(self.cleanup) # buttons - QObject.connect(self, SIGNAL("resetClicked()"), self.default) - QObject.connect(self, SIGNAL("tryClicked()"), self.showPreview) + self.resetClicked.connect(self.default) + self.tryClicked.connect(self.showPreview) self.setInitialSize(QSize(400, 240)) self.default() self.loadSettings() @@ -197,18 +196,16 @@ def loadSettings(self): # only remember option to remove default FRESCOBALDI.ORG tagline - self.removeTagline.setChecked(config().readEntry( - "remove tagline", QVariant(False)).toBool()) + self.removeTagline.setChecked(config().readEntry("remove tagline", False)) def saveSettings(self): # only remember option to remove default FRESCOBALDI.ORG tagline - config().writeEntry( - "remove tagline", QVariant(self.removeTagline.isChecked())) + config().writeEntry("remove tagline", self.removeTagline.isChecked()) def showPreview(self): self.previewDialog().showPreview(self.ly()) - @lazymethod + @cacheresult def previewDialog(self): return PreviewDialog(self) @@ -218,17 +215,17 @@ """ staff = self.stack.currentWidget() output = [] - version = defaultVersion() + version = lilyPondVersion() if version: - output.append('\\version "%s"\n' % version) - output.append('#(set-global-staff-size %d)\n' % self.staffSize.value()) + output.append('\\version "{0}"\n'.format(version)) + output.append('#(set-global-staff-size {0})\n'.format(self.staffSize.value())) # paper section output.append('\\paper {') if self.paperSize.currentIndex() > 0: - output.append('#(set-paper-size "%s")' % ly.paperSizes[self.paperSize.currentIndex()-1]) + output.append('#(set-paper-size "{0}")'.format(ly.paperSizes[self.paperSize.currentIndex()-1])) if self.pageNumbers.isChecked(): output.append('top-margin = 10\\mm') - output.append('first-page-number = #%d' % self.pageNumStart.value()) + output.append('first-page-number = #{0}'.format(self.pageNumStart.value())) output.append('oddHeaderMarkup = \\markup \\fill-line {') output.append('\\strut') output.append("\\fromproperty #'page:page-number-string") @@ -243,10 +240,9 @@ else: output.append('bottom-margin = 10\\mm') output.append('oddFooterMarkup = \\markup \\abs-fontsize #6 \\fill-line {') - tagline = config().readEntry("tagline", QVariant( - '\\with-url #"http://www.frescobaldi.org/" FRESCOBALDI.ORG' - )).toString() - output.append('\\sans { %s }' % tagline) + tagline = config().readEntry("tagline", + '\\with-url #"http://www.frescobaldi.org/" FRESCOBALDI.ORG') + output.append('\\sans {{ {0} }}'.format(tagline)) output.append('\\strut') output.append('}') output.append('evenFooterMarkup = ##f') @@ -254,9 +250,9 @@ output.append('ragged-right = ##f') output.append('}\n') # music expression - output.append('music = \\repeat unfold %d { %% pages' % self.pageCount.value()) - output.append('\\repeat unfold %d { %% systems' % staff.systemCount()) - output.append('\\repeat unfold %d { %% bars' % ( + output.append('music = \\repeat unfold {0} {{ % pages'.format(self.pageCount.value())) + output.append('\\repeat unfold {0} {{ % systems'.format(staff.systemCount())) + output.append('\\repeat unfold {0} {{ % bars'.format( self.barLines.isChecked() and self.barsPerLine.value() or 1)) output.extend(('s1', '\\noBreak', '}', '\\break', '\\noPageBreak', '}', '\\pageBreak', '}\n')) @@ -331,36 +327,17 @@ BlankPaperJob.__init__(self, dialog) self.sourcePDF = None self.targetPDF = None - dlg = KFileDialog(KUrl(), '*.pdf|%s\n*|%s' % ( + dlg = KFileDialog(KUrl(), '*.pdf|{0}\n*|{1}'.format( i18n("PDF Files"), i18n("All Files")), dialog) dlg.setOperationMode(KFileDialog.Saving) dlg.setCaption(i18n("Save PDF")) - - # because KEncodingFileDialog.setConfirmOverwrite() is not available - # in KDE 4.1, we try to use it, but fall back to our old own - # implementation. - checkOverwrite = False - try: - dlg.setConfirmOverwrite(True) - except AttributeError: - checkOverwrite = True - + dlg.setConfirmOverwrite(True) dlg.setSelection('staffpaper.pdf') if dlg.exec_(): - url = dlg.selectedUrl() - # now confirm overwrite if the dialog didn't handle that (KDE < 4.2) - if not (checkOverwrite and url.isLocalFile() - and os.path.exists(unicode(url.path())) - and KMessageBox.warningContinueCancel(dialog, - i18n("A file named \"%1\" already exists. " - "Are you sure you want to overwrite it?", - url.fileName()), - i18n("Overwrite File?"), KGuiItem(i18n("&Overwrite"))) == - KMessageBox.Cancel): - self.targetPDF = url - self.savePDF() - return - self.cleanup() + self.targetPDF = dlg.selectedUrl() + self.savePDF() + else: + self.cleanup() def handlePDF(self, fileName): self.sourcePDF = fileName @@ -458,7 +435,7 @@ for name, lines in self._contexts.iteritems(): if lines: result.append('\\context {') - result.append('\\%s' % name) + result.append('\\' + name) result.extend(lines) result.append('}') return result @@ -507,7 +484,7 @@ return ['\\new TabStaff { \\music }'] else: if self.clef.clef(): - return ['\\new Staff { \\clef "%s" \\music }' % self.clef.clef()] + return ['\\new Staff {{ \\clef "{0}" \\music }}'.format(self.clef.clef())] else: layout.add('Staff', '\\remove "Clef_engraver"') return ['\\new Staff { \\music }'] @@ -598,8 +575,7 @@ "choir score, first set the number of staves per system to 4. " "Then enter \"SATB\" (without the quotes) here.")) - QObject.connect(self.staffCount, SIGNAL("valueChanged(int)"), - self.slotStaffCountChanged) + self.staffCount.valueChanged.connect(self.slotStaffCountChanged) self.slotStaffCountChanged(2) def name(self): @@ -627,7 +603,7 @@ self.systems.setValue(systemCount) def music(self, layout): - clefs = unicode(self.clefs.currentText()).upper() + clefs = self.clefs.currentText().upper() length = self.staffCount.value() if clefs and set(clefs) <= set("SATB"): # pad to staff count if necessary @@ -639,13 +615,13 @@ "\\override VerticalAxisGroup #'minimum-Y-extent = #'(-6 . 4)") music = ['\\new ChoirStaff <<'] for clef in clefs: - music.append('\\new Staff {%s \\music }' % { + music.append('\\new Staff {{{0} \\music }}'.format({ 'S': ' \\clef treble', 'A': ' \\clef treble', 'T': ' \\clef "treble_8"', 'B': ' \\clef bass', None: '', - }[clef]) + }[clef])) music.append('>>') return music @@ -676,23 +652,23 @@ operations.setSpacing(0) operations.setContentsMargins(0, 0, 0, 0) removeButton = KPushButton(KStandardGuiItem.remove()) + removeButton.clicked.connect(self.removeSelectedItems) operations.addWidget(removeButton) upButton = QToolButton() + upButton.clicked.connect(self.moveSelectedItemsUp) upButton.setIcon(KIcon("go-up")) operations.addWidget(upButton) downButton = QToolButton() + downButton.clicked.connect(self.moveSelectedItemsDown) downButton.setIcon(KIcon("go-down")) operations.addWidget(downButton) - QObject.connect(removeButton, SIGNAL("clicked()"), self.removeSelectedItems) - QObject.connect(upButton, SIGNAL("clicked()"), self.moveSelectedItemsUp) - QObject.connect(downButton, SIGNAL("clicked()"), self.moveSelectedItemsDown) newStaves.setSpacing(0) newStaves.setContentsMargins(0, 0, 0, 0) self.tree.setIconSize(QSize(32, 32)) self.tree.setDragDropMode(QTreeWidget.InternalMove) self.tree.headerItem().setHidden(True) - QObject.connect(self.tree, SIGNAL("itemSelectionChanged()"), self.slotSelectionChanged) + self.tree.itemSelectionChanged.connect(self.slotSelectionChanged) for staffType in ( BracketItem, @@ -700,9 +676,8 @@ StaffItem, ): b = QPushButton(staffType.name()) + b.clicked.connect((lambda t: lambda: self.createItem(t))(staffType)) b.setIconSize(QSize(40, 40)) - QObject.connect(b, SIGNAL("clicked()"), - lambda t=staffType: self.createItem(t)) self.addSymbol(b, staffType.symbol()) newStaves.addWidget(b) @@ -829,25 +804,18 @@ l.setBuddy(self.clef) w.layout().addWidget(l, 0, 0, Qt.AlignRight) w.layout().addWidget(self.clef, 0, 1) - QObject.connect(self.clef, SIGNAL("currentIndexChanged(int)"), self.clefChanged) - self.spaceAbove = QSpinBox() - self.spaceAbove.setRange(0, 25) - self.spaceAbove.setValue(5) + self.clef.currentIndexChanged.connect(self.clefChanged) self.spaceBelow = QSpinBox() self.spaceBelow.setRange(0, 25) self.spaceBelow.setValue(5) - w.layout().addWidget(self.spaceAbove, 1, 1) w.layout().addWidget(self.spaceBelow, 2, 1) - l = QLabel(i18n("Space above:")) - l.setBuddy(self.spaceAbove) - w.layout().addWidget(l, 1, 0, Qt.AlignRight) l = QLabel(i18n("Space below:")) l.setBuddy(self.spaceBelow) w.layout().addWidget(l, 2, 0, Qt.AlignRight) return w def clefChanged(self, index): - self.setIcon(0, self.staff.symbolIcon('clef_%s' % (self.clef.clef() or 'none'))) + self.setIcon(0, self.staff.symbolIcon('clef_' + (self.clef.clef() or 'none'))) def staffCount(self): return 1 @@ -859,16 +827,21 @@ else: staff = 'Staff' layout.addStaffContext(staff) - music = ['\\new %s \\with {' % staff] - music.append( - "\\override VerticalAxisGroup #'minimum-Y-extent = #'(-%d . %d)" % - (self.spaceBelow.value(), self.spaceAbove.value())) + music = ['\\new {0} \\with {{'.format(staff)] + if lilyPondVersion() < (2, 13, 4): + music.append( + "\\override VerticalAxisGroup #'minimum-Y-extent = #'(-{0} . 5)".format( + self.spaceBelow.value())) + else: + music.append( + "\\override VerticalAxisGroup #'next-staff-spacing = #'((space . {0}))".format( + self.spaceBelow.value() + 5)) if not clef: music.append('\\remove "Clef_engraver"') if not clef or clef == 'tab': music.append('} { \\music }') else: - music.append('} { \\clef "%s" \\music }' % clef) + music.append('}} {{ \\clef "{0}" \\music }}'.format(clef)) return music @@ -927,9 +900,9 @@ if self.squareBracket.isChecked(): withMusic.append("systemStartDelimiter = #'SystemStartSquare") if withMusic: - music = ['\\new %s \\with {' % staff] + withMusic + ['} <<'] + music = ['\\new {0} \\with {{'.format(staff)] + withMusic + ['} <<'] else: - music = ['\\new %s <<' % staff] + music = ['\\new {0} <<'.format(staff)] music.extend(self.childMusic(layout)) music.append('>>') return music diff -Nru frescobaldi-1.0.2/python/frescobaldi_app/charselect.py frescobaldi-1.1.1/python/frescobaldi_app/charselect.py --- frescobaldi-1.0.2/python/frescobaldi_app/charselect.py 1970-01-01 01:00:00.000000000 +0100 +++ frescobaldi-1.1.1/python/frescobaldi_app/charselect.py 2009-12-30 20:32:29.000000000 +0000 @@ -0,0 +1,109 @@ +# This file is part of the Frescobaldi project, http://www.frescobaldi.org/ +# +# Copyright (c) 2008, 2009, 2010 by Wilbert Berendsen +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# See http://www.gnu.org/licenses/ for more information. + +from __future__ import unicode_literals + +import unicodedata, weakref + +from PyQt4.QtGui import QDialogButtonBox, QFont, QKeySequence +from PyKDE4.kdecore import KGlobal, i18n +from PyKDE4.kdeui import KDialog, KCharSelect, KKeySequenceWidget, KShortcut + +from kateshell.app import cacheresult +from kateshell.shortcut import ShortcutClient + +class Dialog(ShortcutClient, KDialog): + """ + A dialog to select special characters. + """ + def __init__(self, mainwin): + KDialog.__init__(self, mainwin) + ShortcutClient.__init__(self, mainwin.charSelectShortcuts) + self.mainwin = mainwin + self.setButtons(KDialog.ButtonCode( + KDialog.Help | KDialog.Apply | KDialog.Ok | KDialog.Close)) + self.setCaption(i18n("Special Characters")) + self.setHelp("charselect") + + # trick key button in the DialogButtonBox + self.keySelector = key = KKeySequenceWidget() + key.layout().setContentsMargins(20, 0, 0, 0) + self.findChild(QDialogButtonBox).layout().insertWidget(1, key) + + self.charSelect = KCharSelect(None) + self.setMainWidget(self.charSelect) + self.charSelect.charSelected.connect(self.insertText) + self.charSelect.currentCharChanged.connect(self.slotCurrentCharChanged) + self.keySelector.keySequenceChanged.connect(self.slotKeySequenceChanged) + self.okClicked.connect(self.insertCurrentChar) + self.applyClicked.connect(self.insertCurrentChar) + self.finished.connect(self.saveSettings) + self.loadSettings() + + def insertText(self, text): + d = self.mainwin.currentDocument() + d.view.insertText(text) + + def insertCurrentChar(self): + c = self.charSelect.currentChar() + if c: + self.insertText(c) + + def loadSettings(self): + c = config() + self.restoreDialogSize(c) + self.charSelect.setCurrentFont( + c.readEntry("font", QFont("Century Schoolbook L"))) # lily default + self.charSelect.setCurrentChar(unichr( + c.readEntry("char", 0))) + + def saveSettings(self): + c = config() + self.saveDialogSize(c) + c.writeEntry("font", self.charSelect.currentFont()) + c.writeEntry("char", ord(self.charSelect.currentChar())) + + def populateAction(self, name, action): + char = unichr(int(name, 16)) + action.setText(u"{0} ({1})".format( + unicodedata.name(char, i18n("unknown")).title(), char)) + + def actionTriggered(self, name): + self.insertText(unichr(int(name, 16))) + + def slotCurrentCharChanged(self, text): + self.keyLoadShortcut(self.keySelector, hex(ord(text))) + + def slotKeySequenceChanged(self, seq): + self.keySaveShortcut(self.keySelector, + hex(ord(self.charSelect.currentChar())), seq) + + def show(self): + self.setCheckActionCollections() + super(Dialog, self).show() + + @cacheresult + def setCheckActionCollections(self): + self.keySetCheckActionCollections(self.keySelector) + + +def config(): + return KGlobal.config().group("charselect") + + diff -Nru frescobaldi-1.0.2/python/frescobaldi_app/completion.py frescobaldi-1.1.1/python/frescobaldi_app/completion.py --- frescobaldi-1.0.2/python/frescobaldi_app/completion.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/frescobaldi_app/completion.py 2010-01-16 10:59:33.000000000 +0000 @@ -17,19 +17,22 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ LilyPond auto completion """ import re -from PyQt4.QtCore import QModelIndex, Qt, QVariant +from PyQt4.QtCore import QModelIndex, Qt from PyQt4.QtGui import QBrush, QColor, QTextFormat from PyKDE4.kdecore import KGlobal from PyKDE4.ktexteditor import KTextEditor -import ly, ly.font, ly.tokenize, ly.version, ly.words, ly.colors +import ly.tokenize, ly.version, ly.words, ly.colors import frescobaldi_app.version +from frescobaldi_app.mainapp import lilyPondCommand class CompletionHelper(object): @@ -39,18 +42,13 @@ # roles on the Name column roles = { KTextEditor.CodeCompletionModel.CompletionRole: - QVariant( - KTextEditor.CodeCompletionModel.FirstProperty | - KTextEditor.CodeCompletionModel.Public | - KTextEditor.CodeCompletionModel.LastProperty ), - KTextEditor.CodeCompletionModel.ScopeIndex: - QVariant(0), - KTextEditor.CodeCompletionModel.MatchQuality: - QVariant(10), - KTextEditor.CodeCompletionModel.HighlightingMethod: - QVariant(QVariant.Invalid), - KTextEditor.CodeCompletionModel.InheritanceDepth: - QVariant(0), + KTextEditor.CodeCompletionModel.FirstProperty | + KTextEditor.CodeCompletionModel.Public | + KTextEditor.CodeCompletionModel.LastProperty, + KTextEditor.CodeCompletionModel.ScopeIndex: 0, + KTextEditor.CodeCompletionModel.MatchQuality: 10, + KTextEditor.CodeCompletionModel.HighlightingMethod: None, + KTextEditor.CodeCompletionModel.InheritanceDepth: 0, } def __init__(self, model, resultList=None): @@ -77,12 +75,11 @@ def data(self, index, role): if index.column() == KTextEditor.CodeCompletionModel.Name: if role == Qt.DisplayRole: - return QVariant(self.resultList[index.row()]) + return self.resultList[index.row()] try: return self.roles[role] except KeyError: pass - return QVariant() def executeCompletionItem(self, doc, word, row): pass @@ -106,7 +103,7 @@ """ def executeCompletionItem(self, doc, word, row): text = self.resultList[row] - line = unicode(doc.line(word.end().line()))[word.end().column():] + line = doc.line(word.end().line())[word.end().column():] if not line.lstrip().startswith('='): text += ' = ' doc.replaceText(word, text) @@ -120,19 +117,19 @@ roles = CompletionHelper.roles.copy() roles.update({ KTextEditor.CodeCompletionModel.HighlightingMethod: - QVariant(KTextEditor.CodeCompletionModel.CustomHighlighting) + KTextEditor.CodeCompletionModel.CustomHighlighting }) def data(self, index, role): if index.column() == KTextEditor.CodeCompletionModel.Name: name, (r, g, b) = self.resultList[index.row()] if role == Qt.DisplayRole: - return QVariant(name) + return name elif role == KTextEditor.CodeCompletionModel.CustomHighlight: format = QTextFormat() color = QColor.fromRgbF(r, g, b) format.setBackground(QBrush(color)) - return QVariant([0, len(name), format]) + return [0, len(name), format] return super(ColorCompletions, self).data(index, role) @@ -144,7 +141,7 @@ self.mgr = model.doc.app.mainwin.expandManager() self.expansions = self.mgr.expansionsList() descriptions = [self.mgr.description(name) for name in self.expansions] - result = ['%s (%s)' % r for r in zip(self.expansions, descriptions)] + result = ['{0} ({1})'.format(e, d) for e, d in zip(self.expansions, descriptions)] super(ExpansionCompletions, self).__init__(model, result) def executeCompletionItem(self, doc, word, row): @@ -171,7 +168,7 @@ """ doc = view.document() line, col = word.start().line(), word.start().column() - text = unicode(doc.line(line))[:col] + text = doc.line(line)[:col] # determine what the user tries to type # very specific situations: @@ -181,6 +178,8 @@ return ly.words.midi_instruments if re.search(r'\\musicglyph\s*#"$', text): return musicglyph_names() + if re.search(r'\bmarkFormatter\s*=\s*#$', text): + return ly.words.mark_formatters if re.search(r'\\key\s+[a-z]+\s*\\$', text): return ly.words.modes if re.search(r'\\(un)?set\b\s*$', text): @@ -212,8 +211,8 @@ if re.search(r"#'break-visibility\s*=\s*#$", text): return ly.words.break_visibility # parse to get current context - fragment = unicode(doc.text(KTextEditor.Range( - KTextEditor.Cursor(0, 0), word.start()))) + fragment = doc.text(KTextEditor.Range( + KTextEditor.Cursor(0, 0), word.start())) tokenizer = ly.tokenize.Tokenizer() token = None # in case the next loop does not run at all for token in tokenizer.tokens(fragment): @@ -230,7 +229,7 @@ return ly.words.markupcommands commands = (ly.words.keywords + ly.words.keywords_completion + ly.words.musiccommands + ly.words.musiccommands_completion - + lilypondVersion()) + + lilyPondVersion()) if tokenizer.parser().token == "\\context": return commands + ly.words.contexts else: @@ -267,24 +266,14 @@ return ExpansionCompletions(model) -# lazy-load and cache some data -@ly.lazy +# load some (cached) data def musicglyph_names(): - datadir = ly.version.datadir(command("lilypond")) - if datadir: - font = ly.font.emmentaler20(datadir) - if font: - return tuple(font.glyphs()) + font = ly.version.LilyPondInstance(lilyPondCommand()).fontInfo("emmentaler-20") + if font: + return tuple(font.glyphs()) return () -@ly.lazy -def lilypondVersion(): +def lilyPondVersion(): ver = frescobaldi_app.version.defaultVersion() - return ver and ('version "%s"' % ver,) or () - -# utility functions -def config(group): - return KGlobal.config().group(group) + return ('version "{0}"'.format(ver),) if ver else () -def command(cmd): - return unicode(config("commands").readEntry(cmd, QVariant(cmd)).toString()) diff -Nru frescobaldi-1.0.2/python/frescobaldi_app/document.py frescobaldi-1.1.1/python/frescobaldi_app/document.py --- frescobaldi-1.0.2/python/frescobaldi_app/document.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/frescobaldi_app/document.py 2010-03-03 09:57:12.000000000 +0000 @@ -17,12 +17,14 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ Advanced manipulations on LilyPond documents. """ import os, re, weakref -from rational import Rational +from fractions import Fraction from PyQt4 import QtCore, QtGui @@ -31,7 +33,8 @@ from PyKDE4.ktexteditor import KTextEditor import ly.rx, ly.pitch, ly.parse, ly.tokenize, ly.tools, ly.version -from kateshell.app import lazymethod +from kateshell.app import cacheresult +from frescobaldi_app.mainapp import lilyPondCommand from frescobaldi_app.widgets import promptText @@ -51,8 +54,7 @@ a.setCheckable(True) if lang == currentLang: a.setChecked(True) - QtCore.QObject.connect(a, QtCore.SIGNAL("triggered()"), - lambda lang=lang: self.changeLanguage(lang)) + a.triggered.connect((lambda lang: lambda: self.changeLanguage(lang))(lang)) def changeLanguage(self, lang): """ @@ -70,17 +72,16 @@ return # Apply the changes. - self.doc.doc.startEditing() - changes.applyToCursor(EditCursor(self.doc.doc)) - if not start and not includeCommandChanged: - self.addLineToTop('\\include "%s.ly"' % lang) - self.doc.doc.endEditing() + with self.doc.editContext(): + changes.applyToCursor(EditCursor(self.doc.doc)) + if not start and not includeCommandChanged: + self.addLineToTop('\\include "{0}.ly"'.format(lang)) if start and not includeCommandChanged: KMessageBox.information(self.doc.app.mainwin, - '

%s

\\include "%s.ly"

' % - (i18n("The pitch language of the selected text has been " - "updated, but you need to manually add the following " - "command to your document:"), lang), + '

{0}

\\include "{1}.ly"

'.format( + i18n("The pitch language of the selected text has been " + "updated, but you need to manually add the following " + "command to your document:"), lang), i18n("Pitch Name Language")) def addLineToTop(self, text): @@ -163,10 +164,10 @@ text = self.doc.selectionText().strip() if '\n' in text: - result = "%s =%s {\n%s\n}\n" % (name, mode, text) + result = "{0} ={1} {{\n{2}\n}}\n".format(name, mode, text) result = self.doc.indent(result) else: - result = "%s =%s { %s }\n" % (name, mode, text) + result = "{0} ={1} {{ {2} }}\n".format(name, mode, text) if not isblank(self.doc.line(insertLine)): result += '\n' @@ -174,17 +175,16 @@ result = '\n' + result # add space if necessary - variable = "\\%s" % name + variable = "\\" + name end = selRange.end() if not isblank(self.doc.line(end.line())[end.column():end.column()+1]): variable += " " # do it: cursor = KTextEditor.Cursor(insertLine, 0) - self.doc.doc.startEditing() - self.doc.replaceSelectionWith(variable, keepSelection=False) - self.doc.doc.insertText(cursor, result) - self.doc.doc.endEditing() + with self.doc.editContext(): + self.doc.replaceSelectionWith(variable, keepSelection=False) + self.doc.doc.insertText(cursor, result) def repeatLastExpression(self): """ @@ -196,8 +196,8 @@ while lineNum > 0 and isblank(self.doc.line(lineNum)): lineNum -= 1 - text = unicode(self.doc.doc.text( - KTextEditor.Range(KTextEditor.Cursor(lineNum, 0), curPos))) + text = self.doc.doc.text( + KTextEditor.Range(KTextEditor.Cursor(lineNum, 0), curPos)) matchObj = None for m in ly.rx.chord.finditer(text): if m.group('chord'): @@ -240,7 +240,7 @@ col = curPos.column() if col > 0 and not isblank(self.doc.line()[col-1]): result = " " + result - self.doc.view.insertText(result + " ") + self.doc.view.insertText(result) def selectLines(self): """ @@ -344,7 +344,7 @@ # adjust end: text = self.doc.line(end.line()) col = end.column() - if re.match("%s|%s" % (ly.rx.step, ly.rx.rest), text[col:]): + if re.match(ly.rx.step + "|" + ly.rx.rest, text[col:]): for m in ly.rx.chord_rest.finditer(text): if (m.group('chord') and m.start('chord') <= col <= m.end('chord')): @@ -385,13 +385,12 @@ # We don't just replace the text, because that would destroy smart # point and click. We only replace the indents. - self.doc.doc.startEditing() - for old, new in zip(oldindents, newindents): - if old != new: - self.doc.doc.replaceText( - KTextEditor.Range(startline, 0, startline, len(old)), new) - startline += 1 - self.doc.doc.endEditing() + with self.doc.editContext(): + for old, new in zip(oldindents, newindents): + if old != new: + self.doc.doc.replaceText( + KTextEditor.Range(startline, 0, startline, len(old)), new) + startline += 1 self.doc.view.removeSelection() def populateContextMenu(self, menu): @@ -450,8 +449,7 @@ if m.start() <= col <= m.end(): fileName = m.group(1) a = menu.addAction(KIcon("document-open"), i18n("Open %1", fileName)) - QtCore.QObject.connect(a, QtCore.SIGNAL("triggered()"), - lambda: self.openIncludeFile(fileName)) + a.triggered.connect(lambda: self.openIncludeFile(fileName)) return # Rhythm submenu @@ -478,8 +476,11 @@ # Hyphenate Lyrics if selection and isinstance(tokenizer.parser(), tokenizer.LyricModeParser): + menu.addSeparator() menu.addAction( self.doc.app.mainwin.actionCollection().action("lyrics_hyphen")) + menu.addAction( + self.doc.app.mainwin.actionCollection().action("lyrics_copy_dehyphen")) def openIncludeFile(self, fileName): """ @@ -494,7 +495,7 @@ localdir = self.doc.app.defaultDirectory() or os.getcwd() url = os.path.normpath(os.path.join(localdir, fileName)) if not os.path.exists(url): - datadir = ly.version.datadir(lilypondCommand()) + datadir = ly.version.LilyPondInstance(lilyPondCommand()).datadir() if datadir and os.path.exists(os.path.join(datadir, 'ly', fileName)): url = os.path.join(datadir, 'ly', fileName) self.doc.app.openUrl(url).setActive() @@ -507,24 +508,24 @@ """ selection = self.doc.selectionText() if selection: - repl = double and u'\u201C%s\u201D' or u'\u2018%s\u2019' - self.doc.replaceSelectionWith(repl % selection, keepSelection=False) + repl = double and '\u201C{0}\u201D' or '\u2018{0}\u2019' + self.doc.replaceSelectionWith(repl.format(selection), keepSelection=False) else: cursor = self.doc.view.cursorPosition() line, col = cursor.line(), cursor.column() right = col > 0 and self.doc.line(line)[col-1] not in '" \t' self.doc.view.insertText({ - (False, False): u'\u2018', # LEFT SINGLE QUOTATION MARK - (False, True ): u'\u2019', # RIGHT SINGLE QUOTATION MARK - (True, False): u'\u201C', # LEFT DOUBLE QUOTATION MARK - (True, True ): u'\u201D', # RIGHT DOUBLE QUOTATION MARK + (False, False): '\u2018', # LEFT SINGLE QUOTATION MARK + (False, True ): '\u2019', # RIGHT SINGLE QUOTATION MARK + (True, False): '\u201C', # LEFT DOUBLE QUOTATION MARK + (True, True ): '\u201D', # RIGHT DOUBLE QUOTATION MARK }[(double, right)]) def insertBarLine(self, bar): """ Insert a \\bar ".." command with the given type. """ - self.doc.view.insertText('\\bar "%s"' % bar) + self.doc.view.insertText('\\bar "{0}"'.format(bar)) def insertTemplate(self, text, cursor=None, remove=None, doIndent=True): """ @@ -579,10 +580,9 @@ cur.walk(text[pos:m.end('full')]) pos = m.end('full') insertions.append(cur.kteCursor()) - self.doc.doc.startEditing() - for i in reversed(insertions): - self.doc.doc.insertText(i, art) - self.doc.doc.endEditing() + with self.doc.editContext(): + for i in reversed(insertions): + self.doc.doc.insertText(i, art) self.doc.view.removeSelection() else: self.adjustCursorToChords() @@ -601,13 +601,13 @@ space1, sel, space2 = re.compile( r'^(\s*)(.*?)(\s*)$', re.DOTALL).match(text).groups() if alwaysMultiLine or '\n' in text: - result = "%s\n%s\n%s" % (before, sel, after) + result = "{0}\n{1}\n{2}".format(before, sel, after) # indent the result corresponding with the first selection line. selRange = self.doc.view.selectionRange() indentDepth = self.doc.currentIndent(selRange.start(), False) result = self.doc.indent(result, indentDepth).lstrip() else: - result = "%s %s %s" % (before, sel, after) + result = "{0} {1} {2}".format(before, sel, after) # re-add the space at start and end of selection return ''.join((space1, result, space2)) @@ -622,30 +622,29 @@ if selRange.start().position() == (0, 0): return text = self.doc.selectionText() - self.doc.doc.startEditing() - atStart = cursor.position() == selRange.start().position() - # Determine current depth (we could be in a long \book block) - tokenizer = ly.tokenize.Tokenizer() - for token in tokenizer.tokens(self.doc.textToCursor(selRange.start())): - pass - self.doc.doc.removeText(selRange) - insert = KTextEditor.Cursor(0, 0) - for r in reversed(list(self.findBlankLines(tokenizer.depth()))): - if r.end().position() < selRange.start().position(): - insert.setLine(r.end().line()) - break - cursor = Cursor(insert) - if not text.endswith('\n'): - text += '\n' - cursor.walk(text) - self.doc.doc.insertText(insert, text) + with self.doc.editContext(): + atStart = cursor.position() == selRange.start().position() + # Determine current depth (we could be in a long \book block) + tokenizer = ly.tokenize.Tokenizer() + for token in tokenizer.tokens(self.doc.textToCursor(selRange.start())): + pass + self.doc.doc.removeText(selRange) + insert = KTextEditor.Cursor(0, 0) + for r in reversed(list(self.findBlankLines(tokenizer.depth()))): + if r.end().position() < selRange.start().position(): + insert.setLine(r.end().line()) + break + cursor = Cursor(insert) + if not text.endswith('\n'): + text += '\n' + cursor.walk(text) + self.doc.doc.insertText(insert, text) selRange = KTextEditor.Range(insert, cursor.kteCursor()) self.doc.view.setSelection(selRange) if atStart: self.doc.view.setCursorPosition(selRange.start()) else: self.doc.view.setCursorPosition(selRange.end()) - self.doc.doc.endEditing() def moveSelectionDown(self): """ @@ -659,34 +658,33 @@ if selRange.end().position() == docRange.end().position(): return text = self.doc.selectionText() - self.doc.doc.startEditing() - atStart = cursor.position() == selRange.start().position() - # Determine current depth (we could be in a long \book block) - tokenizer = ly.tokenize.Tokenizer() - for token in tokenizer.tokens(self.doc.textToCursor(selRange.start())): - pass - self.doc.doc.removeText(selRange) - for r in self.findBlankLines(tokenizer.depth()): - if r.start().position() > selRange.start().position(): - insert = KTextEditor.Cursor(r.end().line(), 0) - break - else: - docRange = self.doc.doc.documentRange() - self.doc.doc.insertText(docRange.end(), '\n') - docRange = self.doc.doc.documentRange() - insert = docRange.end() - cursor = Cursor(insert) - if not text.endswith('\n'): - text += '\n' - cursor.walk(text) - self.doc.doc.insertText(insert, text) + with self.doc.editContext(): + atStart = cursor.position() == selRange.start().position() + # Determine current depth (we could be in a long \book block) + tokenizer = ly.tokenize.Tokenizer() + for token in tokenizer.tokens(self.doc.textToCursor(selRange.start())): + pass + self.doc.doc.removeText(selRange) + for r in self.findBlankLines(tokenizer.depth()): + if r.start().position() > selRange.start().position(): + insert = KTextEditor.Cursor(r.end().line(), 0) + break + else: + docRange = self.doc.doc.documentRange() + self.doc.doc.insertText(docRange.end(), '\n') + docRange = self.doc.doc.documentRange() + insert = docRange.end() + cursor = Cursor(insert) + if not text.endswith('\n'): + text += '\n' + cursor.walk(text) + self.doc.doc.insertText(insert, text) selRange = KTextEditor.Range(insert, cursor.kteCursor()) self.doc.view.setSelection(selRange) if atStart: self.doc.view.setCursorPosition(selRange.start()) else: self.doc.view.setCursorPosition(selRange.end()) - self.doc.doc.endEditing() def convertRelativeToAbsolute(self): """ @@ -737,7 +735,7 @@ "that are not available in the pitch language \"%1\".", language)) - @lazymethod + @cacheresult def transposeDialog(self): return TransposeDialog(self.doc.view) @@ -778,7 +776,7 @@ self.fromPitch.clear() for octave in (",", "", "'"): for note in range(7): - for alter in Rational(-1, 2), 0, Rational(1, 2): + for alter in Fraction(-1, 2), 0, Fraction(1, 2): self.fromPitch.insertItem(0, ly.pitch.pitchWriter[language](note, alter) + octave) fromIndex != -1 and self.fromPitch.setCurrentIndex(fromIndex) @@ -802,7 +800,7 @@ return KDialog.exec_(self) def pitchFrom(self, combobox): - t = unicode(combobox.currentText()) + t = combobox.currentText() p = ly.pitch.Pitch() p.octave = t.count("'") - t.count(",") result = ly.pitch.pitchReader[self.language]( @@ -881,15 +879,17 @@ """ Translates changes to a Python string in a ly.tokenize.ChangeList to changes to a KTextEditor.Document and applies them. + Can be used as a context manager, in which case it folds all edits + in one undo action. """ def __init__(self, doc): super(EditCursor, self).__init__() self.doc = doc - def startEditing(self): + def __enter__(self): self.doc.startEditing() - def endEditing(self): + def __exit__(self, *args): self.doc.endEditing() def insertText(self, text): @@ -908,8 +908,3 @@ def isblank(text): """ Returns True if text is None, empty or only contains spaces. """ return not text or text.isspace() - -def lilypondCommand(): - """ Returns the user's preferred lilypond command. """ - return unicode(KGlobal.config().group("commands").readEntry("lilypond", - QtCore.QVariant("lilypond")).toString()) diff -Nru frescobaldi-1.0.2/python/frescobaldi_app/expand.py frescobaldi-1.1.1/python/frescobaldi_app/expand.py --- frescobaldi-1.0.2/python/frescobaldi_app/expand.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/frescobaldi_app/expand.py 2009-12-30 20:32:29.000000000 +0000 @@ -17,41 +17,43 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ Expand Manager, manages expansions. """ import re -from PyQt4.QtCore import QObject, QString, QTimer, Qt, QVariant, SIGNAL +from PyQt4.QtCore import Qt from PyQt4.QtGui import ( - QFont, QKeySequence, QSplitter, QTextEdit, QTreeWidget, QTreeWidgetItem, - QVBoxLayout) + QFont, QSplitter, QTextEdit, QTreeWidget, QTreeWidgetItem, QVBoxLayout) from PyKDE4.kdecore import KConfig, KGlobal, i18n from PyKDE4.kdeui import ( - KDialog, KKeySequenceWidget, KMessageBox, KShortcut, KStandardGuiItem, + KDialog, KKeySequenceWidget, KMessageBox, KStandardGuiItem, KTreeWidgetSearchLine, KVBox) from PyKDE4.ktexteditor import KTextEditor import ly.parse, ly.pitch -from kateshell.app import lazymethod +from kateshell.app import cacheresult +from kateshell.shortcut import ShortcutClient from frescobaldi_app.highlight import LilyPondHighlighter -class ExpandManager(object): +class ExpandManager(ShortcutClient): def __init__(self, mainwin): self.mainwin = mainwin - self.shortcuts = mainwin.expansionShortcuts + ShortcutClient.__init__(self, mainwin.expansionShortcuts) self.expansions = KConfig("expansions", KConfig.NoGlobals, "appdata") # delete shortcut actions that do not exist here anymore - self.shortcuts.shakeHands(self.expansionsList()) + self.shakeHands(self.expansionsList()) def actionTriggered(self, name): return self.doExpand(name) - def populateAction(self, action): - action.setText(self.description(action.objectName())) + def populateAction(self, name, action): + action.setText(self.description(name)) def expand(self): """ @@ -75,7 +77,7 @@ # open dialog and let the user choose self.expansionDialog().show() - @lazymethod + @cacheresult def expansionDialog(self): return ExpansionDialog(self) @@ -94,7 +96,7 @@ """ Return the description for the expansion name. """ - return unicode(self.expansions.group(name).readEntry("Name", QVariant("")).toString()) + return self.expansions.group(name).readEntry("Name", "") def doExpand(self, expansion, remove=None): """ @@ -104,7 +106,7 @@ doc = self.mainwin.currentDocument() group = self.expansions.group(expansion) - text = unicode(group.readEntry("Text", QVariant("")).toString()) + text = group.readEntry("Text", "") # where to insert the text: cursor = remove and remove.start() or doc.view.cursorPosition() @@ -150,7 +152,7 @@ KDialog.Ok | KDialog.Close | KDialog.User1 | KDialog.User2 )) self.setButtonGuiItem(KDialog.User1, KStandardGuiItem.remove()) self.setButtonGuiItem(KDialog.User2, KStandardGuiItem.add()) - QObject.connect(self, SIGNAL("closeClicked()"), self.reject) + self.closeClicked.connect(self.reject) self.setDefaultButton(KDialog.Ok) self.setHelp("expand") @@ -203,15 +205,14 @@ edit.setWhatsThis( "" - "

%s

" - "" - "" - "
(|)%s
@%s
" - % (i18n( - "This is the text associated with the selected shortcut. " - "Some characters have special meaning:"), + "

{0}

" + "" + "" + "
(|){1}
@{2}
".format( + i18n("This is the text associated with the selected shortcut. " + "Some characters have special meaning:"), i18n("Place the cursor on this spot."), i18n("Translate the following pitch."), )) @@ -225,32 +226,28 @@ # load the expansions for name in sorted(self.manager.expansionsList()): - self.createItem(name, self.manager.description(name), - self.manager.shortcuts.shortcut(name)) + self.createItem(name, self.manager.description(name)) tree.sortByColumn(1, Qt.AscendingOrder) tree.setSortingEnabled(True) tree.resizeColumnToContents(1) - QObject.connect(self, SIGNAL("user1Clicked()"), self.removeItem) - QObject.connect(self, SIGNAL("user2Clicked()"), self.addItem) - QObject.connect(edit, SIGNAL("textChanged()"), self.editChanged) - QObject.connect(search, SIGNAL("textChanged(QString)"), self.checkMatch) - QObject.connect(tree, SIGNAL("itemSelectionChanged()"), self.updateSelection) - QObject.connect(tree, SIGNAL("itemChanged(QTreeWidgetItem*, int)"), - self.itemChanged, Qt.QueuedConnection) - QObject.connect(key, SIGNAL("keySequenceChanged (QKeySequence)"), - self.keySequenceChanged) + self.user1Clicked.connect(self.removeItem) + self.user2Clicked.connect(self.addItem) + edit.textChanged.connect(self.editChanged) + search.textChanged.connect(self.checkMatch) + tree.itemSelectionChanged.connect(self.updateSelection) + tree.itemChanged.connect(self.itemChanged, Qt.QueuedConnection) + key.keySequenceChanged.connect(self.keySequenceChanged) - def createItem(self, name, description, key=None): - """ Create a new item, if key is given it should be a KShortcut. """ + def createItem(self, name, description): + """ Create a new item. """ item = QTreeWidgetItem(self.treeWidget) item.groupName = name item.setFont(0, QFont("monospace")) item.setText(0, name) item.setText(1, description) - if key: - item.setText(2, key.toList()[0].toString()) + item.setText(2, self.manager.shortcutText(name)) item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEditable | Qt.ItemIsEnabled) return item @@ -264,11 +261,11 @@ name = "new" while self.manager.expansionExists(name): num += 1 - name = "new%d" % num + name = "new{0}".format(num) description = i18n("New Item") if num: - description += " %d" % num - self.manager.expansions.group(name).writeEntry("Name", QVariant(unicode(description))) + description += " {0}".format(num) + self.manager.expansions.group(name).writeEntry("Name", description) self.searchLine.clear() # otherwise strange things happen... item = self.createItem(name, description) if self.edit.item is None: @@ -290,7 +287,7 @@ index = self.treeWidget.indexOfTopLevelItem(item) setIndex = index + 1 < self.treeWidget.topLevelItemCount() self.manager.expansions.deleteGroup(item.groupName) - self.manager.shortcuts.removeShortcut(item.groupName) + self.manager.removeShortcut(item.groupName) self.treeWidget.takeTopLevelItem(index) if setIndex: self.setCurrentItem(self.treeWidget.topLevelItem(index)) @@ -326,12 +323,12 @@ if items: name = items[0].text(0) group = self.manager.expansions.group(name) - self.edit.setPlainText(group.readEntry("Text", QVariant("")).toString()) + self.edit.setPlainText(group.readEntry("Text", "")) self.edit.item = items[0] self.edit.dirty = False # key shortcut widget self.key.setEnabled(True) - self.loadShortcut(name) + self.manager.keyLoadShortcut(self.key, name) else: self.edit.item = None self.edit.clear() @@ -349,7 +346,7 @@ "Please use a different name.")) item.setText(0, item.groupName) self.treeWidget.editItem(item, 0) - elif not re.match(r"\w+$", unicode(item.text(0))): + elif not re.match(r"\w+$", item.text(0)): KMessageBox.error(self.manager.mainwin, i18n( "Please only use letters, numbers and the underscore " "character in the expansion name.")) @@ -359,32 +356,29 @@ # apply the changed mnemonic old, new = item.groupName, item.text(0) group = self.manager.expansions.group(new) - group.writeEntry("Name", QVariant(unicode(item.text(1)))) - group.writeEntry("Text", QVariant(unicode(self.manager.expansions.group( - old).readEntry("Text", QVariant("")).toString()))) + group.writeEntry("Name", item.text(1)) + group.writeEntry("Text", self.manager.expansions.group(old).readEntry("Text", "")) self.manager.expansions.deleteGroup(old) # move the shortcut - s = self.manager.shortcuts - if s.shortcut(old): - s.setShortcut(new, s.shortcut(old)) - s.removeShortcut(old) + if self.manager.shortcut(old): + self.manager.setShortcut(new, self.manager.shortcut(old)) + self.manager.removeShortcut(old) item.groupName = item.text(0) self.treeWidget.scrollToItem(item) elif column == 1: group = self.manager.expansions.group(item.text(0)) if item.text(1): - group.writeEntry("Name", QVariant(unicode(item.text(1)))) + group.writeEntry("Name", item.text(1)) self.treeWidget.scrollToItem(item) self.treeWidget.resizeColumnToContents(1) else: KMessageBox.error(self.manager.mainwin, i18n( "Please don't leave the description empty.")) - item.setText(1, group.readEntry("Name", QVariant("")).toString()) + item.setText(1, group.readEntry("Name", "")) self.treeWidget.editItem(item, 1) elif column == 2: # User should not edit textual representation of shortcut - key = self.manager.shortcuts.shortcut(item.text(0)) - item.setText(2, key and key.toList()[0].toString() or '') + item.setText(2, self.manager.shortcutText(item.text(0))) def editChanged(self): """ Marks our edit view as changed. """ @@ -394,47 +388,33 @@ """ (Internal use) save the edit if it has changed. """ if self.edit.dirty and self.edit.item: self.manager.expansions.group(self.edit.item.text(0)).writeEntry( - "Text", QVariant(unicode(self.edit.toPlainText()))) + "Text", self.edit.toPlainText()) self.edit.dirty = False def keySequenceChanged(self, seq): """ Called when the user has changed the keyboard shortcut. """ item = self.currentItem() if item: - self.key.applyStealShortcut() - self.manager.shortcuts.setShortcut( - item.text(0), KShortcut(seq)) + self.manager.keySaveShortcut(self.key, item.text(0), seq) item.setText(2, seq.toString()) self.updateShortcuts() - def loadShortcut(self, name): - """ Sets the shortcut button to the shortcut for the given name. """ - key = self.manager.shortcuts.shortcut(name) - block = self.key.blockSignals(True) - self.key.setKeySequence(key and key.toList()[0] or QKeySequence()) - self.key.blockSignals(block) - def updateShortcuts(self): """ Checks if shortcuts have disappeared by stealing them from other keyboard shortcut dialogs. And initialize the shortcut button to check for collisions. """ - names = self.manager.shortcuts.shortcuts() + names = self.manager.shortcuts() for item in self.items(): if item.text(2) and item.text(0) not in names: item.setText(2, '') elif item.text(0) in names: - key = self.manager.shortcuts.shortcut(item.text(0)) - item.setText(2, key and key.toList()[0].toString() or '') + item.setText(2, self.manager.shortcutText(item.text(0))) item = self.currentItem() if item: - self.loadShortcut(item.text(0)) - self.key.setCheckActionCollections([ - self.manager.mainwin.actionCollection(), - self.manager.mainwin.view().actionCollection(), - self.manager.shortcuts.actionCollection(), - ]) + self.manager.keyLoadShortcut(self.key, item.text(0)) + self.manager.keySetCheckActionCollections(self.key) def show(self): self.updateShortcuts() @@ -464,7 +444,7 @@ def repl(m): matches.append((m.start(), len(m.group()))) return ' ' * len(m.group()) - text = re.compile(r"\(\|\)|@").sub(repl, unicode(text)) + text = re.compile(r"\(\|\)|@").sub(repl, text) super(ExpandHighlighter, self).highlightBlock(text) for start, count in matches: self.setFormat(start, count, self.formats['special']) diff -Nru frescobaldi-1.0.2/python/frescobaldi_app/highlight.py frescobaldi-1.1.1/python/frescobaldi_app/highlight.py --- frescobaldi-1.0.2/python/frescobaldi_app/highlight.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/frescobaldi_app/highlight.py 2009-12-30 20:32:29.000000000 +0000 @@ -17,6 +17,8 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ Basic LilyPond syntax highlighter for QTextEdit. """ @@ -65,7 +67,6 @@ self.state = [] def highlightBlock(self, text): - text = unicode(text) tokenizer = ly.tokenize.Tokenizer() previous = self.previousBlockState() if 0 <= previous < len(self.state): diff -Nru frescobaldi-1.0.2/python/frescobaldi_app/hyphen.py frescobaldi-1.1.1/python/frescobaldi_app/hyphen.py --- frescobaldi-1.0.2/python/frescobaldi_app/hyphen.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/frescobaldi_app/hyphen.py 2010-04-07 19:36:51.000000000 +0100 @@ -17,6 +17,8 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ Hyphenator functionality for Frescobaldi """ import locale, os, re @@ -25,17 +27,16 @@ import ly.rx from hyphenator import Hyphenator -from PyQt4.QtCore import QVariant -from PyQt4.QtGui import QLabel, QListWidget +from PyQt4.QtGui import QLabel, QListWidget, QVBoxLayout from PyKDE4.kdecore import KConfig, KGlobal, i18n -from PyKDE4.kdeui import KDialog, KVBox +from PyKDE4.kdeui import KDialog, KMessageBox try: language, encoding = locale.getdefaultlocale() except ValueError: language, encoding = None, None -defaultPaths = ( +defaultPaths = [ 'share/dict/ooo', 'lib/openoffice/share/dict/ooo', '/opt/OpenOffice.org/share/dict/ooo', @@ -47,7 +48,7 @@ 'share/myspell', 'share/myspell/dicts', 'share/hunspell', -) +] hyphdicts = {} @@ -60,23 +61,22 @@ def paths(): """ build a list of paths based on config """ # in which prefixes to look for relative paths - prefixes = unicode(KGlobal.dirs().kfsstnd_prefixes()).split(os.pathsep) + prefixes = KGlobal.dirs().kfsstnd_prefixes().split(os.pathsep) prefixes = set(prefixes + ['/usr/', '/usr/local/']) # if the path is not absolute, add it to all prefixes. - for path in conf.readEntry("paths", QVariant(defaultPaths)).toStringList(): - path = unicode(path) + for path in conf.readEntry("paths", defaultPaths): if os.path.isabs(path): yield path else: for pref in prefixes: yield os.path.join(pref, path) for d in KGlobal.dirs().findDirs("data", path): - yield unicode(d) + yield d # now find the hyph_xx_XX.dic files dicfiles = (f for p in paths() if os.path.isdir(p) - for f in glob(os.path.join(p, 'hyph_*.dic')) if os.path.isfile(f)) + for f in glob(os.path.join(p, 'hyph_*.dic')) if os.access(f, os.R_OK)) # default to the users current locale if not used before defaultlang = None @@ -91,7 +91,7 @@ for i in lang, lang.split('_')[0]: name = KGlobal.locale().languageCodeToName(i) if name: - name = u'%s (%s)' % (name, lang) + name = '{0} ({1})'.format(name, lang) hyphdicts[name] = dic # set current locale as default if lang == language: @@ -101,8 +101,8 @@ hyphdicts[lang] = dic # if not used before, write the current locale (if existing) as default - if defaultlang and unicode(conf.readEntry("lastused", QVariant("")).toString()) not in hyphdicts: - conf.writeEntry("lastused", QVariant(defaultlang)) + if defaultlang and conf.readEntry("lastused", "") not in hyphdicts: + conf.writeEntry("lastused", defaultlang) conf.sync() findDicts() @@ -111,10 +111,19 @@ def hyphenate(text, mainwindow): """ Ask the user which language to use. - Returns None if the user cancels the dialog. + Returns None if the user cancels the dialog or no hyphenation pattern files + could be found. """ + if not hyphdicts: + KMessageBox.sorry(mainwindow, i18n( + "Could not find any hyphenation dictionaries.\n\n" + "Please install a package containing some and/or or configure the " + "search path to find them in the Frescobaldi settings under " + "\"Paths.\"")) + return + conf = config("hyphenation") - lang = conf.readEntry("lastused", QVariant("")).toString() + lang = conf.readEntry("lastused", "") langs = list(sorted(hyphdicts.keys())) index = lang in langs and langs.index(lang) or 0 @@ -122,16 +131,17 @@ d.setButtons(KDialog.ButtonCode(KDialog.Ok | KDialog.Cancel | KDialog.Help)) d.setCaption(i18n("Hyphenate Lyrics Text")) d.setHelp("lyrics") - v = KVBox(d) - d.setMainWidget(v) - QLabel(i18n("Please select a language:"), v) - listbox = QListWidget(v) + layout = QVBoxLayout() + d.mainWidget().setLayout(layout) + layout.addWidget(QLabel(i18n("Please select a language:"))) + listbox = QListWidget() + layout.addWidget(listbox) listbox.addItems(langs) listbox.setCurrentRow(index) listbox.setFocus() - if d.exec_() and hyphdicts: + if d.exec_(): lang = langs[listbox.currentRow()] - conf.writeEntry("lastused", QVariant(lang)) + conf.writeEntry("lastused", lang) conf.sync() # get hyphenator h = Hyphenator(hyphdicts[lang]) diff -Nru frescobaldi-1.0.2/python/frescobaldi_app/__init__.py frescobaldi-1.1.1/python/frescobaldi_app/__init__.py --- frescobaldi-1.0.2/python/frescobaldi_app/__init__.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/frescobaldi_app/__init__.py 2009-12-30 20:32:29.000000000 +0000 @@ -17,6 +17,8 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ Bootstrap application logic for the Frescobaldi editor. """ diff -Nru frescobaldi-1.0.2/python/frescobaldi_app/install.py frescobaldi-1.1.1/python/frescobaldi_app/install.py --- frescobaldi-1.0.2/python/frescobaldi_app/install.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/frescobaldi_app/install.py 2010-01-13 23:23:48.000000000 +0000 @@ -17,24 +17,23 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ Functions that can be run if the user updates Frescobaldi to a newer version. """ -import re +import os, re -from PyQt4.QtCore import QVariant from PyKDE4.kdecore import KConfig, KGlobal -def install(app): +def install(app, oldVersion): """ Run when the version in the root config group is different from the running Frescobaldi version. """ - conf = KGlobal.config().group("") - version = tuple(map(int, - re.findall(r'\d+', unicode(conf.readEntry("version", QVariant("")).toString())))) + version = tuple(map(int, re.findall(r'\d+', oldVersion))) if not version: installKateModeRC() @@ -42,33 +41,67 @@ if version < (0, 7, 8): installOkularPartRC() + if version < (1, 1, 0): + newLilyPondConfig() + + # on every update: + checkNewExpandDefaultShortcuts() + # ... other stuff can be added here ... - # save the version of the current Frescobaldi - conf.writeEntry("version", QVariant(app.version())) - conf.sync() + def installKateModeRC(): """ Preset a few variables in the LilyPond Kate mode """ katemoderc = KConfig("katemoderc", KConfig.NoGlobals) rc = katemoderc.group("LilyPond") - rc.writeEntry("Variables", QVariant("kate: " + rc.writeEntry("Variables", "kate: " "indent-mode lilypond; " "indent-width 2; " "space-indent on; " "replace-tabs on; " "replace-tabs-save on; " - )) + ) rc.sync() def installOkularPartRC(): """ Set our custom editor command in okularpartrc """ okularpartrc = KConfig("okularpartrc", KConfig.NoGlobals) group = okularpartrc.group("General") - group.writeEntry("ExternalEditor", QVariant("Custom")) - group.writeEntry("ExternalEditorCommand", QVariant("frescobaldi --smart --line %l --column %c")) - if not group.readEntry("WatchFile", QVariant(True)).toBool(): - group.writeEntry("WatchFile", QVariant(True)) + group.writeEntry("ExternalEditor", "Custom") + group.writeEntry("ExternalEditorCommand", "frescobaldi --smart --line %l --column %c") + if not group.readEntry("WatchFile", True): + group.writeEntry("WatchFile", True) group.sync() +def newLilyPondConfig(): + """ Take old lilypond path preference over to new multi-version config (1.1.0) """ + c = KGlobal.config() + group = c.group("lilypond") + if not group.hasKey("default"): + cmds = c.group("commands") + lily = cmds.readEntry("lilypond", "lilypond") + conv = cmds.readEntry("convert-ly", "convert-ly") + if (os.path.isabs(lily) and os.path.isabs(conv) + and os.path.dirname(lily) == os.path.dirname(conv)): + conv = os.path.basename(conv) + group.writeEntry("default", lily) + group.writeEntry("paths", [lily]) + group = group.group(lily) + group.writeEntry("convert-ly", conv) + c.sync() + +def checkNewExpandDefaultShortcuts(): + """ Check the expansions file for new default shortcuts. """ + exp = KConfig("expansions", KConfig.NoGlobals, "appdata") + shc = KGlobal.config().group("expand shortcuts") + for name in exp.groupList(): + group = exp.group(name) + if group.hasKey("Name") and group.hasKey("Default Shortcut"): + shortcut = group.readEntry("Default Shortcut", "") + group.deleteEntry("Default Shortcut") + if shortcut: + shc.writeEntry(name, shortcut) + exp.sync() + shc.sync() diff -Nru frescobaldi-1.0.2/python/frescobaldi_app/lilydoc.py frescobaldi-1.1.1/python/frescobaldi_app/lilydoc.py --- frescobaldi-1.0.2/python/frescobaldi_app/lilydoc.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/frescobaldi_app/lilydoc.py 2010-03-30 09:49:02.000000000 +0100 @@ -17,6 +17,8 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ A browser tool for the LilyPond documentation. """ @@ -24,7 +26,7 @@ import glob, os, re, sip import HTMLParser -from PyQt4.QtCore import QEvent, QObject, Qt, QUrl, QVariant, SIGNAL +from PyQt4.QtCore import QEvent, QObject, Qt, QUrl, SIGNAL from PyQt4.QtGui import QGridLayout, QStackedWidget, QToolBar, QWidget from PyQt4.QtWebKit import QWebPage, QWebView @@ -54,8 +56,8 @@ Returns the configured or found url (as a string) where the LilyPond documentation is to be found. """ - url = config().readEntry("lilypond documentation", QVariant('')).toString() - return unicode(url or findLocalDocIndex() or "http://lilypond.org/doc") + url = config().readEntry("lilypond documentation", "") + return url or findLocalDocIndex() or "http://lilypond.org/doc" def findLocalDocIndex(): """ @@ -116,7 +118,7 @@ ): self.linkActions[name] = a = self.toolBar.addAction(KIcon(icon), title) a.setEnabled(False) - QObject.connect(a, SIGNAL("triggered()"), lambda name=name: self.slotRellink(name)) + a.triggered.connect((lambda name: lambda: self.slotRellink(name))(name)) # search text entry self.search = KLineEdit() @@ -125,27 +127,25 @@ self.search.setClickMessage(i18n("Search...")) # signals - QObject.connect(self.back, SIGNAL("triggered()"), self.slotBack) - QObject.connect(self.forward, SIGNAL("triggered()"), self.slotForward) - QObject.connect(self.home, SIGNAL("triggered()"), self.slotHome) - QObject.connect(self.textLarger, SIGNAL("triggered()"), self.slotLarger) - QObject.connect(self.textSmaller, SIGNAL("triggered()"), self.slotSmaller) + self.back.triggered.connect(self.slotBack) + self.forward.triggered.connect(self.slotForward) + self.home.triggered.connect(self.slotHome) + self.textLarger.triggered.connect(self.slotLarger) + self.textSmaller.triggered.connect(self.slotSmaller) - QObject.connect(self.view, SIGNAL("urlChanged(QUrl)"), self.updateActions) - QObject.connect(self.view, SIGNAL("loadFinished(bool)"), self.slotLoadFinished) + self.view.urlChanged.connect(self.updateActions) + self.view.loadFinished.connect(self.slotLoadFinished) self.view.page().setLinkDelegationPolicy(QWebPage.DelegateAllLinks) - QObject.connect(self.view.page(), SIGNAL("linkClicked(QUrl)"), self.openUrl) + self.view.page().linkClicked.connect(self.openUrl) self.view.page().setForwardUnsupportedContent(True) - QObject.connect(self.view.page(), SIGNAL("unsupportedContent(QNetworkReply*)"), - self.slotUnsupported) + self.view.page().unsupportedContent.connect(self.slotUnsupported) - QObject.connect(self.search, SIGNAL("textEdited(QString)"), self.slotSearch) - QObject.connect(self.search, SIGNAL("returnPressed()"), self.slotSearch) + self.search.textEdited.connect(self.slotSearch) + self.search.returnPressed.connect(self.slotSearch) # context menu: self.view.setContextMenuPolicy(Qt.CustomContextMenu) - QObject.connect(self.view, SIGNAL("customContextMenuRequested(QPoint)"), - self.slotShowContextMenu) + self.view.customContextMenuRequested.connect(self.slotShowContextMenu) # load initial view. self.editFontSize = 0 @@ -175,7 +175,7 @@ self.doc.setMode('LilyPond') self.doc.setEncoding('UTF-8') self.doc.setReadWrite(False) - QObject.connect(self.doc, SIGNAL("completed()"), self.slotCompleted) + self.doc.completed.connect(self.slotCompleted) self.edit = self.doc.createView(self) # remember the view font size if self.editFontSize != 0: @@ -188,14 +188,14 @@ # make backspace go out a = self.edit.actionCollection().action("backspace") if a: - QObject.connect(a, SIGNAL("triggered()"), self.slotBack) + a.triggered.connect(self.slotBack) def openUrl(self, url): # handle .ly urls and load them read-only in KatePart if self.edit: sip.delete(self.edit) self.edit = None - if url.path().endsWith('.ly'): + if url.path().endswith('.ly'): self.createEditView() self.stack.addWidget(self.edit) self.doc.openUrl(KUrl(url)) @@ -261,7 +261,7 @@ # Called when the HTML doc has loaded. # Parse HTML and display link rel='' buttons if success: - html = unicode(self.view.page().mainFrame().toHtml()) + html = self.view.page().mainFrame().toHtml() self.rellinks = RellinksParser(html, self.view.url()).links() self.updateLinkActions() @@ -313,8 +313,7 @@ menu.addAction(a) menu.addSeparator() a = menu.addAction(KIcon("window-new"), i18n("Open Link in &New Window")) - QObject.connect(a, SIGNAL("triggered()"), - lambda url=hit.linkUrl(): self.slotNewWindow(url)) + a.triggered.connect((lambda url: lambda: self.slotNewWindow(url))(hit.linkUrl())) else: if hit.isContentSelected(): a = self.view.pageAction(QWebPage.Copy) @@ -323,8 +322,7 @@ menu.addAction(a) menu.addSeparator() a = menu.addAction(KIcon("window-new"), i18n("Open Document in &New Window")) - QObject.connect(a, SIGNAL("triggered()"), - lambda url=self.view.url(): self.slotNewWindow(url)) + a.triggered.connect((lambda url: lambda: self.slotNewWindow(url))(self.view.url())) if len(menu.actions()): menu.exec_(self.view.mapToGlobal(pos)) @@ -554,9 +552,9 @@ self._url = KUrl(url) self._data = '' self._job = KIO.get(KUrl(url), KIO.NoReload, KIO.HideProgressInfo) - QObject.connect(self._job, SIGNAL("data(KIO::Job*, QByteArray)"), self.slotData) - QObject.connect(self._job, SIGNAL("redirection(KIO::Job*, KUrl)"), self.slotRedirection) - QObject.connect(self._job, SIGNAL("result(KJob*)"), self.slotResult) + self._job.data.connect(self.slotData) + self._job.redirection.connect(self.slotRedirection) + QObject.connect(self._job, SIGNAL("result(KJob*)"), self.slotResult) # new-style connection not available? self._job.start() def slotData(self, job, data): @@ -706,10 +704,8 @@ Only call this if the loading was successful! """ - a = KAction(title, menu) - menu.insertAction(self.loadingAction, a) - QObject.connect(a, SIGNAL("triggered()"), - lambda: self.tool.openUrl(self.url.resolved(KUrl(url)))) + menu.insertAction(self.loadingAction, KAction(title, menu, + triggered=lambda: self.tool.openUrl(self.url.resolved(KUrl(url))))) class NotationReferenceIndex(Index): @@ -719,6 +715,12 @@ # from 2.13 on the url scheme changed slightly 'notation/LilyPond-command-index', 'notation/LilyPond-command-index.html', + # new website layout uses lower case: + 'notation/lilypond-command-index', + 'notation/lilypond-command-index.html', + # in case the manuals.html page is used as index: + '../notation/lilypond-command-index', + '../notation/lilypond-command-index.html', ) def parse(self, html): @@ -759,6 +761,12 @@ # from 2.13 on the url scheme changed slightly 'learning/LilyPond-index', 'learning/LilyPond-index.html', + # new website layout uses lower case: + 'learning/lilypond-index', + 'learning/lilypond-index.html', + # in case the manuals.html page is used as index: + '../learning/lilypond-index', + '../learning/lilypond-index.html', ) def parse(self, html): diff -Nru frescobaldi-1.0.2/python/frescobaldi_app/lqi.py frescobaldi-1.1.1/python/frescobaldi_app/lqi.py --- frescobaldi-1.0.2/python/frescobaldi_app/lqi.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/frescobaldi_app/lqi.py 2009-12-30 20:32:29.000000000 +0000 @@ -17,37 +17,56 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ LilyPond Quick Insert Toolbox """ import re -from PyQt4.QtCore import QObject, QSize, SIGNAL +from PyQt4.QtCore import QSize, Qt from PyQt4.QtGui import ( QCheckBox, QComboBox, QGridLayout, QLabel, QToolBox, QToolButton, QWidget) from PyKDE4.kdecore import i18n -from PyKDE4.kdeui import KHBox +from PyKDE4.kdeui import KIcon, KHBox, KMenu import ly.articulation +from kateshell.shortcut import UserShortcutDispatcher, ShortcutDispatcherClient from frescobaldi_app.mainapp import SymbolManager -class ToolBox(SymbolManager, QToolBox): +class QuickInsertPanel(SymbolManager, UserShortcutDispatcher, QToolBox): + """ + The Quick Insert Panel manages its own actionCollection of shortcuts in + the QuickInsertShortcuts instance of the mainwindow. + + If the user presses a keyboard shortcut, the Quick Insert Panel is loaded, + and the action is dispatched to the tool it originated from. + + The actions are named with this format: 'tool:name'. So the correct + tool can always be found. + """ def __init__(self, tool): QToolBox.__init__(self) SymbolManager.__init__(self) + UserShortcutDispatcher.__init__(self, tool.mainwin.quickInsertShortcuts) self.mainwin = tool.mainwin Articulations(self) self.setMinimumWidth(self.sizeHint().width()) - -class Lqi(QWidget): + + +class Lqi(ShortcutDispatcherClient, QWidget): """ Abstract base class for LilyPond Quick Insert tools """ - def __init__(self, toolbox, label, icon="", tooltip=""): + def __init__(self, toolbox, name, title, icon="", symbol="", tooltip=""): QWidget.__init__(self, toolbox) + ShortcutDispatcherClient.__init__(self, toolbox, name) + self.toolbox = toolbox self.mainwin = toolbox.mainwin - i = toolbox.addItem(self, label) + i = toolbox.addItem(self, title) if icon: - toolbox.addItemSymbol(toolbox, i, icon) + toolbox.setItemIcon(i, KIcon(icon)) + elif symbol: + toolbox.addItemSymbol(toolbox, i, symbol) if tooltip: toolbox.setItemToolTip(i, tooltip) @@ -59,15 +78,16 @@ If text (music) is selected, the articulation will be added to all notes. """ def __init__(self, toolbox): - Lqi.__init__(self, toolbox, i18n("Articulations"), 'articulation_prall', - i18n("Different kinds of articulations and other signs.")) + Lqi.__init__(self, toolbox, 'articulation', + i18n("Articulations"), symbol='articulation_prall', + tooltip=i18n("Different kinds of articulations and other signs.")) layout = QGridLayout(self) layout.setSpacing(0) row = 0 cols = 5 - self.shorthands = QCheckBox(i18n("Allow shorthands"), self) + self.shorthands = QCheckBox(i18n("Allow shorthands")) self.shorthands.setChecked(True) self.shorthands.setToolTip(i18n( "Use short notation for some articulations like staccato.")) @@ -85,20 +105,22 @@ h.setToolTip(i18n("The direction to use for the articulations.")) row += 1 + self.titles = dict(ly.articulation.articulations(i18n)) for title, group in ly.articulation.groups(i18n): - layout.addWidget( - QLabel('%s:' % title, self), row, 0, 1, cols) + layout.addWidget(QLabel('{0}:'.format(title)), row, 0, 1, cols) row += 1 col = 0 for sign, title in group: - b = QToolButton(self) + b = QToolButton(clicked=(lambda sign: lambda: self.writeSign(sign))(sign)) + b.setContextMenuPolicy(Qt.CustomContextMenu) + b.customContextMenuRequested.connect((lambda button, sign: + lambda pos: self.showContextMenu(sign, button.mapToGlobal(pos))) + (b, sign)) b.setAutoRaise(True) # load and convert the icon to the default text color - toolbox.addSymbol(b, 'articulation_%s' % sign, 22) + toolbox.addSymbol(b, 'articulation_' + sign, 22) b.setIconSize(QSize(22, 22)) - b.setToolTip('%s (\\%s)' % (title, sign)) - QObject.connect(b, SIGNAL("clicked()"), - lambda sign = sign: self.writeSign(sign)) + b.setToolTip('{0} (\\{1})'.format(title, sign)) layout.addWidget(b, row, col) col += 1 if col >= cols: @@ -108,10 +130,10 @@ row += 1 # help text - l = QLabel("

%s

%s

" % ( + l = QLabel("

{0}

{1}

".format( i18n("Click an articulation sign to add it to your document."), i18n("If you select some music first, the articulation will " - "be added to all notes in the selection.")), self) + "be added to all notes in the selection."))) l.setWordWrap(True) layout.addWidget(l, row, 0, 4, cols) @@ -129,5 +151,27 @@ doc = self.mainwin.currentDocument() doc.manipulator().addArticulation(art) doc.view.setFocus() + + def showContextMenu(self, name, pos): + menu = KMenu(self.mainwin) + menu.aboutToHide.connect(menu.deleteLater) + a = menu.addAction(KIcon("accessories-character-map"), + i18n("Configure Keyboard Shortcut (%1)", self.shortcutText(name) or i18n("None"))) + a.triggered.connect(lambda: self.editShortcut(name)) + menu.popup(pos) + + def editShortcut(self, name): + title = self.titles[name] + icon = self.toolbox.symbolIcon('articulation_' + name, 22) + super(Articulations, self).editShortcut(name, title, icon) + self.mainwin.currentDocument().view.setFocus() + def actionTriggered(self, name): + self.writeSign(name) + + def populateAction(self, name, action): + if name in self.titles: + action.setText(self.titles[name]) + self.toolbox.addSymbol(action, 'articulation_' + name) + diff -Nru frescobaldi-1.0.2/python/frescobaldi_app/mainapp.py frescobaldi-1.1.1/python/frescobaldi_app/mainapp.py --- frescobaldi-1.0.2/python/frescobaldi_app/mainapp.py 2010-02-16 08:44:16.000000000 +0000 +++ frescobaldi-1.1.1/python/frescobaldi_app/mainapp.py 2010-02-16 08:56:35.000000000 +0000 @@ -17,11 +17,12 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + import os, re, sip, weakref from dbus.service import method -from PyQt4.QtCore import ( - QEvent, QObject, QSize, QString, QTimer, QVariant, Qt, SIGNAL) +from PyQt4.QtCore import QEvent, QSize, QTimer, Qt from PyQt4.QtGui import ( QActionGroup, QColor, QIcon, QLabel, QPalette, QPixmap, QProgressBar, QStackedWidget, QWidget) @@ -33,7 +34,7 @@ from PyKDE4.ktexteditor import KTextEditor import kateshell.app, kateshell.mainwindow -from kateshell.app import lazymethod +from kateshell.app import cacheresult # Constants ... @@ -50,22 +51,23 @@ def __init__(self, servicePrefix): kateshell.app.MainApp.__init__(self, servicePrefix) # just set now because we are translated - self.fileTypes = ["*.ly *.ily *.lyi|%s" % i18n("LilyPond files")] + self.fileTypes = ["*.ly *.ily *.lyi|" + i18n("LilyPond files")] # Put ourselves in environment so ktexteditservice can find us os.environ["TEXTEDIT_DBUS_PATH"] = self.serviceName + '/MainApp' os.environ["FRESCOBALDI_PID"] = str(os.getpid()) - # check if stuff needs to be run after an update of Frescobaldi - if self.version() != config("").readEntry("version", QVariant("0.0")).toString(): - from frescobaldi_app.install import install - install(self) + + def upgradeVersion(self, oldVersion): + """ called if stuff needs to be run after an update of Frescobaldi """ + from frescobaldi_app.install import install + install(self, oldVersion) def openUrl(self, url, encoding=None): - # The URL can be python string, dbus string or QString or KUrl + # The URL can be python string, dbus string or KUrl if not isinstance(url, KUrl): url = KUrl(url) nav = False if url.protocol() == "textedit": - m = re.match(r"^(.*):(\d+):(\d+):(\d+)$", unicode(url.path())) + m = re.match(r"^(.*):(\d+):(\d+):(\d+)$", url.path()) if m: # We have a valid textedit:/ uri. url = KUrl.fromPath(m.group(1).encode('latin1').decode("utf-8")) @@ -95,7 +97,7 @@ return Document(self, url, encoding) def defaultDirectory(self): - return unicode(config().readPathEntry("default directory", "")) + return config().readPathEntry("default directory", "") def findDocument(self, url): """ @@ -113,11 +115,18 @@ return False def keepMetaInfo(self): - return config().readEntry("save metainfo", QVariant(False)).toBool() + return config().readEntry("save metainfo", False) class Document(kateshell.app.Document): """ Our own Document type with LilyPond-specific features """ + + metainfoDefaults = { + "lilypond version": "", + "verbose": False, + "preview": True, + } + def __init__(self, *args, **kwargs): super(Document, self).__init__(*args, **kwargs) self.resetLocalFileManager() @@ -141,13 +150,13 @@ if iface: iface.registerCompletionModel(self.completionModel()) - @lazymethod + @cacheresult def completionModel(self): return CompletionModel(self) def contextMenu(self): menu = KMenu(self.view) - QObject.connect(menu, SIGNAL("aboutToShow()"), self.populateContextMenu) + menu.aboutToShow.connect(self.populateContextMenu) return menu def populateContextMenu(self): @@ -191,7 +200,7 @@ path = self.localPath() return updatedFiles(path) - @lazymethod + @cacheresult def manipulator(self): """ Returns a singleton object for this document that can @@ -241,6 +250,14 @@ def resetLocalFileManager(self): self._localFileManager = None + def lilyPondVersion(self): + """ + Returns the version of LilyPond this document uses (looking at + the \version "x.x.x" statement). Returns None if not available. + """ + import ly.version + return ly.version.getVersion(self.text()) + class SymbolManager(object): """ @@ -264,7 +281,7 @@ self._defaultSize = 22 self._timer = QTimer() self._timer.setSingleShot(True) - QObject.connect(self._timer, SIGNAL("timeout()"), self.redrawSymbols) + self._timer.timeout.connect(self.redrawSymbols) self.triggerRedraw() def addSymbol(self, obj, icon_name, size=0): @@ -339,8 +356,10 @@ self.progressBar.hide() self.currentDocumentChanged.connect(self.updateJobActions) self.expansionShortcuts = ExpansionShortcuts(self) - - @lazymethod + self.charSelectShortcuts = CharSelectShortcuts(self) + self.quickInsertShortcuts = QuickInsertShortcuts(self) + + @cacheresult def actionManager(self): """ Returns the ActionManager, managing actions that can be performed @@ -349,21 +368,22 @@ import frescobaldi_app.actions return frescobaldi_app.actions.ActionManager(self) - @lazymethod + @cacheresult def scoreWizard(self): - import frescobaldi_app.scorewiz - return frescobaldi_app.scorewiz.ScoreWizard(self) + with self.app.busyCursor(): + import frescobaldi_app.scorewiz + return frescobaldi_app.scorewiz.ScoreWizard(self) - @lazymethod + @cacheresult def applyRhythmDialog(self): return ApplyRhythmDialog(self) - @lazymethod + @cacheresult def expandManager(self): import frescobaldi_app.expand return frescobaldi_app.expand.ExpandManager(self) - @lazymethod + @cacheresult def jobManager(self): import frescobaldi_app.runlily man = frescobaldi_app.runlily.JobManager(self) @@ -374,16 +394,28 @@ man.jobFinished.connect(self.viewTabs.setDocumentStatus) return man - @lazymethod + @cacheresult + def runLilyPondDialog(self): + import frescobaldi_app.runlily + return frescobaldi_app.runlily.RunLilyPondDialog(self) + + @cacheresult def progressBarManager(self, jobmanager): import frescobaldi_app.progress return frescobaldi_app.progress.ProgressBarManager(jobmanager, self.progressBar) - @lazymethod + @cacheresult def blankStaffPaperWizard(self): - import frescobaldi_app.blankpaper - return frescobaldi_app.blankpaper.Dialog(self) + with self.app.busyCursor(): + import frescobaldi_app.blankpaper + return frescobaldi_app.blankpaper.Dialog(self) + + @cacheresult + def charSelectDialog(self): + with self.app.busyCursor(): + import frescobaldi_app.charselect + return frescobaldi_app.charselect.Dialog(self) def setupActions(self): super(MainWindow, self).setupActions() @@ -393,11 +425,11 @@ def lilypond_runner(): d = self.currentDocument() if d: - job = self.jobManager().job(d) - if job: - job.abort() + if KApplication.keyboardModifiers() & Qt.ShiftModifier: + self.runLilyPond("custom") else: - lilypond_run_preview() + job = self.jobManager().job(d) + job.abort() if job else self.runLilyPond("preview") # Score wizard @self.onAction(i18n("Setup New Score..."), "text-x-lilypond", key="Ctrl+Shift+N") @@ -407,41 +439,15 @@ # run LilyPond actions @self.onAction(i18n("Run LilyPond (preview)"), "run-lilypond", key="Ctrl+M") def lilypond_run_preview(): - lilypond_run_publish(True) + self.runLilyPond("preview") @self.onAction(i18n("Run LilyPond (publish)"), "run-lilypond") - def lilypond_run_publish(preview=False): - d = self.currentDocument() - if not d: - return - sorry = lambda msg: KMessageBox.sorry(self, msg, - i18n("Can't process document")) - if self.jobManager().job(d): - return sorry(i18n( - "There is already a LilyPond job running " - "for this document.")) - if (d.url().protocol() == "file" and d.isModified()) and not ( - config().readEntry("save on run", QVariant(False)).toBool() - and d.save()): - return sorry(i18n( - "Your document has been modified, " - "please save first.")) - # Run LilyPond; get a LogWidget and create a job - def finished(success, job): - result = job.updatedFiles() - pdfs = result("pdf") - if pdfs: - if "pdf" in self.tools: - self.tools["pdf"].openUrl(KUrl(pdfs[0])) - d.resetCursorTranslations() - log = self.tools["log"].log(d) - if log: - self.actionManager().addActionsToLog(result, log) - if not success: - log.show() # even if LP didn't show an error location - log = self.tools["log"].createLog(d) - job = self.jobManager().createJob(d, log, preview) - job.done.connect(finished) + def lilypond_run_publish(): + self.runLilyPond("publish") + + @self.onAction(i18n("Run LilyPond (custom)..."), "run-lilypond", key="Shift+Ctrl+M") + def lilypond_run_custom(): + self.runLilyPond("custom") @self.onAction(i18n("Interrupt LilyPond Job"), "process-stop") def lilypond_abort(): @@ -467,6 +473,11 @@ def edit_expand(): self.expandManager().expand() + @self.onAction(i18n("Special Characters..."), "accessories-character-map", + key="Ctrl+Y", tooltip=i18n("Insert special characters.")) + def edit_insert_specialchars(): + self.charSelectDialog().show() + # (this action is currently only displayed in the contextmenu) @self.onSelAction(i18n("Add to Expansions"), "list-add") def edit_expand_add(text): @@ -562,9 +573,8 @@ a.setToolTip(i18n("Change the LilyPond language used for pitch names " "in this document or in the selection.")) self.actionCollection().addAction('pitch_change_language', a) - self.pitchNameLanguageMenu = menu = a.menu() # Save because of BUG SIP 4.10 loosing outer scope - QObject.connect(menu, SIGNAL("aboutToShow()"), lambda: - self.currentDocument().manipulator().populateLanguageMenu(menu)) + a.menu().aboutToShow.connect((lambda action: + lambda: self.currentDocument().manipulator().populateLanguageMenu(action.menu()))(a)) @self.onAction(i18n("Convert Relative to &Absolute"), tooltip=i18n( "Converts the notes in the document or selection from relative to absolute pitch.")) @@ -647,7 +657,7 @@ tooltip=i18n("Paste a rhythm to the selected music.")) def durations_paste_rhythm(text): import ly.duration - rhythm = unicode(KApplication.clipboard().text()) + rhythm = KApplication.clipboard().text() return ly.duration.applyRhythm(text, rhythm) # Bar lines @@ -660,7 +670,7 @@ ("bar_repeat_start", "|:", i18n("Repeat start"), None), ("bar_repeat_double", ":|:", i18n("Repeat both"), None), ("bar_repeat_end", ":|", i18n("Repeat end"), None), - ("bar_tick", "'", i18n("Tick bar line"), "Alt+'"), + ("bar_tick", "'", i18n("Tick bar line"), None), ("bar_single", "|", i18n("Single bar line"), None), ("bar_sws", "|.|", i18n("Small-Wide-Small bar line"), None), ("bar_ws", ".|", i18n("Wide-Small bar line"), None), @@ -668,8 +678,8 @@ ("bar_cswc", ":|.:", i18n("Repeat both (old)"), None), ("bar_cswsc", ":|.|:", i18n("Repeat both (classic)"), None), ): - a = self.act(name, title, key=key, func=lambda text=text: - self.currentDocument().manipulator().insertBarLine(text)) + a = self.act(name, title, key=key, func=(lambda text: + lambda: self.currentDocument().manipulator().insertBarLine(text))(text)) self.addSymbol(a, name) # Setup lyrics hyphen and de-hyphen action @@ -681,7 +691,11 @@ @self.onSelAction(i18n("Remove hyphenation"), keepSelection=False) def lyrics_dehyphen(text): return text.replace(' -- ', '') - + + @self.onSelAction(i18n("Copy Lyrics with hyphenation removed"), keepSelection=False) + def lyrics_copy_dehyphen(text): + KApplication.clipboard().setText(text.replace(' -- ', '')) + # Other actions @self.onAction(i18n("Single Quote"), key="Ctrl+'") def insert_quote_single(): @@ -716,8 +730,9 @@ # Settings @self.onAction(KStandardAction.Preferences) def options_configure(): - import frescobaldi_app.settings - frescobaldi_app.settings.SettingsDialog(self).show() + with self.app.busyCursor(): + import frescobaldi_app.settings + frescobaldi_app.settings.SettingsDialog(self).show() @self.onSelAction(i18n("Repeat selected music"), key="Ctrl+Shift+R", keepSelection=False) @@ -745,15 +760,16 @@ LogTool(self) QuickInsertTool(self) RumorTool(self) - if not config().readEntry("disable pdf preview", QVariant(False)).toBool(): + if not config().readEntry("disable pdf preview", False): PDFTool(self) LilyDocTool(self) def setupGeneratedMenus(self): super(MainWindow, self).setupGeneratedMenus() - # Generated file menu, save because of SIP 4.10 BUG, loosing outer scope - self.generatedLilyPondFilesMenu = menu = self.factory().container("lilypond_actions", self) - def populateGenFilesMenu(): + # Generated file menu: + menu = self.factory().container("lilypond_actions", self) + menu.setParent(menu.parent()) # BUG: SIP 4.10 otherwise looses outer scope of this function + def populateGenFilesMenu(menu=menu): for action in menu.actions(): if action.objectName() != "actions_email": sip.delete(action) @@ -762,8 +778,76 @@ return menu.addSeparator() self.actionManager().addActionsToMenu(doc.updatedFiles(), menu) - QObject.connect(menu, SIGNAL("aboutToShow()"), populateGenFilesMenu) + menu.aboutToShow.connect(populateGenFilesMenu) + def runLilyPond(self, mode): + """Run LilyPond on the current document. + + mode is "preview", "publish" or "custom". + For "custom", a dialog is opened where the user can adjust the + parameters for the LilyPond run (such as which version to use). + """ + d = self.currentDocument() + if not d: + return + sorry = lambda msg: KMessageBox.sorry(self, msg, + i18n("Can't process document")) + if (d.url().protocol() == "file" and d.isModified()) and not ( + config().readEntry("save on run", False) + and d.save()): + return sorry(i18n( + "Your document has been modified, " + "please save first.")) + + # create a Job + import frescobaldi_app.runlily + job = frescobaldi_app.runlily.DocumentJob(d) + + # configure this Job + job.preview = False + if mode == "custom": + if not self.runLilyPondDialog().configureJob(job, d): + return # job configure dialog cancelled by user + else: + job.preview = mode == "preview" + command = None + if config("lilypond").readEntry("automatic version", False): + docVersion = d.lilyPondVersion() + if docVersion: + command = automaticLilyPondCommand(docVersion) + job.command = command or lilyPondCommand() + + # check if there is not already a job running. We do it now, so the + # custom dialog can be requested even when there is a job running. + if self.jobManager().job(d): + return sorry(i18n( + "There is already a LilyPond job running " + "for this document.")) + + # get a logwidget + log = self.tools["log"].createLog(d) + log.preview = job.preview + log.clear() + job.output.connect(log) + + # open PDF and action bar when finished + @job.done.connect + def finished(success, job): + result = job.updatedFiles() + pdfs = result("pdf") + if pdfs: + if "pdf" in self.tools: + self.tools["pdf"].openUrl(KUrl(pdfs[0])) + d.resetCursorTranslations() + log = self.tools["log"].log(d) + if log: + self.actionManager().addActionsToLog(result, log) + if not success: + log.show() # even if LP didn't show an error location + + # run the LilyPond Job + self.jobManager().run(job) + def updateJobActions(self): doc = self.currentDocument() running = bool(doc and not doc.isEmpty() and self.jobManager().job(doc)) @@ -776,15 +860,17 @@ tip = i18n("Abort the running LilyPond process") else: icon = "run-lilypond" - tip = i18n("Run LilyPond in preview mode") + tip = i18n("Run LilyPond in preview mode (Shift-click for custom dialog)") act("lilypond_runner").setIcon(KIcon(icon)) act("lilypond_runner").setToolTip(tip) - - def addActionCollectionsToShortcutsDialog(self, dlg): - super(MainWindow, self).addActionCollectionsToShortcutsDialog(dlg) - dlg.addCollection(self.expansionShortcuts.actionCollection(), - i18n("Expansion Manager")) + def allActionCollections(self): + for name, coll in super(MainWindow, self).allActionCollections(): + yield name, coll + yield i18n("Expansion Manager"), self.expansionShortcuts.actionCollection() + yield i18n("Special Characters"), self.charSelectShortcuts.actionCollection() + yield i18n("Quick Insert"), self.quickInsertShortcuts.actionCollection() + def saveSettings(self): self.app.stateManager().cleanup() super(MainWindow, self).saveSettings() @@ -806,14 +892,14 @@ self.lineedit.setToolTip(i18n( "Enter a rhythm using space separated duration values " "(e.g. 8. 16 8 4 8)")) - QObject.connect(self, SIGNAL("applyClicked()"), self.doApply) - QObject.connect(self, SIGNAL("okClicked()"), self.doApply) + self.applyClicked.connect(self.doApply) + self.okClicked.connect(self.doApply) def doApply(self): import ly.duration self.lineedit.completionObject().addItem(self.lineedit.text()) self.parent().currentDocument().replaceSelectionWith(ly.duration.applyRhythm( - self.text, unicode(self.lineedit.text()))) + self.text, self.lineedit.text())) def edit(self, text): self.text = text @@ -822,37 +908,6 @@ self.lineedit.selectAll() -# Work around a SIP 4.9.1 bug causing a crash when logging out of the built-in -# terminal tool and then hiding and showing the tool. The destroyed() signal of -# the part is not caught, so that SIP does not notice the part has been deleted, -# let alone Frescobaldi. -# -# Now we catch the disappearing of the part by embedding the part in another -# widget and catching the ChildRemoved event. -class KonsoleContainer(QWidget): - def __init__(self, tool, partWidget): - self.tool = tool - QWidget.__init__(self) - from PyQt4.QtGui import QVBoxLayout - l = QVBoxLayout(self) - l.addWidget(partWidget) - l.setContentsMargins(0, 0, 0, 0) - self.setFocusProxy(partWidget) - - def childEvent(self, ev): - if ev.type() == QEvent.ChildRemoved: - QTimer.singleShot(0, self.childRemoved) - - def childRemoved(self): - self.tool.slotDestroyed() - try: - sip.delete(self) - except RuntimeError: - # underlying C/C++ object has been deleted, can occur - # if exiting Frescobaldi with terminal floating - pass - - class KonsoleTool(kateshell.mainwindow.KPartTool): """ A tool embedding a Konsole """ _partlibrary = "libkonsolepart" @@ -862,14 +917,7 @@ "konsole", i18n("Terminal"), "terminal", key="Meta+Alt+T", dock=kateshell.mainwindow.Bottom) mainwin.currentDocumentChanged.connect(self.sync) - - # Workaround for the SIP 4.9.1 destroyed-not-caught bug: - def factory(self): - widget = super(KonsoleTool, self).factory() - if widget and self.part: - QObject.disconnect(self.part, SIGNAL("destroyed()"), self.slotDestroyed) - return KonsoleContainer(self, widget) - + def partLoaded(self): d = self.mainwin.currentDocument() if d and not d.url().isEmpty(): @@ -900,16 +948,16 @@ a = m.addAction(i18n("S&ynchronize Terminal with Current Document")) a.setCheckable(True) a.setChecked(self._sync) - QObject.connect(a, SIGNAL("triggered()"), self.toggleSync) + a.triggered.connect(self.toggleSync) def toggleSync(self): self._sync = not self._sync def readConfig(self, conf): - self._sync = conf.readEntry("sync", QVariant(False)).toBool() + self._sync = conf.readEntry("sync", False) def writeConfig(self, conf): - conf.writeEntry("sync", QVariant(self._sync)) + conf.writeEntry("sync", self._sync) class PDFTool(kateshell.mainwindow.KPartTool): @@ -920,20 +968,49 @@ kateshell.mainwindow.KPartTool.__init__(self, mainwin, "pdf", i18n("PDF Preview"), "application-pdf", key="Meta+Alt+P", dock=kateshell.mainwindow.Right) - mainwin.currentDocumentChanged.connect(self.sync) + self._urlToOpen = None self._currentUrl = None # We open urls with a timer otherwise Okular is called # too quickly when the user switches documents too fast. self._timer = QTimer() self._timer.setSingleShot(True) - self._timer.setInterval(200) - QObject.connect(self._timer, SIGNAL("timeout()"), self.timeoutFunc) + self._timer.timeout.connect(self.timeoutFunc) mainwin.aboutToClose.connect(self._timer.stop) + mainwin.currentDocumentChanged.connect(self.sync) def timeoutFunc(self): - if self._currentUrl: - super(PDFTool, self).openUrl(self._currentUrl) + """ + (Internal) + Called when the timer times out. If an url was recorded, it is opened + now. + """ + if self._urlToOpen: + super(PDFTool, self).openUrl(self._urlToOpen) + self._urlToOpen = None + self._timer.start(500) + def _reallyOpenUrl(self, url): + """ + (Internal) + Opens the url and starts a timer to prevent it from being called too + quickly again. If the timer is already running, the url is recorded and + opened on timeout(). + """ + self._urlToOpen = url + self._timer.isActive() or self._timer.start(0) + + def openUrl(self, url): + """ Expects KUrl.""" + if not self.failed: + self.show() + if url != self._currentUrl: + self._currentUrl = url + self._reallyOpenUrl(url) + + def reloadUrl(self): + if self._currentUrl: + self._reallyOpenUrl(self._currentUrl) + def sync(self, doc): if self._config["sync"]: pdfs = doc.updatedFiles()("pdf") @@ -945,22 +1022,17 @@ a = m.addAction(title) a.setCheckable(True) a.setChecked(self._config[name]) - QObject.connect(a, SIGNAL("triggered()"), - lambda: self.toggleAction(name)) + a.triggered.connect(lambda: self.toggleAction(name)) act("leftpanel", i18n("Show PDF Navigation Panel")) act("minipager", i18n("Show PDF minipager")) - a = m.addAction(i18n("Configure Okular...")) - QObject.connect(a, SIGNAL("triggered()"), self.openOkularSettings) + a = m.addAction(KIcon("configure"), i18n("Configure Okular...")) + a.triggered.connect(self.openOkularSettings) m.addSeparator() act("sync", i18n("S&ynchronize Preview with Current Document")) - a = m.addAction(i18n("Reload")) - QObject.connect(a, SIGNAL("triggered()"), self.reloadUrl) + a = m.addAction(KIcon("view-refresh"), i18n("Reload")) + a.triggered.connect(self.reloadUrl) a.setEnabled(bool(self._currentUrl)) - def reloadUrl(self): - if self._currentUrl: - self._timer.start() - def openOkularSettings(self): self.materialize() if self.part: @@ -978,14 +1050,6 @@ elif name == "minipager": self._okularMiniBar().setVisible(c) - def openUrl(self, url): - """ Expects KUrl.""" - if not self.failed: - self.show() - if url != self._currentUrl: - self._currentUrl = url - self._timer.start() - def _okularMiniBar(self): """ get the okular miniBar """ return self.part.widget().findChild(QWidget, "miniBar").parent() @@ -1009,11 +1073,11 @@ ("minipager", True), ("leftpanel", False), ("sync", True)): - self._config[name] = conf.readEntry(name, QVariant(default)).toBool() + self._config[name] = conf.readEntry(name, default) def writeConfig(self, conf): for name in "minipager", "leftpanel", "sync": - conf.writeEntry(name, QVariant(self._config[name])) + conf.writeEntry(name, self._config[name]) class QuickInsertTool(kateshell.mainwindow.Tool): @@ -1026,7 +1090,7 @@ def factory(self): import frescobaldi_app.lqi - return frescobaldi_app.lqi.ToolBox(self) + return frescobaldi_app.lqi.QuickInsertPanel(self) class LogTool(kateshell.mainwindow.Tool): @@ -1037,11 +1101,10 @@ key="Meta+Alt+L", dock=kateshell.mainwindow.Bottom, widget=QStackedWidget()) self.logs = {} - self.widget.addWidget(QLabel("
(%s)
" % i18n("no log"))) + self.widget.addWidget(QLabel(u"
({0})
".format(i18n("no log")))) mainwin.currentDocumentChanged.connect(self.showLog) mainwin.app.documentClosed.connect(self.removeLog) - QObject.connect(self.widget, SIGNAL("destroyed()"), - lambda: self.logs.clear()) + self.widget.destroyed.connect(lambda: self.logs.clear()) def showLog(self, doc): if doc in self.logs: @@ -1074,8 +1137,7 @@ a = m.addAction(title) a.setCheckable(True) a.setChecked(self._config[name]) - QObject.connect(a, SIGNAL("triggered()"), - lambda: self.toggleAction(name)) + a.triggered.connect(lambda: self.toggleAction(name)) act("errors only", i18n("Only show on errors")) # context menu options of the Log, if there... # (check it without importing runlily module) @@ -1089,11 +1151,11 @@ for name, default in ( ("errors only", False), ): - self._config[name] = conf.readEntry(name, QVariant(default)).toBool() + self._config[name] = conf.readEntry(name, default) def writeConfig(self, conf): for name in ("errors only",): - conf.writeEntry(name, QVariant(self._config[name])) + conf.writeEntry(name, self._config[name]) class RumorTool(kateshell.mainwindow.Tool): @@ -1163,7 +1225,7 @@ return self.result.rowCount(parent) -class ExpansionShortcuts(kateshell.app.UserShortcuts): +class ExpansionShortcuts(kateshell.mainwindow.UserShortcutManager): """ Manages shortcuts for the expand dialog. This is setup initially so that keyboard shortcuts for expansions @@ -1176,14 +1238,95 @@ def widget(self): return self.mainwin.viewStack # where the text editor views are. - def target(self): + def client(self): return self.mainwin.expandManager() +class CharSelectShortcuts(kateshell.mainwindow.UserShortcutManager): + """ + Manages shortcuts for the charselect dialog. + """ + configGroup = "charselect shortcuts" + + def widget(self): + return self.mainwin.viewStack # where the text editor views are. + + def client(self): + return self.mainwin.charSelectDialog() + + +class QuickInsertShortcuts(kateshell.mainwindow.UserShortcutManager): + """ + Manages shortcuts for the Quick Insert panel. + """ + configGroup = "quickinsert shortcuts" + + def widget(self): + return self.mainwin.viewStack + + def client(self): + tool = self.mainwin.tools["quickinsert"] + tool.materialize() + return tool.widget + + # Easily get our global config def config(group="preferences"): return KGlobal.config().group(group) +def lilyPondCommand(): + """ The default configured LilyPond command. """ + return config("lilypond").readEntry("default", "lilypond") + +def lilyPondVersion(command = None): + """ + The version of the LilyPond binary command. + If no command is given, the default LilyPond command is used. + """ + import ly.version + return ly.version.LilyPondInstance(command or lilyPondCommand()).version() + +def otherCommand(name, lilypond=None): + """ + Return the full path to the named command (e.g. 'convert-ly') that belongs + to the given or default lilypond command. + """ + if not lilypond: + lilypond = lilyPondCommand() + cmd = config("lilypond").group(lilypond).readEntry(name, name) + import ly.version + return ly.version.LilyPondInstance(lilypond).path_to(cmd) or cmd + +def convertLyCommand(lilypond=None): + """ + The convert-ly command belonging to the given (or default) lilypond command. + """ + return otherCommand('convert-ly', lilypond) + +def automaticLilyPondCommand(version): + """ + Returns the LilyPond command that is suitable to compile a document + with version version. Returns None if none is available. + """ + # find the configured lilypond versions + conf = config("lilypond") + paths = conf.readEntry("paths", ["lilypond"]) + + # remove paths for which Automatic selection is turned off + paths = [p for p in paths if conf.group(p).readEntry("auto", True)] + + # get all versions + import ly.version + ver = dict((path, ly.version.LilyPondInstance(path).version()) + for path in paths) + + # sort on version + paths.sort(key=ver.get) + + # return lowerst possible version + for path in paths: + if ver[path] >= version: + return path # determine updated files by a LilyPond process. def updatedFiles(lyfile, reftime=None): @@ -1201,7 +1344,7 @@ escname = re.escape(os.path.splitext(name)[0]) # remove ext, escape def generatorfunc(ext = "*"): ext = fnmatch.translate(ext.lstrip('.')) - pat = re.compile(r'%s(-[^-]+)*\.%s' % (escname, ext)) + pat = re.compile(r'{0}(-[^-]+)*\.{1}'.format(escname, ext)) try: files = [f for f in os.listdir(directory) if pat.match(f)] except OSError: diff -Nru frescobaldi-1.0.2/python/frescobaldi_app/progress.py frescobaldi-1.1.1/python/frescobaldi_app/progress.py --- frescobaldi-1.0.2/python/frescobaldi_app/progress.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/frescobaldi_app/progress.py 2009-12-30 20:32:29.000000000 +0000 @@ -17,6 +17,8 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ Code that manages the progress bar at the bottom of the Frescobaldi main window @@ -24,7 +26,7 @@ import weakref, time -from PyQt4.QtCore import QObject, QTimer, SIGNAL +from PyQt4.QtCore import QTimer _ticks = 10 # ticks per second class ProgressBarManager(object): @@ -38,10 +40,10 @@ self.hideTimer = QTimer() self.timer.setInterval(1000 / _ticks) - QObject.connect(self.timer, SIGNAL("timeout()"), self.timeout) + self.timer.timeout.connect(self.timeout) self.hideTimer.setInterval(3000) self.hideTimer.setSingleShot(True) - QObject.connect(self.hideTimer, SIGNAL("timeout()"), self.bar.hide) + self.hideTimer.timeout.connect(self.bar.hide) self.man.jobStarted.connect(self.start) self.man.jobFinished.connect(self.stop) @@ -78,4 +80,4 @@ def timeout(self): self.bar.setValue(self.bar.value() + 1) - \ No newline at end of file + diff -Nru frescobaldi-1.0.2/python/frescobaldi_app/rumor.py frescobaldi-1.1.1/python/frescobaldi_app/rumor.py --- frescobaldi-1.0.2/python/frescobaldi_app/rumor.py 2010-01-05 13:10:14.000000000 +0000 +++ frescobaldi-1.1.1/python/frescobaldi_app/rumor.py 2010-01-05 13:09:43.000000000 +0000 @@ -17,6 +17,8 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ Frescobaldi module to run Rumor """ @@ -24,8 +26,7 @@ import os, re, sys from subprocess import Popen, PIPE -from PyQt4.QtCore import ( - QEvent, QObject, QRegExp, QSize, QTimer, QVariant, Qt, SIGNAL) +from PyQt4.QtCore import QEvent, QRegExp, QSize, QTimer, Qt from PyQt4.QtGui import ( QCheckBox, QComboBox, QGridLayout, QHBoxLayout, QLabel, QPushButton, QRegExpValidator, QToolButton, QTreeWidget, QTreeWidgetItem, QWidget) @@ -101,8 +102,8 @@ # Key signature select (any lilypond pitch, defaulting to document) self.keysig = QComboBox() self.keysig.addItem(AUTO()) - self.keysig.addItems(["%d" % i for i in range(-7, 1)]) - self.keysig.addItems(["%+d" % i for i in range(1, 8)]) + self.keysig.addItems(map("{0:d}".format, range(-7, 1))) + self.keysig.addItems(map("{0:+d}".format, range(1, 8))) self.keysig.setToolTip(i18n( "The number of accidentals. A negative number designates flats. " "Leave 'Auto' to let Frescobaldi determine the key signature from " @@ -128,25 +129,23 @@ hb.addWidget(self.timidity) # Button 'More Settings' - sb = QPushButton(i18n("Configure...")) + sb = QPushButton(i18n("Configure..."), clicked=self.slotSettingsButtonClicked) sb.setToolTip(i18n("Adjust more settings, like MIDI input and output.")) - QObject.connect(sb, SIGNAL("clicked()"), self.slotSettingsButtonClicked) hb.addWidget(sb) # Save Button - sb = QPushButton(i18n("Save")) + sb = QPushButton(i18n("Save"), clicked=self.saveSettings) sb.setToolTip(i18n("Set these settings as default.")) - QObject.connect(sb, SIGNAL("clicked()"), self.saveSettings) hb.addWidget(sb) self.loadSettings() # display Rumor version on first start. - cmd = unicode(config("commands").readEntry("rumor", QVariant("rumor")).toString()) + cmd = config("commands").readEntry("rumor", "rumor") try: v = Popen([cmd, '--version'], stdout=PIPE).communicate()[0].strip() self.showMessage(i18n("Found rumor version %1.", v), 1000) - except OSError, e: + except OSError as e: KMessageBox.error(self.mainwin, i18n("Could not find Rumor: %1", unicode(e[1]))) @@ -155,24 +154,24 @@ def saveSettings(self): conf = config("rumor") - conf.writeEntry("tempo", QVariant(self.tempo.tempo())) - conf.writeEntry("quantize", QVariant(unicode(self.quantize.currentText()))) - conf.writeEntry("step", QVariant(self.step.isChecked())) - conf.writeEntry("mono", QVariant(self.mono.isChecked())) - conf.writeEntry("meter", QVariant(unicode(autofy(self.meter.currentText())))) - conf.writeEntry("keysig", QVariant(unicode(autofy(self.keysig.currentText())))) - conf.writeEntry("timidity", QVariant(self.timidity.isChecked())) + conf.writeEntry("tempo", self.tempo.tempo()) + conf.writeEntry("quantize", self.quantize.currentText()) + conf.writeEntry("step", self.step.isChecked()) + conf.writeEntry("mono", self.mono.isChecked()) + conf.writeEntry("meter", autofy(self.meter.currentText())) + conf.writeEntry("keysig", autofy(self.keysig.currentText())) + conf.writeEntry("timidity", self.timidity.isChecked()) self.showMessage(i18n("Settings have been saved."), 1000) def loadSettings(self): conf = config("rumor") - self.tempo.setTempo(conf.readEntry("tempo", QVariant(100)).toInt()[0]) - setComboBox(self.quantize, conf.readEntry("quantize", QVariant("16")).toString()) - self.step.setChecked(conf.readEntry("step", QVariant(False)).toBool()) - self.mono.setChecked(conf.readEntry("mono", QVariant(False)).toBool()) - setComboBox(self.meter, unautofy(conf.readEntry("meter", QVariant("auto")).toString())) - setComboBox(self.keysig, unautofy(conf.readEntry("meter", QVariant("auto")).toString())) - if conf.readEntry("timidity", QVariant(False)).toBool(): + self.tempo.setTempo(conf.readEntry("tempo", 100)) + setComboBox(self.quantize, conf.readEntry("quantize", "16")) + self.step.setChecked(conf.readEntry("step", False)) + self.mono.setChecked(conf.readEntry("mono", False)) + setComboBox(self.meter, unautofy(conf.readEntry("meter", "auto"))) + setComboBox(self.keysig, unautofy(conf.readEntry("meter", "auto"))) + if conf.readEntry("timidity", False): self.timidity.start() def showMessage(self, msg, timeout=0): @@ -194,7 +193,7 @@ text = doc.textToCursor(cursor) # Language - lang = unicode(conf.readEntry("language", QVariant("auto")).toString()) + lang = conf.readEntry("language", "auto") if lang not in ( 'ne', 'en', 'en-short', 'de', 'no', 'sv', 'it', 'ca', 'es'): # determine lily language from document @@ -208,15 +207,15 @@ # "vlaams" is not supported by Rumor # TODO: rewrite the pitches output by Rumor :-) lang == "it" - args.append("--lang=%s" % lang) + args.append("--lang=" + lang) # Step recording? if self.step.isChecked(): args.append("--flat") else: # No, set tempo, quantization and meter - args.append("--tempo=%d" % self.tempo.tempo()) - args.append("--grain=%s" % self.quantize.currentText()) + args.append("--tempo={0}".format(self.tempo.tempo())) + args.append("--grain={0}".format(self.quantize.currentText())) meter = autofy(self.meter.currentText()) if meter == "auto": # determine from document - find the latest \time command: @@ -226,7 +225,7 @@ meter = m.group(1) else: meter = '4/4' - args.append("--meter=%s" % meter) + args.append("--meter=" + meter) # Key signature acc = autofy(self.keysig.currentText()) @@ -244,52 +243,52 @@ else: acc = int(acc) acc += 2 # use sharps for half tones leading to second, fifth, sixth - args.append("--key=%s" % ly.key.num2key[lang][bound(acc, -8, 12)]) + args.append("--key=" + ly.key.num2key[lang][bound(acc, -8, 12)]) # Monophonic input? if self.mono.isChecked(): args.append("--no-chords") # Absolute pitches? - if conf.readEntry("absolute pitches", QVariant(False)).toBool(): + if conf.readEntry("absolute pitches", False): args.append("--absolute-pitches") # Explicit durations? - if conf.readEntry("explicit durations", QVariant(False)).toBool(): + if conf.readEntry("explicit durations", False): args.append("--explicit-durations") # No barlines? - self.noBarlines = conf.readEntry("no barlines", QVariant(False)).toBool() + self.noBarlines = conf.readEntry("no barlines", False) # No dots? - if conf.readEntry("no dots", QVariant(False)).toBool(): + if conf.readEntry("no dots", False): args.append("--no-dots") # Legato? - if conf.readEntry("legato", QVariant(False)).toBool(): + if conf.readEntry("legato", False): args.append("--legato") # Strip rests? - if conf.readEntry("strip rests", QVariant(False)).toBool(): + if conf.readEntry("strip rests", False): args.append("--strip") # Guile scripts? - scripts = map(unicode, conf.readEntry("scripts", QVariant(())).toStringList()) + scripts = conf.readEntry("scripts", []) if scripts: paths = dict((os.path.basename(path), path) for path in rumorScripts()) for s in scripts: if s in paths: - args.append("--script=%s" % paths[s]) + args.append("--script=" + paths[s]) # input/output - i = unicode(conf.readEntry("midi in", QVariant("oss:1")).toString()) - o = unicode(conf.readEntry("midi out", QVariant("oss:1")).toString()) + i = conf.readEntry("midi in", "oss:1") + o = conf.readEntry("midi out", "oss:1") if o.startswith('oss:'): - args.append("--oss=%s" % o.split(":")[1]) + args.append("--oss=" + o.split(":")[1]) elif re.match(r"\d", o) and re.match(r"\d", i): - args.append("--alsa=%s,%s" % (i, o)) + args.append("--alsa={0},{1}".format(i, o)) elif re.match(r"\d", o): - args.append("--alsa=%s" % o) + args.append("--alsa=" + o) self.keyboardEmu = i == "keyboard" if self.keyboardEmu: @@ -321,7 +320,7 @@ self.panel.mainwin.aboutToClose.connect(self.quit) def initializeProcess(self, p): - rumor = config("commands").readEntry("rumor", QVariant("rumor")).toString() + rumor = config("commands").readEntry("rumor", "rumor") cmd = [rumor] + self.panel.getRumorArguments() if self.panel.keyboardEmu: # Run Rumor in a pty when keyboard input is used. @@ -354,7 +353,7 @@ self.process().kill() def readOutput(self, text): - self.panel.insertRumorOutput(unicode(text)) + self.panel.insertRumorOutput(unicode(text)) # text is a QByteArray def finished(self, exitCode, exitStatus): self.panel.showMessage(i18n("Rumor stopped."), 1000) @@ -377,13 +376,13 @@ if ev.key() in (Qt.Key_Enter, Qt.Key_Return): self.panel.mainwin.view().insertText('\n' + self.panel.indent) return True - elif not ev.isAutoRepeat() and not ev.text().isEmpty(): + elif not ev.isAutoRepeat() and ev.text(): key = ev.text() if key == " " or key != self._lastkey: self._lastkey = key else: - key.prepend(" ") - self.writeInput(key.toLocal8Bit()) + key = " " + key + self.writeInput(key) return True return False @@ -397,8 +396,7 @@ panel.mainwin.aboutToClose.connect(self.quit) def initializeProcess(self, p): - cmd, err = KShell.splitArgs(config("commands").readEntry("timidity", - QVariant(default_timidity_command)).toString()) + cmd, err = KShell.splitArgs(config("commands").readEntry("timidity", default_timidity_command)) if err == KShell.NoError: p.setProgram(cmd) else: @@ -420,7 +418,7 @@ layout = QGridLayout(self.mainWidget()) # MIDI input and output. # Get the list of available OSS and ALSA devices - oslist = [('oss:%d' % i, i18n("OSS device %1", i)) + oslist = [('oss:{0}'.format(i), i18n("OSS device %1", i)) for i in range(getOSSnrMIDIs())] i = oslist + parseAconnect('i') + [("keyboard", i18n("Keyboard"))] o = oslist + parseAconnect('o') @@ -531,22 +529,22 @@ else: idefault = 'kbd' odefault = self.olist and self.olist[-1] or "" - i = conf.readEntry("midi in", QVariant(idefault)).toString() - o = conf.readEntry("midi out", QVariant(odefault)).toString() + i = conf.readEntry("midi in", idefault) + o = conf.readEntry("midi out", odefault) if i in self.ilist: self.ibut.setCurrentIndex(self.ilist.index(i)) if o in self.olist: self.obut.setCurrentIndex(self.olist.index(o)) - setComboBox(self.lang, unautofy(conf.readEntry("language", QVariant("auto")).toString())) - self.absPitches.setChecked(conf.readEntry("absolute pitches", QVariant(False)).toBool()) - self.explDur.setChecked(conf.readEntry("explicit durations", QVariant(False)).toBool()) - self.noBar.setChecked(conf.readEntry("no barlines", QVariant(False)).toBool()) - self.noDots.setChecked(conf.readEntry("no dots", QVariant(False)).toBool()) - self.legato.setChecked(conf.readEntry("legato", QVariant(False)).toBool()) - self.stripRests.setChecked(conf.readEntry("strip rests", QVariant(False)).toBool()) + setComboBox(self.lang, unautofy(conf.readEntry("language", "auto"))) + self.absPitches.setChecked(conf.readEntry("absolute pitches", False)) + self.explDur.setChecked(conf.readEntry("explicit durations", False)) + self.noBar.setChecked(conf.readEntry("no barlines", False)) + self.noDots.setChecked(conf.readEntry("no dots", False)) + self.legato.setChecked(conf.readEntry("legato", False)) + self.stripRests.setChecked(conf.readEntry("strip rests", False)) # Guile scripts self.scripts.clear() - scripts = conf.readEntry("scripts", QVariant(())).toStringList() + scripts = conf.readEntry("scripts", []) for path in rumorScripts(): name = os.path.basename(path) try: @@ -565,22 +563,22 @@ def saveSettings(self): """ Save the settings """ conf = config("rumor") - conf.writeEntry("midi in", QVariant(self.ilist[self.ibut.currentIndex()])) - conf.writeEntry("midi out", QVariant(self.olist[self.obut.currentIndex()])) - conf.writeEntry("language", QVariant(unicode(autofy(self.lang.currentText())))) - conf.writeEntry("absolute pitches", QVariant(self.absPitches.isChecked())) - conf.writeEntry("explicit durations", QVariant(self.explDur.isChecked())) - conf.writeEntry("no barlines", QVariant(self.noBar.isChecked())) - conf.writeEntry("no dots", QVariant(self.noDots.isChecked())) - conf.writeEntry("legato", QVariant(self.legato.isChecked())) - conf.writeEntry("strip rests", QVariant(self.stripRests.isChecked())) + conf.writeEntry("midi in", self.ilist[self.ibut.currentIndex()]) + conf.writeEntry("midi out", self.olist[self.obut.currentIndex()]) + conf.writeEntry("language", autofy(self.lang.currentText())) + conf.writeEntry("absolute pitches", self.absPitches.isChecked()) + conf.writeEntry("explicit durations", self.explDur.isChecked()) + conf.writeEntry("no barlines", self.noBar.isChecked()) + conf.writeEntry("no dots", self.noDots.isChecked()) + conf.writeEntry("legato", self.legato.isChecked()) + conf.writeEntry("strip rests", self.stripRests.isChecked()) # Read script treeview names = [] for row in range(self.scripts.topLevelItemCount()): item = self.scripts.topLevelItem(row) if item.checkState(0) == Qt.Checked: - names.append(unicode(item.text(0))) - conf.writeEntry("scripts", QVariant(names)) + names.append(item.text(0)) + conf.writeEntry("scripts", names) @@ -591,7 +589,7 @@ or writing (channel = 'o') """ option = channel == 'i' and '--input' or '--output' - cmd = unicode(config("commands").readEntry("aconnect", QVariant("aconnect")).toString()) + cmd = config("commands").readEntry("aconnect", "aconnect") res = [] # run aconnect in the english (standard language) env = dict(os.environ) @@ -604,8 +602,8 @@ if m.group(1): client = m.group(1) elif client != "0": - port = "%s:%s" % (client, m.group(2)) - name = "%s (%s)" % (port, m.group(3).strip()) + port = "{0}:{1}".format(client, m.group(2)) + name = "{0} ({1})".format(port, m.group(3).strip()) res.append((port, name)) return res @@ -623,7 +621,7 @@ return 0 def rumorScripts(): - return map(unicode, KGlobal.dirs().findAllResources("appdata", "rumor/*")) + return KGlobal.dirs().findAllResources("appdata", "rumor/*") def config(group="rumor"): return KGlobal.config().group(group) @@ -632,7 +630,7 @@ """ Clips x according to the boundaries minValue and maxValue """ return max(minValue, min(maxValue, x)) -AUTO = lambda: unicode(i18n("Auto")) +AUTO = lambda: i18n("Auto") autofy = lambda s: s == AUTO() and "auto" or s unautofy = lambda s: s == "auto" and AUTO() or s diff -Nru frescobaldi-1.0.2/python/frescobaldi_app/runlily.py frescobaldi-1.1.1/python/frescobaldi_app/runlily.py --- frescobaldi-1.0.2/python/frescobaldi_app/runlily.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/frescobaldi_app/runlily.py 2010-01-30 22:03:27.000000000 +0000 @@ -17,25 +17,30 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ Code to run LilyPond and display its output in a LogWidget """ import math, os, re, shutil, sys, tempfile, time +from itertools import count, repeat -from PyQt4.QtCore import ( - QObject, QProcess, QSize, QTimer, QUrl, QVariant, Qt, SIGNAL) +from PyQt4.QtCore import QProcess, QSize, QTimer, QUrl, Qt from PyQt4.QtGui import ( - QBrush, QColor, QFont, QFrame, QStackedWidget, QTextBrowser, - QTextCharFormat, QTextCursor, QToolBar, QVBoxLayout, QWidget) + QBrush, QCheckBox, QColor, QFont, QFrame, QLabel, QListWidget, + QListWidgetItem, QStackedWidget, QTextBrowser, QTextCharFormat, QTextCursor, + QToolBar, QVBoxLayout, QWidget) from PyKDE4.kdecore import KGlobal, KPluginLoader, KProcess, KUrl, i18n from PyKDE4.kdeui import ( - KApplication, KDialog, KGuiItem, KIcon, KMenu, KMessageBox, KStandardGuiItem) + KApplication, KDialog, KIcon, KMenu, KMessageBox, KStandardGuiItem) from PyKDE4.kio import KEncodingFileDialog -from signals import Signal +from signals import Signal, SignalProxy from kateshell.app import resolvetabs_text from frescobaldi_app.actions import openPDF -import frescobaldi_app.mainapp +from frescobaldi_app.mainapp import ( + automaticLilyPondCommand, lilyPondCommand, lilyPondVersion, updatedFiles) + def config(group): return KGlobal.config().group(group) @@ -44,156 +49,319 @@ _ly_message_re = re.compile(r"^((.*?):(\d+)(?::(\d+))?)(?=:)", re.M) -class Ly2PDF(object): +class BasicLilyPondJob(object): """ - An object of this class performs one LilyPond run on a LilyPond file - given in filename, with output to the LogWidget log. + Performs one job to run LilyPond. - It emits the signal done(success, self) when the jobs has finished. - The updatedFiles method then can return a function that returns the - updated files of a given type. + Set different parameters and then call start() to start. + The Signal done(success, self) is emitted when the job has finished. + The SignalProxy output(msg, type, newline=False) is emitted when there is output + (stderr and stdout). This proxy is called like Log and LogWidget. + Don't use (Basic)LilyPondJob for more than one run. """ - preview = False - def __init__(self, lyfile, log): + + # these are default values for attributes that can be set: + + command = "lilypond" # lilypond command to run + arguments = ["--pdf"] # arguments + lyfile = None # lilypond document filename to run on + + preview = False # run with point and click + verbose = False # run with --verbose + delfiles = True # delete intermediate files + + startTime = 0.0 # time.time() this job started + + def __init__(self): + self.output = SignalProxy() self.done = Signal(fireonce=True) - # save this so the log knows if we built a PDF with point and click: - log.preview = self.preview - self.log = log - self.lyfile = lyfile - self.basename = os.path.splitext(lyfile)[0] - self.directory, self.lyfile_arg = os.path.split(lyfile) - - self.p = KProcess() - self.p.setOutputChannelMode(KProcess.MergedChannels) - self.p.setWorkingDirectory(self.directory) - cmd = [config("commands").readEntry("lilypond", QVariant("lilypond")).toString()] - if config("preferences").readEntry("verbose lilypond output", - QVariant(False)).toBool(): - cmd.append("--verbose") - cmd.append("--pdf") - cmd.append(self.preview and "-dpoint-and-click" or "-dno-point-and-click") - if config("preferences").readEntry("delete intermediate files", - QVariant(True)).toBool(): - cmd.append("-ddelete-intermediate-files") - cmd.append(self.lyfile_arg) - - self.p.setProgram(cmd) - QObject.connect(self.p, SIGNAL("finished(int, QProcess::ExitStatus)"), - self.finished) - QObject.connect(self.p, SIGNAL("error(QProcess::ProcessError)"), self.error) - QObject.connect(self.p, SIGNAL("readyRead()"), self.readOutput) + def start(self): + """ Starts the process. """ + # save some values + self._directory, self._basename = os.path.split(self.lyfile) + + # construct the full LilyPond command. + cmd = [self.command] + self.verbose and cmd.append("--verbose") + cmd.append("-dpoint-and-click=" + scmbool(self.preview)) + cmd.append("-ddelete-intermediate-files=" + scmbool(self.delfiles)) + cmd.extend(self.arguments) + cmd.append(self._basename) + + # create KProcess instance that does the work + p = self._p = KProcess() + p.setOutputChannelMode(KProcess.MergedChannels) + p.setWorkingDirectory(self._directory) + p.setProgram(cmd) + p.finished.connect(self._finished) + p.error.connect(self._error) + p.readyRead.connect(self._readOutput) + + mode = i18n("preview mode") if self.preview else i18n("publish mode") + version = lilyPondVersion(self.command) + if version: + self.output.writeLine(i18n("LilyPond %1 [%2] starting (%3)...", + format(version), self._basename, mode)) + else: + self.output.writeLine(i18n("LilyPond [%1] starting (%2)...", + self._basename, mode)) - self.log.clear() - mode = unicode(self.preview and i18n("preview mode") or i18n("publish mode")) - self.log.writeLine(i18n("LilyPond [%1] starting (%2)...", self.lyfile_arg, mode)) self.startTime = time.time() - self.p.start() + p.start() - def finished(self, exitCode, exitStatus): + def abort(self): + """ Abort the LilyPond job """ + self._p.terminate() + + def kill(self): + """ + Immediately kill the job, and disconnect it's output signals, etc. + Emits the done(False) signal. + """ + self._p.finished.disconnect(self._finished) + self._p.error.disconnect(self._error) + self._p.readyRead.disconnect(self._readOutput) + self._p.kill() + self._p.waitForFinished(2000) + self.done(False, self) + + def _finished(self, exitCode, exitStatus): if exitCode: - self.log.writeMsg(i18n("LilyPond [%1] exited with return code %2.", - self.lyfile_arg, exitCode), "msgerr") + self.output.writeMsg(i18n("LilyPond [%1] exited with return code %2.", + self._basename, exitCode), "msgerr") elif exitStatus: - self.log.writeMsg(i18n("LilyPond [%1] exited with exit status %2.", - self.lyfile_arg, exitStatus), "msgerr") + self.output.writeMsg(i18n("LilyPond [%1] exited with exit status %2.", + self._basename, exitStatus), "msgerr") else: # We finished successfully, show elapsed time... - seconds = time.time() - self.startTime - if seconds < 60: - elapsed = '%.1f"' % seconds - else: - elapsed = "%i'%i\"" % divmod(seconds, 60) - self.log.writeMsg(i18n("LilyPond [%1] finished (%2).", - self.lyfile_arg, elapsed), "msgok") - self.bye(not (exitCode or exitStatus)) + minutes, seconds = divmod(time.time() - self.startTime, 60) + f = "{0:.0f}'{1:.0f}\"" if minutes else '{1:.1f}"' + self.output.writeMsg(i18n("LilyPond [%1] finished (%2).", + self._basename, f.format(minutes, seconds)), "msgok") + + # otherwise we delete ourselves during our event handler, causing crash + QTimer.singleShot(0, lambda: self.done(not (exitCode or exitStatus), self)) - def error(self, errCode): + def _error(self, errCode): """ Called when QProcess encounters an error """ if errCode == QProcess.FailedToStart: - self.log.writeMsg(i18n( + self.output.writeMsg(i18n( "Could not start LilyPond. Please check path and permissions."), "msgerr") elif errCode == QProcess.ReadError: - self.log.writeMsg(i18n("Could not read from the LilyPond process."), + self.output.writeMsg(i18n("Could not read from the LilyPond process."), "msgerr") - elif self.p.state() == QProcess.NotRunning: - self.log.writeMsg(i18n("An unknown error occured."), "msgerr") - if self.p.state() == QProcess.NotRunning: - self.bye(False) - - def bye(self, success): - # otherwise we delete ourselves during our event handler, causing crash - QTimer.singleShot(0, lambda: self.done(success, self)) - - def abort(self): - """ Abort the LilyPond job """ - self.p.terminate() - - def kill(self): - """ - Immediately kill the job, and disconnect it's output signals, etc. - Emits the done(False) signal. - """ - QObject.disconnect(self.p, - SIGNAL("finished(int, QProcess::ExitStatus)"), self.finished) - QObject.disconnect(self.p, - SIGNAL("error(QProcess::ProcessError)"), self.error) - QObject.disconnect(self.p, SIGNAL("readyRead()"), self.readOutput) - self.p.kill() - self.p.waitForFinished(2000) - self.done(False, self) + elif self._p.state() == QProcess.NotRunning: + self.output.writeMsg(i18n("An unknown error occured."), "msgerr") + if self._p.state() == QProcess.NotRunning: + # otherwise we delete ourselves during our event handler, causing crash + QTimer.singleShot(0, lambda: self.done(False, self)) - def readOutput(self): + def _readOutput(self): encoding = sys.getfilesystemencoding() or 'utf-8' - text = str(self.p.readAllStandardOutput()).decode(encoding, 'replace') - parts = _ly_message_re.split(text) + text = str(self._p.readAllStandardOutput()).decode(encoding, 'replace') + parts = iter(_ly_message_re.split(text)) # parts has an odd length(1, 6, 11 etc) # message, etc. - self.log.write(parts.pop(0)) - while len(parts[:5]) == 5: - url, path, line, col, msg = parts[:5] - path = os.path.join(self.directory, path) + self.output.write(next(parts)) + for url, path, line, col, msg in zip(*repeat(parts, 5)): + path = os.path.join(self._directory, path) line = int(line or "1") or 1 col = int(col or "0") - self.log.writeFileRef(url, path, line, col) - self.log.write(msg) - del parts[:5] + self.output.writeFileRef(url, path, line, col) + self.output.write(msg) def updatedFiles(self): """ Returns a function that can list updated files based on extension. """ - return frescobaldi_app.mainapp.updatedFiles(self.lyfile, - math.floor(self.startTime)) - + return updatedFiles(self.lyfile, math.floor(self.startTime)) -class LyDoc2PDF(Ly2PDF): + +class LilyPondJob(BasicLilyPondJob): """ - Runs LilyPond on the given Document. + A LilyPondJob with default settings from Frescobaldi config. """ - def __init__(self, doc, log, preview): - self.preview = preview - if doc.needsLocalFileManager(): + def __init__(self): + super(LilyPondJob, self).__init__() + self.command = lilyPondCommand() + self.arguments = ["--pdf"] + self.verbose = config("preferences").readEntry("verbose lilypond output", False) + self.delfiles = config("preferences").readEntry("delete intermediate files", True) + + +class DocumentJob(LilyPondJob): + """ + A job to be run on a Document instance. + The document is available in the document attribute. + """ + document = None + + def __init__(self, doc=None): + self.document = doc + super(DocumentJob, self).__init__() + + def start(self): + if self.document.needsLocalFileManager(): # handle nonlocal or unnamed documents - lyfile = doc.localFileManager(True).makeLocalFile() + lyfile = self.document.localFileManager(True).makeLocalFile() else: - lyfile = doc.localPath() - lvars = doc.variables() - ly = (lvars.get(preview and 'master-preview' or 'master-publish') + # look for %%master directives + lyfile = self.document.localPath() + lvars = self.document.variables() + ly = (lvars.get(self.preview and 'master-preview' or 'master-publish') or lvars.get('master')) if ly: lyfile = os.path.join(os.path.dirname(lyfile), ly) - super(LyDoc2PDF, self).__init__(lyfile, log) - doc.closed.connect(self.kill) + self.lyfile = lyfile + self.document.closed.connect(self.kill) + super(DocumentJob, self).start() + + +class RunLilyPondDialog(KDialog): + """ + A dialog where a DocumentJob can be configured before it's started. + """ + def __init__(self, mainwin): + self.mainwin = mainwin + KDialog.__init__(self, mainwin) + self.setCaption(i18n("Run LilyPond")) + self.setButtons(KDialog.ButtonCode( + KDialog.Help | KDialog.Ok | KDialog.Cancel )) + self.setButtonText(KDialog.Ok, i18n("Run LilyPond")) + self.setButtonIcon(KDialog.Ok, KIcon("run-lilypond")) + self.setHelp("running") + + layout = QVBoxLayout(self.mainWidget()) + + layout.addWidget(QLabel(i18n( + "Select which LilyPond version you want to run:"))) + + self.lilypond = QListWidget() + self.lilypond.setIconSize(QSize(22, 22)) + self.lilypond.setSpacing(4) + layout.addWidget(self.lilypond) + + self.preview = QCheckBox(i18n( + "Run LilyPond in preview mode (with Point and Click)")) + layout.addWidget(self.preview) + + self.verbose = QCheckBox(i18n("Run LilyPond with verbose output")) + layout.addWidget(self.verbose) + + def configureJob(self, job, doc=None): + """Configure a job, belonging to document. + If the document is not given, it is expected to live in the document + attribute of the job. If there is already a job running, we just display, + but disable the Run button, until the old job finishes. + """ + doc = doc or job.document + + # populate the dialog based on remembered settings for this document + self.lilypond.clear() + + # find the configured lilypond versions + conf = config("lilypond") + paths = conf.readEntry("paths", ["lilypond"]) or ["lilypond"] + default = conf.readEntry("default", "lilypond") + + import ly.version + + # get all versions + ver = dict((path, lilyPondVersion(path)) for path in paths) + + # default + if default not in paths: + default = paths[0] + + # Sort on version + paths.sort(key=ver.get) + versions = map(ver.get, paths) + + # Determine automatic version (lowest possible) + autopath = None + docVersion = doc.lilyPondVersion() + if docVersion: + autopath = automaticLilyPondCommand(docVersion) + + def addItem(version, path, icon, title, tooltip): + item = QListWidgetItem(self.lilypond) + item.setIcon(KIcon(icon)) + item.setText("{0}\n{1}: {2}".format(title, i18n("Command"), path)) + item.setToolTip(tooltip) + version or item.setFlags(Qt.NoItemFlags) + + # Add all available LilyPond versions: + for path in paths: + if ver[path]: + title = i18n("LilyPond %1", format(ver[path])) + tooltip = i18n("Use LilyPond version %1", format(ver[path])) + addenda, tips = [], [] + if path == default: + addenda.append(i18n("default")) + tips.append(i18n("Default LilyPond Version.")) + if path == autopath: + addenda.append(i18n("automatic")) + tips.append(i18n("Automatic LilyPond Version (determined from document).")) + if addenda: + title += " [{0}]".format(", ".join(addenda)) + tooltip += "\n{0}".format("\n".join(tips)) + addItem(format(ver[path]), path, "run-lilypond", title, + tooltip + "\n" + i18n("Path: %1", + ly.version.LilyPondInstance(path).command() or path)) + else: + addItem("", path, "dialog-error", + i18n("LilyPond (version unknown)"), + i18n("Use LilyPond (version unknown)\nPath: %1", + ly.version.LilyPondInstance(path).command() or path)) + + # Copy the settings from the document: + self.preview.setChecked(doc.metainfo["preview"]) + self.verbose.setChecked(doc.metainfo["verbose"]) + + try: + self.lilypond.setCurrentRow(versions.index(doc.metainfo["lilypond version"])) + except ValueError: + cmd = autopath if autopath and conf.readEntry("automatic version", False) else default + self.lilypond.setCurrentRow(paths.index(cmd)) + + # Focus our listbox: + self.lilypond.setFocus() + + # Disable the Run button if a job is running for this document + oldjob = self.mainwin.jobManager().job(doc) + self.enableButtonOk(not oldjob) + if oldjob: + enable = lambda: self.enableButtonOk(True) + oldjob.done.connect(enable) + + # Wait for user interaction: + result = self.exec_() + + # If a job was running, don't listen to it anymore + if oldjob: + oldjob.done.disconnect(enable) + + if not result: + return False # cancelled + + # Save the settings in the document's metainfo and configure job: + doc.metainfo["preview"] = job.preview = self.preview.isChecked() + doc.metainfo["verbose"] = job.verbose = self.verbose.isChecked() + index = self.lilypond.currentRow() + doc.metainfo["lilypond version"] = versions[index] + job.command = paths[index] + return True + class JobManager(object): """ Manages LilyPond jobs. - Create new jobs with the createJob method. - (Stop jobs by calling abort() on the job). + Start jobs run() method. + Stop jobs by calling abort() on the job. Emits: jobStarted(Document) jobFinished(Document, success, job) @@ -212,23 +380,26 @@ def docs(self): return self.jobs.keys() - - def createJob(self, doc, log, preview): - if doc in self.jobs: + + def run(self, job): + if job.document in self.jobs: return - self.jobs[doc] = LyDoc2PDF(doc, log, preview) - self.jobStarted(doc) - def finished(success, job): - del self.jobs[doc] - self.jobFinished(doc, success, job) - self.jobs[doc].done.connect(finished) - return self.jobs[doc] + self.jobs[job.document] = job + job.done.connect(self._finished) + job.start() + self.jobStarted(job.document) + + def _finished(self, success, job): + del self.jobs[job.document] + self.jobFinished(job.document, success, job) class LogWidget(QFrame): + + preview = False # this is used by the ActionManager + def __init__(self, parent=None): QFrame.__init__(self, parent) - self.preview = False # this is used by Ly2PDF and the ActionManager layout = QVBoxLayout(self) layout.setContentsMargins(0, 0, 0, 0) layout.setSpacing(0) @@ -295,19 +466,16 @@ self.tool = tool self.doc = doc self.anchors = {} - self.anchorgen = anchorgen().next + self.anchorgen = anchorgen() LogWidget.__init__(self, tool.widget) - QObject.connect(self.textBrowser, SIGNAL("anchorClicked(QUrl)"), - self.anchorClicked) + self.textBrowser.anchorClicked.connect(self.anchorClicked) # context menu: self.textBrowser.setContextMenuPolicy(Qt.CustomContextMenu) - QObject.connect(self.textBrowser, - SIGNAL("customContextMenuRequested(QPoint)"), - self.showContextMenu) + self.textBrowser.customContextMenuRequested.connect(self.showContextMenu) def clear(self): self.anchors.clear() - self.anchorgen = anchorgen().next + self.anchorgen = anchorgen() super(Log, self).clear() def show(self): @@ -316,7 +484,7 @@ self.tool.show() def writeFileRef(self, text, path, line, column, tooltip=None, format='url'): - anchor = self.anchorgen() + anchor = next(self.anchorgen) self.anchors[anchor] = FileRef(self.doc.app, path, line, column) f = self.formats[format] f.setAnchorHref(anchor) @@ -331,16 +499,17 @@ def showContextMenu(self, pos): m = KMenu(self.textBrowser) + m.aboutToHide.connect(m.deleteLater) m.addTitle(i18n("LilyPond Log")) self.addContextMenuActions(m) - m.exec_(self.textBrowser.mapToGlobal(pos)) + m.popup(self.textBrowser.mapToGlobal(pos)) def addContextMenuActions(self, menu): a = menu.addAction(KIcon("edit-copy"), i18n("&Copy")) - QObject.connect(a, SIGNAL("triggered()"), self.copyLog) + a.triggered.connect(self.copyLog) g = KStandardGuiItem.saveAs() a = menu.addAction(g.icon(), g.text()) - QObject.connect(a, SIGNAL("triggered()"), self.saveLogAs) + a.triggered.connect(self.saveLogAs) def copyLog(self): text = (self.textBrowser.textCursor().selection().toPlainText() @@ -355,39 +524,18 @@ i18n("Save LilyPond Log as"), KEncodingFileDialog.Saving, self.textBrowser) dlg.setSelection(fileName) - - # because KEncodingFileDialog.setConfirmOverwrite() is not available - # in KDE 4.1, we try to use it, but fall back to our old own - # implementation. - checkOverwrite = False - try: - dlg.setConfirmOverwrite(True) - except AttributeError: - checkOverwrite = True - result = dlg.exec_() - if not result: + dlg.setConfirmOverwrite(True) + if not dlg.exec_(): return # Cancelled - - # now confirm overwrite if the dialog didn't handle that (KDE < 4.2) - fileName = unicode(dlg.selectedFile()) - if (checkOverwrite and os.path.exists(fileName) - and KMessageBox.warningContinueCancel(self.textBrowser, - i18n("A file named \"%1\" already exists. " - "Are you sure you want to overwrite it?", - os.path.basename(fileName)), - i18n("Overwrite File?"), KGuiItem(i18n("&Overwrite"))) == - KMessageBox.Cancel): - return - - encoding = str(dlg.selectedEncoding()) - text = unicode(self.textBrowser.textCursor().selection().toPlainText() + encoding = dlg.selectedEncoding() + fileName = dlg.selectedFile() + text = (self.textBrowser.textCursor().selection().toPlainText() or self.textBrowser.toPlainText()) try: - f = open(fileName, 'w') - f.write(text.encode(encoding, 'replace')) - f.write('\n') - f.close() - except (OSError, IOError), e: + with open(fileName, 'w') as f: + f.write(text.encode(encoding, 'replace')) + f.write('\n') + except (OSError, IOError) as e: KMessageBox.error(self.textBrowser, i18n("Could not save LilyPond log:\n\n%1", unicode(e))) @@ -478,7 +626,7 @@ def __init__(self, doc): self.doc = doc self.directory = tempfile.mkdtemp() - path = unicode(self.doc.url().path()) + path = self.doc.url().path() self.filename = path and os.path.basename(path) or "music.ly" def __del__(self): @@ -499,7 +647,8 @@ lyfile = self.path() # Save the file to our local storage # TODO: error handling - file(lyfile, 'w').write(self.doc.text().encode(self.doc.encoding() or 'utf-8')) + with open(lyfile, 'w') as f: + f.write(self.doc.text().encode(self.doc.encoding() or 'utf-8')) return lyfile @@ -521,10 +670,15 @@ def run(self, text, fileName='output.ly'): lyfile = os.path.join(self.directory(), fileName) - file(lyfile, 'w').write(text.encode('utf-8')) + with open(lyfile, 'w') as f: + f.write(text.encode('utf-8')) + self.log.clear() # ... and run LilyPond. - self.job = Ly2PDF(lyfile, self.log) - self.job.done.connect(self.finished) + job = self.job = LilyPondJob() + job.lyfile = lyfile + job.output.connect(self.log) + job.done.connect(self.finished) + job.start() def finished(self): """ @@ -632,7 +786,7 @@ self.setMainWidget(self.preview) self.setMinimumSize(QSize(400, 300)) self.loadSettings() - QObject.connect(self, SIGNAL("finished()"), self.slotFinished) + self.finished.connect(self.slotFinished) def loadSettings(self): self.restoreDialogSize(config("preview dialog")) @@ -678,6 +832,13 @@ Generates an infinite row of anchor names, named "anchor0", "anchor1", etc. """ - while True: - yield "anchor%d" % num - num += 1 + for num in count(num): + yield "anchor{0}".format(num) + + +def scmbool(value): + """ + Returns the Scheme notation for the boolean value. + """ + return "#t" if value else "#f" + diff -Nru frescobaldi-1.0.2/python/frescobaldi_app/scorewiz/__init__.py frescobaldi-1.1.1/python/frescobaldi_app/scorewiz/__init__.py --- frescobaldi-1.0.2/python/frescobaldi_app/scorewiz/__init__.py 2010-01-10 06:09:33.000000000 +0000 +++ frescobaldi-1.1.1/python/frescobaldi_app/scorewiz/__init__.py 2010-01-25 06:14:17.000000000 +0000 @@ -17,16 +17,17 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ Score Wizard """ -import os, re, sip, string, sys, types +import os, re, sip, sys, types import ly, ly.dom -from rational import Rational +from fractions import Fraction -from PyQt4.QtCore import ( - QObject, QSize, QSizeF, QString, QStringList, QUrl, QVariant, Qt, SIGNAL) +from PyQt4.QtCore import QSize, QSizeF, QUrl, Qt from PyQt4.QtGui import ( QCheckBox, QComboBox, QGridLayout, QGroupBox, QHBoxLayout, QLabel, QListWidget, QListWidgetItem, QSplitter, QStackedWidget, QTextBrowser, @@ -36,7 +37,7 @@ KCompletion, KHBox, KIcon, KLineEdit, KPageDialog, KPushButton, KStandardGuiItem, KVBox) -from kateshell.app import lazymethod +from kateshell.app import cacheresult from frescobaldi_app.mainapp import SymbolManager from frescobaldi_app.widgets import TapButton from frescobaldi_app.version import defaultVersion @@ -47,13 +48,6 @@ c = c.group(group) return c -def onSignal(obj, signalName): - """ decorator to easily add connect a Qt signal to a Python slot.""" - def decorator(func): - QObject.connect(obj, SIGNAL(signalName), func) - return func - return decorator - class ScoreWizard(KPageDialog): def __init__(self, mainwin): @@ -73,16 +67,18 @@ self.settings = Settings(self) self.loadCompletions() self.restoreDialogSize(config("dialogsize")) - @onSignal(self, "defaultClicked()") - def default(): - self.titles.default() - self.parts.default() - self.settings.default() - @onSignal(self, "tryClicked()") - def previewscore(): - self.previewDialog().showPreview() + self.defaultClicked.connect(self.default) + self.tryClicked.connect(self.previewScore) + + def default(self): + self.titles.default() + self.parts.default() + self.settings.default() + + def previewScore(self): + self.previewDialog().showPreview() - @lazymethod + @cacheresult def previewDialog(self): from frescobaldi_app.scorewiz import preview return preview.PreviewDialog(self) @@ -109,7 +105,7 @@ for name, widget in self.completableWidgets.iteritems(): c = widget.completionObject() c.setOrder(KCompletion.Sorted) - c.setItems(conf.readEntry(name, QVariant(QStringList())).toStringList()) + c.setItems(conf.readEntry(name, [])) def done(self, result): self.saveDialogSize(config("dialogsize")) @@ -147,23 +143,20 @@ t.setContentsMargins(2, 2, 2, 2) t.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) t.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff) - @onSignal(t.document().documentLayout(), "documentSizeChanged(QSizeF)") - def resize(size): - t.setMinimumSize(size.toSize() + QSize(4, 4)) + t.setMinimumSize(QSize(350, 350)) + #t.document().documentLayout().documentSizeChanged.connect( + #lambda size: t.setMinimumSize(size.toSize() + QSize(4, 4))) headers = ly.headers(i18n) msg = i18n("Click to enter a value.") - html = string.Template(titles_html % ( - i18n("bottom of first page"), - i18n("bottom of last page")) - ).substitute(dict( - (k, "%s" % (msg, k, v)) - for k, v in headers)) - t.setHtml(html) + t.setHtml(titles_html.format( + copyrightmsg = i18n("bottom of first page"), + taglinemsg = i18n("bottom of last page"), + **dict((k, "{2}".format(msg, k, v)) + for k, v in headers))) l.addWidget(t) - @onSignal(t, "anchorClicked(QUrl)") - def focusEntry(qurl): - self.findChild(KLineEdit, qurl.toString()).setFocus() + t.anchorClicked.connect(lambda qurl: + self.findChild(KLineEdit, qurl.toString()).setFocus()) g = QGridLayout() g.setVerticalSpacing(1) @@ -189,7 +182,7 @@ def headers(self): """ Iterate over the user-entered headers (name, value) """ for h in ly.headerNames: - yield h, unicode(self.findChild(KLineEdit, h).text()) + yield h, self.findChild(KLineEdit, h).text() class Parts(QSplitter): @@ -203,7 +196,7 @@ # The part types overview widget. v = KVBox() self.addWidget(v) - QLabel('%s' % i18n("Available parts:"), v) + QLabel('{0}'.format(i18n("Available parts:")), v) allParts = QTreeWidget(v) addButton = KPushButton(KStandardGuiItem.add(), v) addButton.setToolTip(i18n("Add selected part to your score.")) @@ -211,15 +204,15 @@ # The listbox with selected parts v = KVBox() self.addWidget(v) - QLabel('%s' % i18n("Score:"), v) + QLabel('{0}'.format(i18n("Score:")), v) score = QListWidget(v) self.score = score # so the partList method can find us h = KHBox(v) removeButton = KPushButton(KStandardGuiItem.remove(), h) upButton = QToolButton(h) - upButton.setIcon(KIcon("go-up")) # TODO: check icon + upButton.setIcon(KIcon("go-up")) downButton = QToolButton(h) - downButton.setIcon(KIcon("go-down")) # TODO: check icon + downButton.setIcon(KIcon("go-down")) # The StackedWidget with settings partSettings = QStackedWidget() @@ -262,22 +255,22 @@ parent.enableButton(KPageDialog.Try, False) sip.delete(self.w) sip.delete(self) # TODO: check if necessary - - @onSignal(allParts, "itemDoubleClicked(QTreeWidgetItem*, int)") + + @allParts.itemDoubleClicked.connect def addPart(item, col): if hasattr(item, "partClass"): PartItem(item.partClass) - - @onSignal(allParts, "itemClicked(QTreeWidgetItem*, int)") + + @allParts.itemClicked.connect def toggleExpand(item, col): item.setExpanded(not item.isExpanded()) - @onSignal(addButton, "clicked()") + @addButton.clicked.connect def addSelectedParts(): for item in allParts.selectedItems(): PartItem(item.partClass) - @onSignal(removeButton, "clicked()") + @removeButton.clicked.connect def removeSelectedParts(): for item in score.selectedItems(): item.remove() @@ -295,7 +288,7 @@ i.setSelected(True) return decorator - @onSignal(upButton, "clicked()") + @upButton.clicked.connect @keepSel def moveUp(): """ Move selected parts up. """ @@ -304,7 +297,7 @@ item = score.takeItem(row) score.insertItem(row - 1, item) - @onSignal(downButton, "clicked()") + @downButton.clicked.connect @keepSel def moveDown(): """ Move selected parts down. """ @@ -313,7 +306,7 @@ item = score.takeItem(row) score.insertItem(row + 1, item) - @onSignal(score, "currentItemChanged(QListWidgetItem*, QListWidgetItem*)") + @score.currentItemChanged.connect def showItem(cur, prev): if cur: cur.showSettingsWidget() @@ -394,7 +387,7 @@ self.pickup = QComboBox(h) self.pickup.addItem(i18n("None")) self.pickup.insertSeparator(1) - durs = [('note_%s' % d.replace('.', 'd'), d) for d in durations] + durs = [('note_' + d.replace('.', 'd'), d) for d in durations] for icon, text in durs: self.addItemSymbol(self.pickup, self.pickup.count(), icon) self.pickup.addItem(text) @@ -450,20 +443,9 @@ self.lylang.addItems([l.title() for l in self.languageNames]) h.setToolTip(i18n( "The LilyPond language you want to use for the pitch names.")) - @onSignal(self.lylang, "currentIndexChanged(const QString&)") - def slotLanguageChanged(lang): - """ Change the LilyPond language, affects key names """ - lang = unicode(lang).lower() # can be QString - if lang not in self.languageNames: - lang = 'nederlands' - index = self.key.currentIndex() - if index == -1: - index = 0 - self.key.clear() - self.key.addItems(ly.keyNames[lang]) - self.key.setCurrentIndex(index) - slotLanguageChanged('') # init with default - + self.lylang.currentIndexChanged.connect(self.slotLanguageChanged) + self.slotLanguageChanged(0) # init with default + h = KHBox() v.addWidget(h) l = QLabel(i18n("Version:"), h) @@ -472,7 +454,7 @@ l.setBuddy(self.lyversion) version = defaultVersion() if version: - self.lyversion.addItem(version) + self.lyversion.addItem(str(version)) self.lyversion.addItems(('2.10.0', '2.11.0')) h.setToolTip(i18n( "The LilyPond version you will be using for this document.")) @@ -502,6 +484,11 @@ "score. The MIDI output also uses the metronome setting.")) v.addWidget(self.metro) + self.book = QCheckBox(i18n("Wrap score in \\book block")) + self.book.setToolTip(i18n( + "If checked, wraps the \\score block inside a \\book block.")) + v.addWidget(self.book) + # paper size: h = KHBox() v.addWidget(h) @@ -512,9 +499,7 @@ self.paperLandscape = QCheckBox(i18n("Landscape"), h) self.paper.addItem(i18n("Default")) self.paper.addItems(ly.paperSizes) - @onSignal(self.paper, "activated(int)") - def checkLandscape(i): - self.paperLandscape.setEnabled(bool(i)) + self.paper.activated.connect(lambda i: self.paperLandscape.setEnabled(bool(i))) # Instrument names instr.setCheckable(True) @@ -548,9 +533,8 @@ h.setToolTip(i18n("Which language to use for the instrument names.")) langs = KGlobal.dirs().findAllResources("locale", "*/LC_MESSAGES/frescobaldi.mo") - self.instrLanguages = list(sorted(set(unicode(lang).split('/')[-3] for lang in langs))) - self.instrLang.addItems([KGlobal.locale().languageCodeToName(lang) - for lang in self.instrLanguages]) + self.instrLanguages = list(sorted(set(lang.split('/')[-3] for lang in langs))) + self.instrLang.addItems(map(KGlobal.locale().languageCodeToName, self.instrLanguages)) self.default() self.loadConfig() @@ -558,38 +542,40 @@ def saveConfig(self): conf = config() conf.writeEntry('language', self.getLanguage() or 'default') - conf.writeEntry('typographical', QVariant(self.typq.isChecked())) - conf.writeEntry('remove tagline', QVariant(self.tagl.isChecked())) - conf.writeEntry('remove barnumbers', QVariant(self.barnum.isChecked())) - conf.writeEntry('midi', QVariant(self.midi.isChecked())) - conf.writeEntry('metronome mark', QVariant(self.metro.isChecked())) + conf.writeEntry('typographical', self.typq.isChecked()) + conf.writeEntry('remove tagline', self.tagl.isChecked()) + conf.writeEntry('remove barnumbers', self.barnum.isChecked()) + conf.writeEntry('midi', self.midi.isChecked()) + conf.writeEntry('metronome mark', self.metro.isChecked()) + conf.writeEntry('wrap in book', self.book.isChecked()) if self.paper.currentIndex() > 0: conf.writeEntry('paper size', ly.paperSizes[self.paper.currentIndex() - 1]) - conf.writeEntry('paper landscape', QVariant(self.paperLandscape.isChecked())) + conf.writeEntry('paper landscape', self.paperLandscape.isChecked()) g = config('instrument names') - g.writeEntry('show', QVariant(self.instr.isChecked())) + g.writeEntry('show', self.instr.isChecked()) g.writeEntry('first', ['long', 'short'][self.instrFirst.currentIndex()]) g.writeEntry('other', ['long', 'short', 'none'][self.instrOther.currentIndex()]) g.writeEntry('lang', (['default', 'english'] + self.instrLanguages)[self.instrLang.currentIndex()]) def loadConfig(self): conf = config() - self.setLanguage(conf.readEntry('language', QVariant('default')).toString()) - self.typq.setChecked(conf.readEntry('typographical', QVariant(True)).toBool()) - self.tagl.setChecked(conf.readEntry('remove tagline', QVariant(False)).toBool()) - self.barnum.setChecked(conf.readEntry('remove barnumbers', QVariant(False)).toBool()) - self.midi.setChecked(conf.readEntry('midi', QVariant(True)).toBool()) - self.metro.setChecked(conf.readEntry('metronome mark', QVariant(False)).toBool()) + self.setLanguage(conf.readEntry('language', 'default')) + self.typq.setChecked(conf.readEntry('typographical', True)) + self.tagl.setChecked(conf.readEntry('remove tagline', False)) + self.barnum.setChecked(conf.readEntry('remove barnumbers', False)) + self.midi.setChecked(conf.readEntry('midi', True)) + self.metro.setChecked(conf.readEntry('metronome mark', False)) + self.book.setChecked(conf.readEntry('wrap in book', False)) - psize = conf.readEntry('paper size', QVariant('')).toString() + psize = conf.readEntry('paper size', "") if psize in ly.paperSizes: self.paper.setCurrentIndex(ly.paperSizes.index(psize) + 1) - self.paperLandscape.setChecked(conf.readEntry('paper landscape', QVariant(False)).toBool()) + self.paperLandscape.setChecked(conf.readEntry('paper landscape', False)) self.paperLandscape.setEnabled(psize in ly.paperSizes) g = config('instrument names') def readconf(entry, itemlist, defaultIndex): - item = g.readEntry(entry, QVariant(itemlist[defaultIndex])).toString() + item = g.readEntry(entry, itemlist[defaultIndex]) if item in itemlist: return itemlist.index(item) else: @@ -602,7 +588,7 @@ self.instrFirst.setCurrentIndex(first) self.instrOther.setCurrentIndex(other) self.instrLang.setCurrentIndex(lang) - self.instr.setChecked(g.readEntry('show', QVariant(True)).toBool()) + self.instr.setChecked(g.readEntry('show', True)) def default(self): """ Set various items to their default state """ @@ -619,6 +605,7 @@ self.barnum.setChecked(False) self.midi.setChecked(True) self.metro.setChecked(False) + self.book.setChecked(False) self.paper.setCurrentIndex(0) self.paperLandscape.setEnabled(False) self.instrFirst.setCurrentIndex(0) @@ -628,7 +615,7 @@ def getLanguage(self): """ Return the configured LilyPond pitch language, '' for default. """ - if self.lylang.currentIndex(): + if self.lylang.currentIndex() >= 2: return self.languageNames[self.lylang.currentIndex() - 2] else: return '' @@ -639,6 +626,16 @@ self.lylang.setCurrentIndex(0) else: self.lylang.setCurrentIndex(self.languageNames.index(lang) + 2) + + def slotLanguageChanged(self, index): + """ Change the LilyPond language, affects key names """ + lang = index < 2 and "nederlands" or self.languageNames[index - 2] + key = self.key.currentIndex() + if key == -1: + key = 0 + self.key.clear() + self.key.addItems(ly.keyNames[lang]) + self.key.setCurrentIndex(key) class Builder(object): @@ -652,24 +649,37 @@ Parts may interact with: + methods: include to request filenames to be included addCodeBlock to add arbitrary strings to the output (e.g. functions) - lilypondVersion a tuple like (2, 11, 64) describing the LilyPond the - document is built for. - getInstrumentNames to translate instrument names setInstrumentNames to translate and set instrument names for a node + setMidiInstrument to set the Midi instrument for a node + + getMidiTempo to get the configured tempo e.g."(ly:make-moment 100 4)" + + setMidiTempo to write the configured tempo in the given context + + properties: + lilyPondVersion a tuple like (2, 11, 64) describing the LilyPond the + document is built for. + midi property is True if MIDI output is requested - setMidiInstrument to set the Midi instrument for a node + book True if the main \\score { } block is to be wrapped + inside a \\book { } block. A part may set this to True + if it is needed (e.g. when alternate output files are to + be created). + """ def __init__(self, wizard): self.wizard = wizard self.midi = wizard.settings.midi.isChecked() + self.book = wizard.settings.book.isChecked() def ly(self, doc=None): """ Return LilyPond formatted output. """ @@ -695,13 +705,13 @@ self.translate = lambda s: s # english (untranslated) i = s.instrLang.currentIndex() if i == 0: # default (translated) - self.translate = lambda s: unicode(i18n(s)) + self.translate = i18n elif i >= 2: # other translation try: import gettext - self.translate = gettext.GNUTranslations(open(unicode( + self.translate = gettext.GNUTranslations(open( KGlobal.dirs().findResource("locale", s.instrLanguages[i-2] + - "/LC_MESSAGES/frescobaldi.mo")))).ugettext + "/LC_MESSAGES/frescobaldi.mo"))).ugettext except IOError: pass @@ -712,10 +722,10 @@ self.codeBlocks = [] # version: - version = unicode(s.lyversion.currentText()) + version = s.lyversion.currentText() ly.dom.Version(version, doc) ly.dom.BlankLine(doc) - self.lilypondVersion = tuple(map(int, re.findall('\\d+', version))) + self.lilyPondVersion = tuple(map(int, re.findall('\\d+', version))) # header: h = ly.dom.Header() @@ -731,7 +741,7 @@ # paper size: if s.paper.currentIndex(): - ly.dom.Scheme('(set-paper-size "%s"%s)' % ( + ly.dom.Scheme('(set-paper-size "{0}"{1})'.format( s.paper.currentText(), s.paperLandscape.isChecked() and " 'landscape" or ""), ly.dom.Paper(doc)).after = 1 @@ -748,7 +758,7 @@ # pitch language: language = s.getLanguage() if language: - self.include("%s.ly" % language) + self.include("{0}.ly".format(language)) # add code blocks, if any: for code in self.codeBlocks[::-1]: @@ -774,7 +784,7 @@ g = ly.dom.Seq(globalAssignment) # First find out if we need to define a tempoMark section. - tempoText = unicode(s.tempoInd.text()) + tempoText = s.tempoInd.text() metro = s.metro.isChecked() dur = durations[s.metroDur.currentIndex()] val = s.metroVal.currentText() @@ -797,8 +807,7 @@ if metro: # Constuct a tempo indication with metronome mark ly.dom.QuotedString(tempoText + " ", m) - ly.dom.Line(r'\small \general-align #Y #DOWN \note #"%s" #1 = %s' % - (dur, val), m) + ly.dom.Line(r'\small \general-align #Y #DOWN \note #"{0}" #1 = {1}'.format(dur, val), m) else: # Constuct a tempo indication without metronome mark ly.dom.QuotedString(tempoText, m) @@ -812,14 +821,14 @@ # key signature note, alter = ly.keys[s.key.currentIndex()] - alter = Rational(alter, 2) + alter = Fraction(alter, 2) mode = ly.modes()[s.mode.currentIndex()][0] ly.dom.KeySignature(note, alter, mode, g).after = 1 # time signature - match = re.search('(\\d+).*?(\\d+)', unicode(s.time.currentText())) + match = re.search('(\\d+).*?(\\d+)', s.time.currentText()) if match: if s.time.currentText() in ('2/2', '4/4'): - if self.lilypondVersion >= (2, 11, 44): + if self.lilyPondVersion >= (2, 11, 44): ly.dom.Line(r"\numericTimeSignature", g) else: ly.dom.Line(r"\override Staff.TimeSignature #'style = #'()", g) @@ -883,12 +892,15 @@ for n in part.nodes: sim.append(n) - # clean up the parts: - for part in partList: - part.cleanup() - # put the score in the document - doc.append(score) + if self.book: + book = ly.dom.Book() + book.append(score) + doc.append(book) + else: + doc.append(score) + + # Add some layout stuff lay = ly.dom.Layout(score) if s.barnum.isChecked(): ly.dom.Line('\\remove "Bar_number_engraver"', @@ -896,11 +908,19 @@ if self.midi: mid = ly.dom.Midi(score) if tempoText or not metro: - base, mul = midiDurations[s.metroDur.currentIndex()] - val = int(val) * mul - ly.dom.Context('Score', mid)['tempoWholesPerMinute'] = \ - ly.dom.Scheme("(ly:make-moment %s %s)" % (val, base)) + self.setMidiTempo(ly.dom.Context('Score', mid)) + + # Add possible aftermath: + for part in partList: + if part.aftermath: + ly.dom.BlankLine(doc) + for n in part.aftermath: + doc.append(n) + # clean up the parts: + for part in partList: + part.cleanup() + ## # The following methods are to be used by the parts. ## @@ -979,6 +999,22 @@ """ if self.midi: node.getWith()['midiInstrument'] = midiInstrument + + def getMidiTempo(self): + """ + Returns the configured tempo as a string e.g. "(ly:make-moment 100 4)" + """ + s = self.wizard.settings + base, mul = midiDurations[s.metroDur.currentIndex()] + val = int(s.metroVal.currentText()) * mul + return "(ly:make-moment {0} {1})".format(val, base) + + def setMidiTempo(self, node): + """ + Writes the configured tempo to the 'tempoWholesPerMinute' variable + of the given context (should be subclass of ly.dom.HandleVars). + """ + node['tempoWholesPerMinute'] = ly.dom.Scheme(self.getMidiTempo()) class PartBase(object): @@ -996,10 +1032,11 @@ def cleanup(self): """ - Delete previously built assignments and nodes + Delete previously built assignments, nodes and aftermath """ self.assignments = [] self.nodes = [] + self.aftermath = [] def run(self, builder): """ @@ -1037,7 +1074,7 @@ Reimplement this method to add widgets with settings to the given layout. """ - layout.addWidget(QLabel('(%s)' % i18n("No settings available."))) + layout.addWidget(QLabel('({0})'.format(i18n("No settings available.")))) def build(self, builder): """ @@ -1045,45 +1082,49 @@ self.assignments and self.nodes. builder is a Builder instance providing access to users settings. You must implement this method in your part subclasses. + + You may also add ly.dom.Node objects to the self.aftermath list. These + are reproduces below the main score and can be used to create additional + score sections or markups, etc. """ pass -titles_html = r""" - - - - - - +
$dedication
$title
$subtitle
$subsubtitle
+ + + + - - - + + + - + - + - + - + - - -
{dedication}
{title}
{subtitle}
{subsubtitle}
$poet$instrument$composer{poet}{instrument}{composer}
$meter{meter} $arranger{arranger}
$piece{piece} $opus{opus}
$copyright (%s)
$tagline (%s)
""" +{copyright} ({copyrightmsg}) +{tagline} ({taglinemsg}) + +""" durations = ['16', '16.', '8', '8.', '4', '4.', '2', '2.', '1', '1.'] midiDurations = ((16,1),(32,3),(8,1),(16,3),(4,1),(8,3),(2,1),(4,3),(1,1),(2,3)) diff -Nru frescobaldi-1.0.2/python/frescobaldi_app/scorewiz/parts.py frescobaldi-1.1.1/python/frescobaldi_app/scorewiz/parts.py --- frescobaldi-1.0.2/python/frescobaldi_app/scorewiz/parts.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/frescobaldi_app/scorewiz/parts.py 2010-01-26 18:13:31.000000000 +0000 @@ -17,14 +17,18 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ Part types for the Score Wizard (scorewiz/__init__.py). In separate file to ease maintenance. """ -from rational import Rational +from fractions import Fraction +from collections import defaultdict +from itertools import cycle, islice, chain, repeat -from PyQt4.QtCore import QObject, QRegExp, Qt, SIGNAL +from PyQt4.QtCore import QRegExp, Qt from PyQt4.QtGui import ( QCheckBox, QComboBox, QGroupBox, QLabel, QRadioButton, QRegExpValidator, QSpinBox, QVBoxLayout) @@ -89,7 +93,7 @@ Identifier('global', s).after = 1 if transposition is not None: toct, tnote, talter = transposition - Pitch(toct, tnote, Rational(talter, 2), Transposition(s)) + Pitch(toct, tnote, Fraction(talter, 2), Transposition(s)) LineComment(i18n("Music follows here."), s) BlankLine(s) return s, ref @@ -165,8 +169,7 @@ i18n("Tablature"), i18n("Both"))) if self.tunings: - QObject.connect(self.staffType, SIGNAL("activated(int)"), - self.slotTabEnable) + self.staffType.activated.connect(self.slotTabEnable) self.widgetsTuning(layout) self.slotTabEnable(0) @@ -238,7 +241,7 @@ else: for num, ref in zip(order, refs): s = Seq(TabVoice(parent=sim)) - Text('\\voice%s' % ly.nums(num), s) + Text('\\voice' + ly.nums(num), s) Identifier(ref, s) if staffType == 0: @@ -292,7 +295,7 @@ l = LyricMode() if verse: name = name + ly.nums(verse) - Line('\\set stanza = "%d."' % verse, l) + Line('\\set stanza = "{0}."'.format(verse), l) a, ref = self.assign(name) a.append(l) LineComment(i18n("Lyrics follow here."), l) @@ -379,7 +382,7 @@ self.nodes.append(p) def widgets(self, layout): - l = QLabel('%s (%s)' % ( + l = QLabel('{0} ({1})'.format( i18n("Adjust how many separate voices you want on each staff."), i18n("This is primarily useful when you write polyphonic music " "like a fuge."))) @@ -415,8 +418,8 @@ Identifier('global', s).after = 1 i = self.chordStyle.currentIndex() if i > 0: - Line('\\%sChords' % - ('german', 'semiGerman', 'italian', 'french')[i-1], s) + Line('\\{0}Chords'.format( + ('german', 'semiGerman', 'italian', 'french')[i-1]), s) LineComment(i18n("Chords follow here."), s) BlankLine(s) self.nodes.append(p) @@ -553,8 +556,8 @@ super(Banjo, self).setTunings(tab) else: tab.getWith()['stringTunings'] = Scheme( - '(four-string-banjo %s)' % - self.tunings[self.tuningSel.currentIndex()][1]) + '(four-string-banjo {0})'.format( + self.tunings[self.tuningSel.currentIndex()][1])) class ClassicalGuitar(TablaturePart): @@ -887,9 +890,9 @@ self.nodes.append(p) def widgets(self, layout): - l = QLabel('%s' % i18n( + l = QLabel('{0}'.format(i18n( "The Lead Sheet provides a staff with chord names above " - "and lyrics below it. A second staff is optional.")) + "and lyrics below it. A second staff is optional."))) l.setWordWrap(True) layout.addWidget(l) self.chords = QGroupBox(i18n("Chord names")) @@ -911,7 +914,7 @@ _name = ki18n("Choir") def widgets(self, layout): - l = QLabel('

%s (%s)

' % ( + l = QLabel('

{0} ({1})

'.format( i18n("Please select the voices for the choir. " "Use the letters S, A, T, or B. A hyphen denotes a new staff."), i18n("Hint: For a double choir you can use two choir parts."))) @@ -933,204 +936,252 @@ 'SS-A-T-B', 'S-A-TT-B', 'SS-A-TT-B', 'S-S-A-T-T-B', 'S-S-A-A-T-T-B-B', )) - g = QGroupBox(i18n("Lyrics")) - layout.addWidget(g) - group = QVBoxLayout() - g.setLayout(group) - self.lyrAllSame = QRadioButton(i18n("All voices same lyrics")) - self.lyrAllSame.setChecked(True) - self.lyrAllSame.setToolTip(i18n( - "One set of the same lyrics is placed between all staves.")) - group.addWidget(self.lyrAllSame) - self.lyrEachSame = QRadioButton(i18n("Every voice same lyrics")) - self.lyrEachSame.setToolTip(i18n( - "Every voice gets its own lyrics, using the same text as the " - "other voices.")) - group.addWidget(self.lyrEachSame) - self.lyrEachDiff = QRadioButton(i18n("Every voice different lyrics")) - self.lyrEachDiff.setToolTip(i18n( - "Every voice gets a different set of lyrics.")) - group.addWidget(self.lyrEachDiff) - self.stanzaWidget(group) + self.stanzaWidget(layout) + h = KHBox() + layout.addWidget(h) + l = QLabel(i18n("Lyrics:"), h) + self.lyrics = QComboBox(h) + l.setBuddy(self.lyrics) + for index, (text, tooltip) in enumerate(( + (i18n("All voices same lyrics"), + i18n("A set of the same lyrics is placed between all staves.")), + (i18n("Every voice same lyrics"), + i18n("Every voice gets its own lyrics, using the same text as the" + " other voices.")), + (i18n("Every voice different lyrics"), + i18n("Every voice gets a different set of lyrics.")), + (i18n("Distribute stanzas"), + i18n("One set of stanzas is distributed across the staves.")))): + self.lyrics.addItem(text) + self.lyrics.setItemData(index, tooltip, Qt.ToolTipRole) + self.lyrics.setCurrentIndex(0) self.ambitusWidget(layout) self.pianoReduction = QCheckBox(i18n("Piano reduction")) self.pianoReduction.setToolTip(i18n( "Adds an automatically generated piano reduction.")) layout.addWidget(self.pianoReduction) - - partInfo = { - 'S': ('soprano', 1, SopranoVoice.instrumentNames), - 'A': ('alto', 0, AltoVoice.instrumentNames), - 'T': ('tenor', 0, TenorVoice.instrumentNames), - 'B': ('bass', -1, BassVoice.instrumentNames), + self.rehearsalMidi = QCheckBox(i18n("Rehearsal MIDI files")) + self.rehearsalMidi.setToolTip(i18n( + "Creates a rehearsal MIDI file for every voice, " + "even if no MIDI output is generated for the main score.")) + layout.addWidget(self.rehearsalMidi) + + identifiers = { + 'S': 'soprano', + 'A': 'alto', + 'T': 'tenor', + 'B': 'bass', } - + + octaves = { + 'S': SopranoVoice.octave, + 'A': AltoVoice.octave, + 'T': TenorVoice.octave, + 'B': BassVoice.octave, + } + + instrumentNames = { + 'S': SopranoVoice.instrumentNames, + 'A': AltoVoice.instrumentNames, + 'T': TenorVoice.instrumentNames, + 'B': BassVoice.instrumentNames, + } + def build(self, builder): # normalize voicing - staves = unicode(self.voicing.currentText()).upper() + staves = self.voicing.currentText().upper() # remove unwanted characters staves = re.sub(r'[^SATB-]+', '', staves) # remove double hyphens, and from begin and end staves = re.sub('-+', '-', staves).strip('-') if not staves: return + splitStaves = staves.split('-') + numStaves = len(splitStaves) + staffCIDs = defaultdict(int) # number same-name staff Context-IDs + voiceCounter = defaultdict(int) # dict to number same voice types + maxNumVoices = max(map(len, splitStaves)) # largest number of voices + numStanzas = self.stanzas.value() + lyrics = defaultdict(list) # lyrics grouped by stanza number + pianoReduction = defaultdict(list) + rehearsalMidis = [] + p = ChoirStaff() choir = Sim(p) + self.nodes.append(p) + # print main instrumentName if there are more choirs, and we # have more than one staff. - if len(splitStaves) > 1 and self.num: + if numStaves > 1 and self.num: builder.setInstrumentNames(p, I18N_NOOP("Choir|Ch."), self.num) - count = dict.fromkeys('SATB', 0) # dict with count of parts. - maxLen = max(map(len, splitStaves)) - toGo = max(2, len(splitStaves)) # nr staves with same lyrics below + 1 - lyr, staffNames = [], [] - pianoReduction = dict((key, []) for key in 'SATB') - for staff in splitStaves: - toGo -= 1 + + # get the preferred way of adding lyrics + lyrAllSame, lyrEachSame, lyrEachDiff, lyrSpread = ( + self.lyrics.currentIndex() == i for i in range(4)) + lyrEach = lyrEachSame or lyrEachDiff + + # stanzas to print (0 = don't print stanza number): + if numStanzas == 1: + allStanzas = [0] + else: + allStanzas = list(range(1, numStanzas + 1)) + + # Which stanzas to print where: + if lyrSpread and numStanzas > 1 and numStaves > 2: + spaces = numStaves - 1 + count, rest = divmod(max(numStanzas, spaces), spaces) + stanzaSource = cycle(allStanzas) + stanzaGroups = (islice(stanzaSource, num) for num in chain( + repeat(count + 1, rest), repeat(count, numStaves - rest))) + else: + stanzaGroups = repeat(allStanzas, numStaves) + + # a function to set staff affinity (in LilyPond 2.13.4 and above): + if builder.lilyPondVersion >= (2, 13, 4): + def setStaffAffinity(context, affinity): + Line("\\override VerticalAxisGroup " + "#'staff-affinity = #" + affinity, context.getWith()) + else: + def setStaffAffinity(lyricsContext, affinity): + pass + + # a function to make a column markup: + if builder.lilyPondVersion >= (2, 11, 57): + columnCommand = 'center-column' + else: + columnCommand = 'center-align' + def makeColumnMarkup(names): + node = Markup() + column = MarkupEnclosed(columnCommand, node) + for name in names: + QuotedString(name, column) + return node + + stavesLeft = numStaves + for staff, stanzas in zip(splitStaves, stanzaGroups): + # are we in the last staff? + stavesLeft -= 1 + # the number of voices in this staff + numVoices = len(staff) # sort the letters in order SATB staff = ''.join(i * staff.count(i) for i in 'SATB') # Create the staff for the voices s = Staff(parent=choir) builder.setMidiInstrument(s, self.midiInstrument) - # Build lists of the voices and their instrument names - instrNames, voices = [], [] - for part in staff: - if staves.count(part) > 1: - count[part] += 1 - name, octave, instrName = self.partInfo[part] - instrNames.append((instrName, count[part])) - voices.append((part, name, count[part], octave)) - if len(staff) == 1: - # There is only one voice in the staff. Just set the instrument - # name directly in the staff. - name, num = instrNames[0] - builder.setInstrumentNames(s, name, num) - # if *all* staves have only one voice, addlyrics is used. - # In that case, don't remove the braces. - mus = maxLen == 1 and Seq(s) or Seqr(s) + + # Build a list of the voices in this staff. + # Each entry is a tuple(name, num). + # name is one of 'S', 'A', 'T', or 'B' + # num is an integer: 0 when a voice occurs only once, or >= 1 when + # there are more voices of the same type (e.g. Soprano I and II) + voices = [] + for voice in staff: + if staves.count(voice) > 1: + voiceCounter[voice] += 1 + voices.append((voice, voiceCounter[voice])) + + # Add the instrument names to the staff: + if numVoices == 1: + voice, num = voices[0] + builder.setInstrumentNames(s, self.instrumentNames[voice], num) else: - # There are more instrument names for the staff, stack them in - # a markup column. - def mkup(names): - n = Markup() - if builder.lilypondVersion >= (2, 11, 57): - col = 'center-column' - else: - col = 'center-align' - col = MarkupEnclosed(col, n) - for name in names: - QuotedString(name, col) - return n - builder.setInstrumentNames(s, map(mkup, zip( - *[builder.getInstrumentNames(name, num) - for name, num in instrNames]))) - mus = Simr(s) + # stack instrument names (long and short) in a markup column. + builder.setInstrumentNames(s, + map(makeColumnMarkup, zip(*[builder.getInstrumentNames( + self.instrumentNames[voice], num) for voice, num in voices]))) + + # Make the { } or << >> holder for this staff's children. + # If *all* staves have only one voice, addlyrics is used. + # In that case, don't remove the braces. + staffMusic = (Seq if lyrEach and maxNumVoices == 1 else + Seqr if numVoices == 1 else Simr)(s) + # Set the clef for this staff: if 'B' in staff: - Clef('bass', mus) + Clef('bass', staffMusic) elif 'T' in staff: - Clef('treble_8', mus) - - stanzas = self.stanzas.value() - stanzas = stanzas == 1 and [0] or range(1, stanzas + 1) + Clef('treble_8', staffMusic) - # Add the voices - if len(staff) == 1: - part, name, num, octave = voices[0] - mname = name + (num and ly.nums(num) or '') - if self.lyrEachDiff.isChecked(): - lyrName = mname + 'Verse' - else: - lyrName = 'verse' - if maxLen == 1: - # if all staves have only one voice, use \addlyrics... - stub, ref = self.assignMusic(mname, octave) - Identifier(ref, mus) - if not (self.lyrAllSame.isChecked() and not toGo): - for verse in stanzas: - lyr.append((AddLyrics(s), lyrName, verse)) - else: - # otherwise create explicit Voice and Lyrics contexts. - vname = name + str(num or '') - v = Seqr(Voice(vname, parent=mus)) - stub, ref = self.assignMusic(mname, octave) - Identifier(ref, v) - if not (self.lyrAllSame.isChecked() and not toGo): - for verse in stanzas: - lyr.append((LyricsTo(vname, Lyrics(parent=choir)), - lyrName, verse)) - pianoReduction[part].append(ref) - if self.ambitus.isChecked(): - Line('\\consists "Ambitus_engraver"', s.getWith()) + # Determine voice order (\voiceOne, \voiceTwo etc.) + if numVoices == 1: + order = (0,) + elif numVoices == 2: + order = 1, 2 + elif staff in ('SSA', 'TTB'): + order = 1, 3, 2 + elif staff in ('SAA', 'TBB'): + order = 1, 2, 4 + elif staff in ('SSAA', 'TTBB'): + order = 1, 3, 2, 4 else: - # There is more than one voice in the staff. - # Determine their order (\voiceOne, \voiceTwo etc.) - if len(staff) == 2: - order = 1, 2 - elif staff in ('SSA', 'TTB'): - order = 1, 3, 2 - elif staff in ('SAA', 'TBB'): - order = 1, 2, 4 - elif staff in ('SSAA', 'TTBB'): - order = 1, 3, 2, 4 - else: - order = range(1, len(staff) + 1) - # What name would the staff get if we need to refer to it? - staffName, snum = staff, 1 - # if a name (like 's' or 'sa') is already in use in this part, - # just add a number ('ss2' or 'sa2', etc.) - while staffName in staffNames: - snum += 1 - staffName = staff + str(snum) - staffNames.append(staffName) - # We want the staff name (actually context-id) in lower case. - staffName = staffName.lower() - # Create the voices and their lyrics. - for (part, name, num, octave), vnum in zip(voices, order): - mname = name + (num and ly.nums(num) or '') - vname = name + str(num or '') - v = Voice(vname, parent=mus) - # Add ambitus to voice, move to the right if necessary - if self.ambitus.isChecked(): - Line('\\consists "Ambitus_engraver"', v.getWith()) - if vnum > 1: - Line("\\override Ambitus #'X-offset = #%s" % - ((vnum - 1) * 2.0), v.getWith()) - v = Seq(v) - Text('\\voice' + ly.nums(vnum), v) - stub, ref = self.assignMusic(mname, octave) - Identifier(ref, v) - pianoReduction[part].append(ref) - if self.lyrAllSame.isChecked() and toGo and vnum == 1: - lyrName = 'verse' - above = False - elif self.lyrEachSame.isChecked(): - lyrName = 'verse' - above = vnum & 1 - elif self.lyrEachDiff.isChecked(): - lyrName = mname + 'Verse' - above = vnum & 1 - else: - continue - # Create the lyrics. If they should be above the staff, - # give the staff a suitable name, and use alignAboveContext - # to align the Lyrics above the staff. - if above: - s.cid = Reference(staffName) + order = range(1, numVoices + 1) + + # What name would the staff get if we need to refer to it? + # If a name (like 's' or 'sa') is already in use in this part, + # just add a number ('ss2' or 'sa2', etc.) + staffCIDs[staff] += 1 + cid = Reference(staff.lower() + + str(staffCIDs[staff] if staffCIDs[staff] > 1 else "")) + + # Create voices and their lyrics: + for (voice, num), voiceNum in zip(voices, order): + name = self.identifiers[voice] + if num: + name += ly.nums(num) + stub, ref = self.assignMusic(name, self.octaves[voice]) + lyrName = name + 'Verse' if lyrEachDiff else 'verse' + + # Use \addlyrics if all staves have exactly one voice. + if lyrEach and maxNumVoices == 1: for verse in stanzas: - l = Lyrics(parent=choir) - if above: - l.getWith()['alignAboveContext'] = s.cid - lyr.append((LyricsTo(vname, l), lyrName, verse)) + lyrics[verse].append((AddLyrics(s), lyrName)) + Identifier(ref, staffMusic) + else: + voiceName = self.identifiers[voice] + str(num or '') + v = Voice(voiceName, parent=staffMusic) + voiceMusic = Seqr(v) + if voiceNum: + Text('\\voice' + ly.nums(voiceNum), voiceMusic) + Identifier(ref, voiceMusic) + + if stanzas and (lyrEach or (voiceNum <= 1 and + (stavesLeft or numStaves == 1))): + # Create the lyrics. If they should be above the staff, + # give the staff a suitable name, and use alignAbove- + # Context to align the Lyrics above the staff. + above = voiceNum & 1 if lyrEach else False + if above and s.cid is None: + s.cid = cid + + for verse in stanzas: + l = Lyrics(parent=choir) + if above: + l.getWith()['alignAboveContext'] = cid + setStaffAffinity(l, "DOWN") + elif not lyrEach and stavesLeft: + setStaffAffinity(l, "CENTER") + lyrics[verse].append((LyricsTo(voiceName, l), lyrName)) + # Add ambitus: + if self.ambitus.isChecked(): + ambitusContext = (s if numVoices == 1 else v).getWith() + Line('\\consists "Ambitus_engraver"', ambitusContext) + if voiceNum > 1: + Line("\\override Ambitus #'X-offset = #{0}".format( + (voiceNum - 1) * 2.0), ambitusContext) + + pianoReduction[voice].append(ref) + rehearsalMidis.append((voice, num, ref, lyrName)) + # Assign the lyrics, so their definitions come after the note defs. + # (These refs are used again below in the midi rehearsal routine.) refs = {} - for node, name, verse in lyr: - if (name, verse) not in refs: - refs[(name, verse)] = self.assignLyrics(name, verse) - Identifier(refs[(name, verse)], node) - self.nodes.append(p) + for verse in allStanzas: + for node, name in lyrics[verse]: + if (name, verse) not in refs: + refs[(name, verse)] = self.assignLyrics(name, verse) + Identifier(refs[(name, verse)], node) # Create the piano reduction if desired if self.pianoReduction.isChecked(): @@ -1183,7 +1234,8 @@ # Make the piano part somewhat smaller Line("fontSize = #-1", piano.getWith()) - Line("\\override StaffSymbol #'staff-space = #(magstep -1)", piano.getWith()) + Line("\\override StaffSymbol #'staff-space = #(magstep -1)", + piano.getWith()) # Nice to add Mark engravers Line('\\consists "Mark_engraver"', rightStaff.getWith()) @@ -1193,6 +1245,64 @@ if builder.midi: Line('\\remove "Staff_performer"', rightStaff.getWith()) Line('\\remove "Staff_performer"', leftStaff.getWith()) + + # Create MIDI files if desired + if self.rehearsalMidi.isChecked(): + builder.book = True # force \book { } block + + a, rehearsalMidi = self.assign('rehearsalMidi') + + func = SchemeList(a) + func.pre = '#(' # hack + Text('define-music-function', func) + Line('(parser location name midiInstrument lyrics) ' + '(string? string? ly:music?)', func) + choir = Sim(Command('unfoldRepeats', SchemeLily(func))) + + self.aftermath.append(Comment(i18n("Rehearsal MIDI files:"))) + + for voice, num, ref, lyrName in rehearsalMidis: + # Append voice to the rehearsalMidi function + name = self.identifiers[voice] + str(num or '') + seq = Seq(Voice(name, parent=Staff(name, parent=choir))) + Text('s1*0\\f', seq) # add one dynamic + Identifier(ref, seq) # add the reference to the voice + + # Append score to the aftermath (stuff put below the main score) + if self.num: + suffix = "choir{0}-{1}".format(self.num, name) + else: + suffix = name + self.aftermath.append( + Line('#(define output-suffix "{0}")'.format(suffix))) + book = Book() + self.aftermath.append(book) + self.aftermath.append(BlankLine()) + score = Score(book) + + # TODO: make configurable + if voice in ('SA'): + midiInstrument = "soprano sax" + else: + midiInstrument = "tenor sax" + + cmd = Command(rehearsalMidi, score) + QuotedString(name, cmd) + QuotedString(midiInstrument, cmd) + Identifier(refs[(lyrName, stanzas[0])], cmd) + Midi(score) + + Text("\\context Staff = $name", choir) + seq = Seq(choir) + Line("\\set Score.midiMinimumVolume = #0.5", seq) + Line("\\set Score.midiMaximumVolume = #0.5", seq) + Line("\\set Score.tempoWholesPerMinute = #" + builder.getMidiTempo(), seq) + Line("\\set Staff.midiMinimumVolume = #0.8", seq) + Line("\\set Staff.midiMaximumVolume = #1.0", seq) + Line("\\set Staff.midiInstrument = $midiInstrument", seq) + lyr = Lyrics(parent=choir) + lyr.getWith()['alignBelowContext'] = Text('$name') + Text("\\lyricsto $name $lyrics", lyr) class Piano(KeyboardPart): @@ -1296,8 +1406,8 @@ if self.drumVoices.value() > 1: for i in range(1, self.drumVoices.value()+1): q = Seq(DrumVoice(parent=s)) - Text('\\voice%s' % ly.nums(i), q) - ref = self.assignDrums('drum%s' % ly.nums(i)) + Text('\\voice' + ly.nums(i), q) + ref = self.assignDrums('drum' + ly.nums(i)) Identifier(ref, q) else: ref = self.assignDrums('drum') @@ -1306,13 +1416,13 @@ i = self.drumStyle.currentIndex() if i > 0: v = ('drums', 'timbales', 'congas', 'bongos', 'percussion')[i] - p.getWith()['drumStyleTable'] = Scheme('%s-style' % v) + p.getWith()['drumStyleTable'] = Scheme(v + '-style') v = (5, 2, 2, 2, 1)[i] - Line("\\override StaffSymbol #'line-count = #%i" % v, p.getWith()) + Line("\\override StaffSymbol #'line-count = #{0}".format(v), p.getWith()) if self.drumStems.isChecked(): Line("\\override Stem #'stencil = ##f", p.getWith()) - Line("\\override Stem #'length = #3 %% %s" - % i18n("keep some distance."), p.getWith()) + Line("\\override Stem #'length = #3 % " + i18n("keep some distance."), + p.getWith()) self.nodes.append(p) def widgets(self, layout): diff -Nru frescobaldi-1.0.2/python/frescobaldi_app/scorewiz/preview.py frescobaldi-1.1.1/python/frescobaldi_app/scorewiz/preview.py --- frescobaldi-1.0.2/python/frescobaldi_app/scorewiz/preview.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/frescobaldi_app/scorewiz/preview.py 2009-12-30 20:32:29.000000000 +0000 @@ -17,6 +17,8 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ Preview dialog for the Score Wizard (scorewiz/__init__.py). In separate file to ease maintenance. @@ -60,16 +62,16 @@ def addItems(stub, generator): for dur, dots in durs: - node = generator.next() + node = next(generator) node.append(ly.dom.Duration(dur, dots)) stub.append(node) - lyrics = lyricsGen(len(durs)).next + lyrics = lyricsGen(len(durs)) # iter over all the Assignments to add example notes etc. for a in doc.findChildren(ly.dom.Assignment, 1): stub = a[-1] if isinstance(stub, ly.dom.LyricMode): - stub.append(lyrics()) + stub.append(next(lyrics)) elif isinstance(stub, ly.dom.Relative): addItems(stub[-1], pitchGen(keysig)) elif isinstance(stub, ly.dom.ChordMode): @@ -108,7 +110,7 @@ def figureGen(): while True: for i in 5, 6, 3, 8, 7: - for s in "<%s>" % i, "\\skip", "\\skip": + for s in "<{0}>".format(i), "\\skip", "\\skip": yield ly.dom.TextDur(s) def drumGen(): diff -Nru frescobaldi-1.0.2/python/frescobaldi_app/settings.py frescobaldi-1.1.1/python/frescobaldi_app/settings.py --- frescobaldi-1.0.2/python/frescobaldi_app/settings.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/frescobaldi_app/settings.py 2010-02-13 00:00:32.000000000 +0000 @@ -17,20 +17,25 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ Config dialog """ -from PyQt4.QtCore import QObject, QSize, QString, Qt, QVariant, SIGNAL +from PyQt4.QtCore import QSize, Qt from PyQt4.QtGui import ( - QCheckBox, QGridLayout, QGroupBox, QLabel, QLineEdit, QRadioButton, - QTextEdit, QTreeView, QWidget) + QCheckBox, QGridLayout, QGroupBox, QLabel, QLineEdit, QListWidget, + QListWidgetItem, QRadioButton, QTextEdit, QTreeView, QWidget) from PyKDE4.kdecore import KGlobal, KUrl, i18n -from PyKDE4.kdeui import KIcon, KPageDialog, KVBox +from PyKDE4.kdeui import ( + KIcon, KDialog, KPageDialog, KPushButton, KStandardGuiItem, KVBox) from PyKDE4.kio import KFile, KUrlRequester -import ly.version +from signals import Signal +import ly.version +from kateshell.app import cacheresult from frescobaldi_app.widgets import ExecLineEdit, ExecArgsLineEdit # these modules provide their own default settings or update functions @@ -49,12 +54,10 @@ self.setCaption(i18n("Configure")) self.setHelp("settings-dialog") self.setDefaultButton(KPageDialog.Ok) - QObject.connect(self, SIGNAL("applyClicked()"), self.saveSettings) - QObject.connect(self, SIGNAL("defaultClicked()"), self.defaultClicked) - QObject.connect(self, SIGNAL("resetClicked()"), self.loadSettings) - QObject.connect(self, - SIGNAL("currentPageChanged(KPageWidgetItem*, KPageWidgetItem*)"), - self.slotCurrentPageChanged) + self.applyClicked.connect(self.saveSettings) + self.defaultClicked.connect(self.slotDefaultClicked) + self.resetClicked.connect(self.loadSettings) + self.currentPageChanged.connect(self.slotCurrentPageChanged) self.pages = [ GeneralPreferences(self), @@ -67,6 +70,9 @@ tree = self.findChild(QTreeView) if tree: tree.setIconSize(QSize(22, 22)) + # restore our dialog size + self.restoreDialogSize(config("settings dialog")) + self.finished.connect(lambda: self.saveDialogSize(config("settings dialog"))) def changed(self, changed=True): self.enableButton(KPageDialog.Apply, changed) @@ -76,7 +82,7 @@ self.saveSettings() KPageDialog.done(self, result) - def defaultClicked(self): + def slotDefaultClicked(self): for page in self.pages: page.defaults() self.changed(True) @@ -109,7 +115,7 @@ # Get the KTextEditor config pages. for i in range(editor.configPages()): cPage = editor.configPage(i, dialog) - QObject.connect(cPage, SIGNAL("changed()"), dialog.changed) + cPage.changed.connect(dialog.changed) self.editorPages.append(cPage) item = dialog.addSubPage(editorItem, cPage, editor.configPageName(i)) item.setHeader(editor.configPageFullName(i)) @@ -148,14 +154,13 @@ (i18n("Disable the built-in PDF preview"), "disable pdf preview", False), ): - b = QCheckBox(title, self) - QObject.connect(b, SIGNAL("clicked()"), dialog.changed) + b = QCheckBox(title, self, clicked=lambda: dialog.changed()) self.checks.append((b, name, default)) self.layout().addSpacing(20) self.versionOptions = {} - self.customVersion = QLineEdit() + self.customVersion = QLineEdit(textChanged=lambda: dialog.changed()) def changed(dummy): dialog.changed() @@ -168,15 +173,11 @@ (i18n("Use version number of last convert-ly rule"), "convert-ly"), (i18n("Use custom version number:"), "custom"), ): - self.versionOptions[name] = QRadioButton(title) - QObject.connect(self.versionOptions[name], SIGNAL("toggled(bool)"), changed) + self.versionOptions[name] = QRadioButton(title, toggled=changed) self.customVersion.setToolTip(i18n( "Enter a valid LilyPond version number, e.g. 2.12.0")) - QObject.connect(self.customVersion, SIGNAL("textChanged(QString)"), - lambda dummy: dialog.changed()) - QObject.connect(self.versionOptions["custom"], SIGNAL("clicked()"), - lambda: self.customVersion.setFocus()) + self.versionOptions["custom"].clicked.connect(lambda: self.customVersion.setFocus()) grid.addWidget(self.versionOptions["lilypond"], 0, 0, 1, 2) grid.addWidget(self.versionOptions["convert-ly"], 1, 0, 1, 2) @@ -195,10 +196,10 @@ def loadSettings(self): conf = config("preferences") for widget, name, default in self.checks: - widget.setChecked(conf.readEntry(name, QVariant(default)).toBool()) + widget.setChecked(conf.readEntry(name, default)) # lily version: - self.customVersion.setText(conf.readEntry("custom version", QVariant("")).toString()) - name = unicode(conf.readEntry("default version", QVariant("")).toString()) + self.customVersion.setText(conf.readEntry("custom version", "")) + name = conf.readEntry("default version", "") if name not in self.versionOptions: name = "lilypond" self.versionOptions[name].setChecked(True) @@ -206,9 +207,9 @@ def saveSettings(self): conf = config("preferences") for widget, name, default in self.checks: - conf.writeEntry(name, QVariant(widget.isChecked())) + conf.writeEntry(name, widget.isChecked()) # disable or enable the builtin PDF preview - disable = conf.readEntry("disable pdf preview", QVariant(False)).toBool() + disable = conf.readEntry("disable pdf preview", False) running = "pdf" in self.mainwin.tools if disable and running: self.mainwin.tools["pdf"].delete() @@ -216,10 +217,10 @@ tool = frescobaldi_app.mainapp.PDFTool(self.mainwin) tool.sync(self.mainwin.currentDocument()) # lily version: - conf.writeEntry("custom version", QVariant(unicode(self.customVersion.text()))) + conf.writeEntry("custom version", self.customVersion.text()) for name, widget in self.versionOptions.items(): if widget.isChecked(): - conf.writeEntry("default version", QVariant(unicode(name))) + conf.writeEntry("default version", name) break @@ -237,13 +238,14 @@ layout = QGridLayout(self) + # lilypond versions/instances + self.lilypond = LilyPondInfoList(self) + self.lilypond.changed.connect(dialog.changed) + layout.addWidget(self.lilypond, 0, 0, 1, 2) + # commands self.commands = [] for name, default, title, lineedit, tooltip in ( - ('lilypond', 'lilypond', "LilyPond:", ExecLineEdit, - i18n("Name or full path of the LilyPond program.")), - ('convert-ly', 'convert-ly', "Convert-ly:", ExecLineEdit, - i18n("Name or full path of the convert-ly program.")), ('pdf viewer', '', i18n("PDF Viewer:"), ExecArgsLineEdit, i18n("PDF Viewer") + " " + i18n("(leave empty for operating system default)")), @@ -257,13 +259,13 @@ ): label = QLabel(title) widget = lineedit() - QObject.connect(widget, SIGNAL("textEdited(const QString&)"), - lambda: dialog.changed()) + widget.textEdited.connect(lambda: dialog.changed()) label.setBuddy(widget) label.setToolTip(tooltip) widget.setToolTip(tooltip) - layout.addWidget(label, len(self.commands), 0) - layout.addWidget(widget, len(self.commands), 1) + row = layout.rowCount() + layout.addWidget(label, row, 0) + layout.addWidget(widget, row, 1) self.commands.append((widget, name, default)) # default directory @@ -280,24 +282,23 @@ self.folder.setMode(KFile.Mode( KFile.Directory | KFile.ExistingOnly | KFile.LocalOnly)) self.folder.button().setIcon(KIcon("document-open-folder")) - QObject.connect(self.folder, SIGNAL("textChanged(const QString&)"), - lambda dummy: dialog.changed()) + self.folder.textChanged.connect(lambda dummy: dialog.changed()) # LilyPond documentation URL l = QLabel(i18n("LilyPond documentation:")) self.lilydoc = KUrlRequester() + self.lilydoc.textChanged.connect(lambda: dialog.changed()) l.setBuddy(self.lilydoc) row = layout.rowCount() tooltip = i18n( "Url or path to the LilyPond documentation.") l.setToolTip(tooltip) self.lilydoc.setToolTip(tooltip) + self.lilydoc.fileDialog().setCaption(i18n("LilyPond Documentation")) layout.addWidget(l, row, 0) layout.addWidget(self.lilydoc, row, 1) self.lilydoc.setMode(KFile.Mode( KFile.File | KFile.Directory | KFile.ExistingOnly)) - QObject.connect(self.lilydoc, SIGNAL("textChanged(const QString&)"), - lambda dummy: dialog.changed()) # hyphen paths l = QLabel(i18n( @@ -306,17 +307,19 @@ "If you leave out the starting slash, the prefixes from the " "KDEDIRS environment variable are prepended.")) l.setWordWrap(True) - self.hyphenPaths = QTextEdit() + self.hyphenPaths = QTextEdit(textChanged=lambda: dialog.changed()) l.setBuddy(self.hyphenPaths) layout.addWidget(l, layout.rowCount(), 0, 1, 2) layout.addWidget(self.hyphenPaths, layout.rowCount(), 0, 1, 2) - QObject.connect(self.hyphenPaths, SIGNAL("textChanged()"), - dialog.changed) + # stretch lilypond version widget more than hyphen path widget + layout.setRowStretch(0, 2) + layout.setRowStretch(layout.rowCount() - 1, 1) def setHyphenPaths(self, paths): - self.hyphenPaths.setPlainText('\n'.join(unicode(p) for p in paths)) + self.hyphenPaths.setPlainText('\n'.join(paths)) def defaults(self): + self.lilypond.defaults() for widget, name, default in self.commands: widget.setText(default) self.setHyphenPaths(frescobaldi_app.hyphen.defaultPaths) @@ -324,31 +327,31 @@ self.lilydoc.setUrl(KUrl()) def loadSettings(self): + self.lilypond.loadSettings() conf = config("commands") for widget, name, default in self.commands: - widget.setText(conf.readEntry(name, QVariant(default)).toString()) - paths = config("hyphenation").readEntry("paths", - QVariant(frescobaldi_app.hyphen.defaultPaths)).toStringList() + widget.setText(conf.readEntry(name, default)) + paths = config("hyphenation").readEntry("paths", frescobaldi_app.hyphen.defaultPaths) self.setHyphenPaths(paths) self.folder.setPath( config("preferences").readPathEntry("default directory", "")) self.lilydoc.setUrl(KUrl( - config("preferences").readEntry("lilypond documentation", QVariant('')).toString())) + config("preferences").readEntry("lilypond documentation", ""))) def saveSettings(self): + self.lilypond.saveSettings() conf = config("commands") for widget, name, default in self.commands: if widget.text() or not default: - conf.writeEntry(name, QVariant(unicode(widget.text()))) - paths = [p for p in unicode(self.hyphenPaths.toPlainText()).splitlines() - if p] - config("hyphenation").writeEntry("paths", QVariant(paths)) + conf.writeEntry(name, widget.text()) + paths = [p for p in self.hyphenPaths.toPlainText().splitlines() if p] + config("hyphenation").writeEntry("paths", paths) # reload the table of hyphenation dictionaries frescobaldi_app.hyphen.findDicts() config("preferences").writePathEntry("default directory", self.folder.url().path()) config("preferences").writeEntry("lilypond documentation", - QVariant(unicode(self.lilydoc.url().url()))) + self.lilydoc.url().url()) lilydoc = self.mainwin.tools.get('lilydoc') if lilydoc: lilydoc.newDocFinder() @@ -384,8 +387,7 @@ ): label = QLabel(title) widget = lineedit() - QObject.connect(widget, SIGNAL("textEdited(const QString&)"), - lambda: dialog.changed()) + widget.textEdited.connect(lambda: dialog.changed()) label.setBuddy(widget) label.setToolTip(tooltip) widget.setToolTip(tooltip) @@ -402,18 +404,265 @@ def loadSettings(self): conf = config("commands") for widget, name, default in self.commands: - widget.setText(conf.readEntry(name, QVariant(default)).toString()) + widget.setText(conf.readEntry(name, default)) def saveSettings(self): conf = config("commands") for widget, name, default in self.commands: if widget.text(): - conf.writeEntry(name, QVariant(unicode(widget.text()))) + conf.writeEntry(name, widget.text()) + + +class LilyPondInfoList(QGroupBox): + """ + Manages a list of LilyPondInfo instances. + """ + def __init__(self, parent=None): + QGroupBox.__init__(self, i18n("LilyPond versions to use:"), parent) + self.changed = Signal() + + layout = QGridLayout(self) + self.instances = QListWidget() + + addButton = KPushButton(KStandardGuiItem.add()) + editButton = KPushButton(KStandardGuiItem.configure()) + removeButton = KPushButton(KStandardGuiItem.remove()) + + self.auto = QCheckBox(i18n( + "Enable automatic version selection " + "(choose LilyPond version from document)"), + clicked=lambda: self.changed()) + + layout.addWidget(self.instances, 0, 0, 3, 1) + layout.addWidget(addButton, 0, 1) + layout.addWidget(editButton, 1, 1) + layout.addWidget(removeButton, 2, 1) + layout.addWidget(self.auto, 3, 0, 1, 2) + + addButton.clicked.connect(self.addClicked) + editButton.clicked.connect(self.editClicked) + removeButton.clicked.connect(self.removeClicked) + self.instances.itemDoubleClicked.connect(self.itemDoubleClicked) + + @cacheresult + def lilyPondInfoDialog(self): + return LilyPondInfoDialog(self) + + def addClicked(self): + """ Called when the user clicks Add. """ + dlg = self.lilyPondInfoDialog() + dlg.loadInfo(LilyPondInfo()) + if dlg.exec_(): + info = LilyPondInfoItem() + self.instances.addItem(info) + self.instances.setCurrentItem(info) + dlg.saveInfo(info) + self.changed() + + def editClicked(self): + """ Called when the user clicks Edit. """ + info = self.instances.currentItem() + if info: + dlg = self.lilyPondInfoDialog() + dlg.loadInfo(info) + if dlg.exec_(): + dlg.saveInfo(info) + self.changed() + + def removeClicked(self, item): + """ Called when the user clicks Remove. """ + self.instances.takeItem(self.instances.currentRow()) + self.changed() + + def itemDoubleClicked(self, item): + """ Called when the user doubleclicks an item. """ + if item: + self.instances.setCurrentItem(item) + self.editClicked() + + def items(self): + """ Iterator over the items in the list. """ + for c in range(self.instances.count()): + yield self.instances.item(c) + + def defaults(self): + """ Reset ourselves to default state. """ + self.instances.clear() + info = LilyPondInfoItem() + self.instances.addItem(info) + self.instances.setCurrentItem(info) + self.auto.setChecked(False) + info.changed() + + def loadSettings(self): + self.instances.clear() + conf = config("lilypond") + self.auto.setChecked(conf.readEntry("automatic version", False)) + paths = conf.readEntry("paths", ["lilypond"]) + default = conf.readEntry("default", "lilypond") + # sort on version and move erratic entries to the end + paths.sort(key=lambda path: ly.version.LilyPondInstance(path).version() or (999,)) + for path in paths: + info = LilyPondInfoItem(path) + info.default = path == default + self.instances.addItem(info) + info.loadSettings(conf.group(path)) + if info.default: + self.instances.setCurrentItem(info) + + def saveSettings(self): + paths = [] + default = "" + conf = config("lilypond") + conf.deleteGroup() + for info in self.items(): + paths.append(info.lilypond) + if info.default: + default = info.lilypond + info.saveSettings(conf.group(info.lilypond)) + if not paths: + paths = ["lilypond"] + if not default: + default = paths[0] + conf.writeEntry("paths", paths) + conf.writeEntry("default", default) + conf.writeEntry("automatic version", self.auto.isChecked()) + + +class LilyPondInfo(object): + """ + Encapsulates information about a LilyPond instance. + + Attributes: + lilypond the lilypond command (default "lilypond") + commands a dict with the values of the commands, relative to the directory + of the lilypond command; the name is also the default value for + the command. + default whether to set this lilypond command as the default + auto whether to include this command in automatic version selection + """ + def __init__(self, lilypond="lilypond"): + self.lilypond = lilypond + self.commands = dict((name, name) for name, descr in self.commandNames()) + self.default = False + self.auto = True + + @staticmethod + def commandNames(): + """ + Returns a tuple with two-tuples (name, description) of commands + that can be configured as belonging to a LilyPond instance. + The name is also the default value for the command. + """ + return ( + ("convert-ly", i18n("Convert-ly:")), + ("lilypond-book", i18n("Lilypond-book:")), + ) + + def changed(self): + """ Implement to be notified of changes. """ + pass + + def loadSettings(self, group): + for cmd, descr in self.commandNames(): + self.commands[cmd] = group.readEntry(cmd, cmd) + self.auto = group.readEntry("auto", True) + self.changed() + def saveSettings(self, group): + for cmd, descr in self.commandNames(): + group.writeEntry(cmd, self.commands[cmd]) + group.writeEntry("auto", self.auto) +class LilyPondInfoItem(QListWidgetItem, LilyPondInfo): + def __init__(self, lilypond="lilypond"): + QListWidgetItem.__init__(self) + LilyPondInfo.__init__(self, lilypond) + + def changed(self): + """ Call this when this item needs to redisplay itself. """ + lp = self.lilypond + lilypond = ly.version.LilyPondInstance(lp) + if lilypond.version(): + lp += " ({0})".format(lilypond.version()) + self.setIcon(KIcon("run-lilypond")) + self.setToolTip( + '' + '' + '' + '
{0}: {1}
{2}: {3}
'.format( + i18n("Path"), lilypond.command() or "", + i18n("Version"), lilypond.version())) + else: + self.setIcon(KIcon("dialog-error")) + self.setToolTip(i18n("Can't determine LilyPond version.")) + if self.default: + lp += " [{0}]".format(i18n("default")) + + # reset the default state for others + for c in range(self.listWidget().count()): + item = self.listWidget().item(c) + if item is not self and item.default: + item.default = False + item.changed() + self.setText(lp) + + +class LilyPondInfoDialog(KDialog): + """ + A dialog to edit attributes of a LilyPondInfo instance. + """ + def __init__(self, parent): + KDialog.__init__(self, parent) + self.setButtons(KDialog.ButtonCode( + KDialog.Ok | KDialog.Cancel | KDialog.Help)) + self.setCaption(i18n("LilyPond")) + self.setHelp("settings-paths-lilypond") + layout = QGridLayout(self.mainWidget()) + + l = QLabel(i18n("LilyPond Command:")) + self.lilypond = KUrlRequester() + l.setBuddy(self.lilypond) + self.lilypond.lineEdit().setToolTip(i18n( + "Name or full path of the LilyPond program.")) + self.lilypond.fileDialog().setCaption(i18n("LilyPond Command")) + layout.addWidget(l, 0, 0, 1, 2) + layout.addWidget(self.lilypond, 1, 0, 1, 2) + + self.commands = {} + row = 2 + for name, description in LilyPondInfo.commandNames(): + l = QLabel(description) + e = self.commands[name] = QLineEdit() + l.setBuddy(e) + layout.addWidget(l, row, 0, Qt.AlignRight) + layout.addWidget(e, row, 1) + row += 1 + self.default = QCheckBox(i18n("Set as default")) + layout.addWidget(self.default, row, 1) + self.auto = QCheckBox(i18n("Include in automatic version selection")) + layout.addWidget(self.auto, row+1, 1) + + def loadInfo(self, info): + """ Display the settings in the LilyPondInfo object in our dialog. """ + self.lilypond.setText(info.lilypond) + for name, value in info.commands.items(): + self.commands[name].setText(value) + self.default.setChecked(info.default) + self.auto.setChecked(info.auto) + + def saveInfo(self, info): + """ Write the settings in our dialog to the LilyPondInfo object. """ + info.lilypond = self.lilypond.text() + for name, widget in self.commands.items(): + info.commands[name] = widget.text() + info.default = self.default.isChecked() + info.auto = self.auto.isChecked() + info.changed() + + + def config(group): return KGlobal.config().group(group) -def command(cmd): - return unicode(config("commands").readEntry(cmd, QVariant(cmd)).toString()) diff -Nru frescobaldi-1.0.2/python/frescobaldi_app/version.py frescobaldi-1.1.1/python/frescobaldi_app/version.py --- frescobaldi-1.0.2/python/frescobaldi_app/version.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/frescobaldi_app/version.py 2010-01-09 13:55:13.000000000 +0000 @@ -17,30 +17,36 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ Functions to run convert-ly and insert the LilyPond version """ from subprocess import Popen, PIPE import ly.tokenize, ly.version -from PyQt4.QtCore import QVariant from PyKDE4.kdecore import i18n, KGlobal from PyKDE4.kdeui import KMessageBox from PyKDE4.ktexteditor import KTextEditor +from frescobaldi_app.mainapp import lilyPondCommand, convertLyCommand + def defaultVersion(): """ - Returns the LilyPond version number string according to the user's - preference: the version of the currently installed LilyPond, the - version of the last rule in convert-ly, or a custom version. + Returns the LilyPond version according to the user's preference: + the version of the currently installed LilyPond, the version of the last + rule in convert-ly, or a custom version. """ + lilypond = ly.version.LilyPondInstance(lilyPondCommand()) + prefs = config("preferences") - pver = prefs.readEntry("default version", QVariant("lilypond")).toString() + pver = prefs.readEntry("default version", "lilypond") + version = '' if pver == "custom": - version = unicode(prefs.readEntry("custom version", QVariant("")).toString()) + version = ly.version.Version.fromString(prefs.readEntry("custom version", "")) elif pver == "convert-ly": - version = ly.version.ConvertLyLastRuleVersion(command("convert-ly")).versionString - return version or ly.version.LilyPondVersion(command("lilypond")).versionString + version = lilypond.lastConvertLyRuleVersion() + return version or lilypond.version() def insertVersion(mainwin): """ @@ -58,7 +64,7 @@ else: version = defaultVersion() if version: - doc.doc.insertLine(0, '\\version "%s"' % version) + doc.doc.insertLine(0, '\\version "{0}"'.format(version)) else: KMessageBox.sorry(mainwin, i18n("Can't determine the version of LilyPond. " @@ -70,8 +76,8 @@ """ doc = mainwin.currentDocument() text = doc.text() - docVersion = ly.version.getVersion(text) #or ly.guess.version(text) - lilyVersion = ly.version.LilyPondVersion(command("lilypond")).versionTuple + docVersion = ly.version.getVersion(text) + lilyVersion = ly.version.LilyPondInstance(lilyPondCommand()).version() if not docVersion: KMessageBox.sorry(mainwin, i18n( @@ -90,12 +96,11 @@ # read from stdin. try: out, err = Popen( - (command("convert-ly"), "-f", "%d.%d.%d" % docVersion, "-"), + (convertLyCommand(), "-f", str(docVersion), "-"), stdin=PIPE, stdout=PIPE, stderr=PIPE ).communicate(text.encode('utf8')) if out: - doc.setText(u"%s\n\n%%{\n%s\n%%}\n" % - (out.decode('utf8'), err.decode('utf8'))) + doc.setText("{0}\n\n%{{\n{1}\n%}}\n".format(out.decode('utf8'), err.decode('utf8'))) KMessageBox.information(mainwin, i18n( "The document has been processed with convert-ly. You'll find " "the messages of convert-ly in a comment block at the end. " @@ -106,7 +111,7 @@ "The document has been processed with convert-ly, but " "remained unchanged. This is the message given by " "convert-ly: %1", msg)) - except OSError, e: + except OSError as e: msg = unicode(e) KMessageBox.error(mainwin, i18n("Could not start convert-ly: %1", msg)) @@ -114,5 +119,3 @@ def config(group): return KGlobal.config().group(group) -def command(cmd): - return unicode(config("commands").readEntry(cmd, QVariant(cmd)).toString()) diff -Nru frescobaldi-1.0.2/python/frescobaldi_app/widgets.py frescobaldi-1.1.1/python/frescobaldi_app/widgets.py --- frescobaldi-1.0.2/python/frescobaldi_app/widgets.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/frescobaldi_app/widgets.py 2009-12-30 20:32:29.000000000 +0000 @@ -17,6 +17,8 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ Some special widgets """ @@ -24,8 +26,7 @@ import os from time import time -from PyQt4.QtCore import ( - QObject, QProcess, QRegExp, QString, QTimeLine, Qt, SIGNAL) +from PyQt4.QtCore import QProcess, QRegExp, QTimeLine, Qt from PyQt4.QtGui import ( QComboBox, QLabel, QLineEdit, QPainter, QPixmap, QPushButton, QSlider, QSpinBox, QToolButton, QRegExpValidator, QWidget) @@ -48,7 +49,7 @@ def tap(): self.tapTime, t = time(), self.tapTime callback(int(60.0 / (self.tapTime - t))) - QObject.connect(self, SIGNAL("pressed()"), tap) + self.pressed.connect(tap) self.setToolTip(i18n("Click this button a few times to set the tempo.")) @@ -62,7 +63,7 @@ super(ProcessButtonBase, self).__init__(*args) self.setCheckable(True) self._p = KProcess() - QObject.connect(self, SIGNAL("clicked()"), self.slotClicked) + self.clicked.connect(self.slotClicked) def slotClicked(self): if self.isRunning(): @@ -78,13 +79,13 @@ """ Starts the process, calling the initializeProcess method first.""" p = KProcess() # create a new one (FIXME: really needed?) self._p = p - QObject.connect(self, SIGNAL("destroyed()"), p.terminate) - QObject.connect(p, SIGNAL("finished(int, QProcess::ExitStatus)"), self.slotFinished) - QObject.connect(p, SIGNAL("error(QProcess::ProcessError)"), self.slotError) - QObject.connect(p, SIGNAL("started()"), self.slotStarted) - QObject.connect(p, SIGNAL("readyRead()"), self.slotReadyRead) - QObject.connect(p, SIGNAL("readyReadStandardError()"), self.slotReadyReadStandardError) - QObject.connect(p, SIGNAL("readyReadStandardOutput()"), self.slotReadyReadStandardOutput) + self.destroyed.connect(p.terminate) + p.finished.connect(self.slotFinished) + p.error.connect(self.slotError) + p.started.connect(self.slotStarted) + p.readyRead.connect(self.slotReadyRead) + p.readyReadStandardError.connect(self.slotReadyReadStandardError) + p.readyReadStandardOutput.connect(self.slotReadyReadStandardOutput) self.initializeProcess(p) p.start() @@ -187,10 +188,8 @@ self.tapButton = TapButton(None, tap) # setup signals - QObject.connect(self.slider, SIGNAL("valueChanged(int)"), - self.spinbox.setValue) - QObject.connect(self.spinbox, SIGNAL("valueChanged(int)"), - self.slider.setValue) + self.slider.valueChanged.connect(self.spinbox.setValue) + self.spinbox.valueChanged.connect(self.slider.setValue) self.slider.setMinimumWidth(200) self.setTempo(100) # default @@ -210,11 +209,10 @@ """ def __init__(self, *args): QLineEdit.__init__(self, *args) - QObject.connect(self, SIGNAL("textChanged(const QString&)"), - self._checkexec) + self.textChanged.connect(self._checkexec) def _get(self, filename): - return unicode(filename) + return filename def _checkexec(self, filename): if not findexe(self._get(filename)): @@ -229,7 +227,7 @@ """ def _get(self, filename): if filename: - return unicode(filename).split()[0] + return filename.split()[0] else: return '' @@ -243,9 +241,9 @@ self.curIndex = None self.timeline = QTimeLine() self.timeline.setDuration(333) - QObject.connect(self.timeline, SIGNAL("finished()"), self.hide) - QObject.connect(self.timeline, SIGNAL("valueChanged(qreal)"), self.animate) - QObject.connect(stackedWidget, SIGNAL("currentChanged(int)"), self.start) + self.timeline.finished.connect(self.hide) + self.timeline.valueChanged.connect(self.animate) + stackedWidget.currentChanged.connect(self.start) self.hide() def start(self, index): @@ -300,7 +298,7 @@ self.clefs.insert(0, ('', i18n("No Clef"))) self.addItems([title for name, title in self.clefs]) for index, (name, title) in enumerate(self.clefs): - self.addItemSymbol(self, index, 'clef_%s' % (name or 'none')) + self.addItemSymbol(self, index, 'clef_' + (name or 'none')) def clef(self): """ @@ -336,7 +334,7 @@ d.show() edit.setFocus() if d.exec_(): - return unicode(edit.text()) + return edit.text() # utility functions used by above classes: diff -Nru frescobaldi-1.0.2/python/hyphenator.py frescobaldi-1.1.1/python/hyphenator.py --- frescobaldi-1.0.2/python/hyphenator.py 2009-12-14 22:27:27.000000000 +0000 +++ frescobaldi-1.1.1/python/hyphenator.py 2010-01-23 21:21:15.000000000 +0000 @@ -14,28 +14,40 @@ License: LGPL. More info: http://python-hyphenator.googlecode.com/ """ +from __future__ import unicode_literals -import sys import re + __all__ = ("Hyphenator",) -# cache of per-file Hyph_dict objects -hdcache = {} +# cache of per-file HyphenationDictionary objects +_hdcache = {} -# precompile some stuff -parse_hex = re.compile(r'\^{2}([0-9a-f]{2})').sub +# precompile some regular expressions parse = re.compile(r'(\d?)(\D?)').findall -def hexrepl(matchObj): - return unichr(int(matchObj.group(1), 16)) +# Match ^^xx where xx is a two-digit hexadecimal value +_hex_re = re.compile(r'\^{2}([0-9a-f]{2})') -class parse_alt(object): - """ - Parse nonstandard hyphen pattern alternative. - The instance returns a special int with data about the current position - in the pattern when called with an odd value. +# replace the matched hex string with the corresponding unicode character +_hex_repl = lambda matchObj: unichr(int(matchObj.group(1), 16)) + +def replace_hex(text): + """Replaces ^^xx (where xx is a two-digit hexadecimal value) occurrences + by the corresponding unicode character. + + """ + return _hex_re.sub(_hex_repl, text) + + +class ParsedAlternative(object): + """Parse nonstandard hyphen pattern alternative. + + when called with an odd value, the instance returns an integer with data + attribute (DataInt) about the current position in the pattern. + """ def __init__(self, pat, alt): alt = alt.split(',') @@ -53,68 +65,74 @@ self.index -= 1 val = int(val) if val & 1: - return dint(val, (self.change, self.index, self.cut)) + return DataInt(val, (self.change, self.index, self.cut)) else: return val -class dint(int): - """ +class DataInt(int): + """An integer with a data attribute. + Just an int some other data can be stuck to in a data attribute. - Call with ref=other to use the data from the other dint. + Instantiate with ref=other to use the data from the other DataInt. + """ def __new__(cls, value, data=None, ref=None): obj = int.__new__(cls, value) - if ref and type(ref) is dint: + if ref and type(ref) is DataInt: obj.data = ref.data else: obj.data = data return obj -class Hyph_dict(object): - """ - Reads a hyph_*.dic file and stores the hyphenation patterns. +class HyphenationDictionary(object): + """Reads a hyph_*.dic file and stores the hyphenation patterns. + Parameters: - -filename : filename of hyph_*.dic to read + filename : filename of hyph_*.dic pattern file to read + """ def __init__(self, filename): self.patterns = {} - f = open(filename) - charset = f.readline().strip() - if charset.startswith('charset '): - charset = charset[8:].strip() - - for pat in f: - pat = pat.decode(charset).strip() - if not pat or pat[0] == '%': continue - # replace ^^hh with the real character - pat = parse_hex(hexrepl, pat) - # read nonstandard hyphen alternatives - if '/' in pat: - pat, alt = pat.split('/', 1) - factory = parse_alt(pat, alt) - else: - factory = int - tag, value = zip(*[(s, factory(i or "0")) for i, s in parse(pat)]) - # if only zeros, skip this pattern - if max(value) == 0: continue - # chop zeros from beginning and end, and store start offset. - start, end = 0, len(value) - while not value[start]: start += 1 - while not value[end-1]: end -= 1 - self.patterns[''.join(tag)] = start, value[start:end] - f.close() + with open(filename) as f: + charset = f.readline().strip() + if charset.startswith('charset '): + charset = charset[8:].strip() + + for pat in f: + pat = pat.decode(charset).strip() + if not pat or pat[0] == '%': + continue + # replace ^^hh with the real character + pat = replace_hex(pat) + # read nonstandard hyphen alternatives + if '/' in pat: + pat, alt = pat.split('/', 1) + factory = ParsedAlternative(pat, alt) + else: + factory = int + tag, values = zip(*[(s, factory(i or "0")) + for i, s in parse(pat)]) + # if only zeros, skip this pattern + if any(values): + # strip zeros and store start offset. + start, end = 0, len(values) + while not values[start]: + start += 1 + while not values[end-1]: + end -= 1 + self.patterns[''.join(tag)] = start, values[start:end] self.cache = {} - self.maxlen = max(map(len, self.patterns.keys())) + self.maxlen = max(map(len, self.patterns)) def positions(self, word): - """ - Returns a list of positions where the word can be hyphenated. + """Returns a list of positions where the word can be hyphenated. + E.g. for the dutch word 'lettergrepen' this method returns the list [3, 6, 9]. - Each position is a 'data int' (dint) with a data attribute. + Each position is a 'data int' (DataInt) with a data attribute. If the data attribute is not None, it contains a tuple with information about nonstandard hyphenation at that point: (change, index, cut) @@ -125,28 +143,31 @@ point cut: how many characters to remove while substituting the nonstandard hyphenation + """ word = word.lower() - points = self.cache.get(word) - if points is None: - prepWord = '.%s.' % word - res = [0] * (len(prepWord) + 1) - for i in range(len(prepWord) - 1): - for j in range(i + 1, min(i + self.maxlen, len(prepWord)) + 1): - p = self.patterns.get(prepWord[i:j]) - if p: - offset, value = p - s = slice(i + offset, i + offset + len(value)) - res[s] = map(max, value, res[s]) - - points = [dint(i - 1, ref=r) for i, r in enumerate(res) if r % 2] - self.cache[word] = points - return points + try: + return self.cache[word] + except KeyError: + pass + prepWord = '.' + word + '.' + res = [0] * (len(prepWord) + 1) + for i in range(len(prepWord) - 1): + for j in range(i + 1, min(i + self.maxlen, len(prepWord)) + 1): + p = self.patterns.get(prepWord[i:j]) + if p: + offset, values = p + s = slice(i + offset, i + offset + len(values)) + res[s] = map(max, values, res[s]) + + positions = [DataInt(i - 1, ref=r) for i, r in enumerate(res) if r % 2] + self.cache[word] = positions + return positions class Hyphenator(object): - """ - Reads a hyph_*.dic file and stores the hyphenation patterns. + """Reads a hyph_*.dic file and stores the hyphenation patterns. + Provides methods to hyphenate strings in various ways. Parameters: -filename : filename of hyph_*.dic to read @@ -157,27 +178,27 @@ left and right may also later be changed: h = Hyphenator(file) h.left = 1 + """ def __init__(self, filename, left=2, right=2, cache=True): self.left = left self.right = right - if not cache or filename not in hdcache: - hdcache[filename] = Hyph_dict(filename) - self.hd = hdcache[filename] + if not cache or filename not in _hdcache: + _hdcache[filename] = HyphenationDictionary(filename) + self.hd = _hdcache[filename] def positions(self, word): - """ - Returns a list of positions where the word can be hyphenated. - See also Hyph_dict.positions. The points that are too far to + """Returns a list of positions where the word can be hyphenated. + + See also HyphenationDictionary.positions. The points that are too far to the left or right are removed. + """ right = len(word) - self.right return [i for i in self.hd.positions(word) if self.left <= i <= right] def iterate(self, word): - """ - Iterate over all hyphenation possibilities, the longest first. - """ + """Iterate over all hyphenation possibilities, the longest first.""" if isinstance(word, str): word = word.decode('latin1') for p in reversed(self.positions(word)): @@ -192,11 +213,13 @@ yield word[:p], word[p:] def wrap(self, word, width, hyphen='-'): - """ - Return the longest possible first part and the last part of the - hyphenated word. The first part has the hyphen already attached. - Returns None, if there is no hyphenation point before width, or - if the word could not be hyphenated. + """Returns the longest possible first part and the last part of the + hyphenated word. + + The first part has the hyphen already attached. Returns None, if there + is no hyphenation point before width, or if the word could not be + hyphenated. + """ width -= len(hyphen) for w1, w2 in self.iterate(word): @@ -204,11 +227,12 @@ return w1 + hyphen, w2 def inserted(self, word, hyphen='-'): - """ - Returns the word as a string with all the possible hyphens inserted. - E.g. for the dutch word 'lettergrepen' this method returns - the string 'let-ter-gre-pen'. The hyphen string to use can be - given as the second parameter, that defaults to '-'. + """Returns the word as a string with all the possible hyphens inserted. + + E.g. for the dutch word 'lettergrepen' this method returns the string + 'let-ter-gre-pen'. The hyphen string to use can be given as the second + parameter, that defaults to '-'. + """ if isinstance(word, str): word = word.decode('latin1') @@ -228,7 +252,7 @@ if __name__ == "__main__": - + import sys dict_file = sys.argv[1] word = sys.argv[2].decode('latin1') diff -Nru frescobaldi-1.0.2/python/kateshell/app.py frescobaldi-1.1.1/python/kateshell/app.py --- frescobaldi-1.0.2/python/kateshell/app.py 2010-02-16 09:05:23.000000000 +0000 +++ frescobaldi-1.1.1/python/kateshell/app.py 2010-01-27 05:32:19.000000000 +0000 @@ -17,38 +17,62 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. -import os, re, sip, sys, time, weakref, dbus, dbus.service, dbus.mainloop.qt +from __future__ import unicode_literals + +import os, re, sip, sys, time, weakref +from contextlib import contextmanager +from functools import wraps + +import dbus, dbus.service, dbus.mainloop.qt from dbus.service import method, signal from signals import Signal -from PyQt4.QtCore import QObject, Qt, QVariant, SIGNAL +from PyQt4.QtCore import QObject, Qt, SIGNAL +from PyQt4.QtGui import QCursor from PyKDE4.kdecore import i18n, KConfig, KGlobal, KUrl -from PyKDE4.kdeui import ( - KActionCollection, KApplication, KGuiItem, KMessageBox, KStandardGuiItem) +from PyKDE4.kdeui import KApplication, KMessageBox, KStandardGuiItem from PyKDE4.kio import KEncodingFileDialog from PyKDE4.ktexteditor import KTextEditor from kateshell import DBUS_IFACE_PREFIX -from kateshell.mainwindow import MainWindow # Make the Qt mainloop the default one dbus.mainloop.qt.DBusQtMainLoop(set_as_default=True) -def lazymethod(func): +def cacheresult(func): """ - A decorator that only performs the method call the first time, + A decorator that performs the decorated method call only the first time, caches the return value, and returns that next time. The argments tuple should be hashable. """ cache = weakref.WeakKeyDictionary() - def loader(obj, *args): - if args not in cache.setdefault(obj, {}): - cache[obj][args] = func(obj, *args) - return cache[obj][args] - return loader + @wraps(func) + def wrapper(obj, *args): + h = hash(args) + try: + return cache[obj][h] + except KeyError: + result = cache.setdefault(obj, {})[h] = func(obj, *args) + return result + return wrapper + + +@contextmanager +def blockSignals(widget): + """ + Creates a context for a widget with blocked signals. Usage: + + with blockSignals(widget) as w: + ... + """ + block = widget.blockSignals(True) + try: + yield widget + finally: + widget.blockSignals(block) class DBusItem(dbus.service.Object): @@ -59,10 +83,10 @@ def __init__(self, serviceName, path=None): self.serviceName = serviceName if path is None: - path = '/%s' % self.__class__.__name__ + path = '/' + self.__class__.__name__ bus = dbus.SessionBus() bus_name = dbus.service.BusName(self.serviceName, bus) - dbus.service.Object.__init__(self, bus_name, path) + dbus.service.Object.__init__(self, bus_name, bytes(path)) class MainApp(DBusItem): @@ -100,8 +124,16 @@ # KApplication needs to be instantiated before any D-Bus stuff self.kapp = KApplication() + # If the application got upgraded, run a special method + config = KGlobal.config().group("") # root group + oldVersion = config.readEntry("version", "") + if oldVersion != self.version(): + config.writeEntry("version", self.version()) + self.upgradeVersion(oldVersion) + config.sync() + # DBus init - serviceName = "%s%d" % (servicePrefix, os.getpid()) + serviceName = "{0}{1}".format(servicePrefix, os.getpid()) DBusItem.__init__(self, serviceName, '/MainApp') # We support only one MainWindow. @@ -114,7 +146,7 @@ # restore session etc. - @lazymethod + @cacheresult def stateManager(self): return StateManager(self) @@ -122,7 +154,8 @@ return '' def createMainWindow(self): - return MainWindow(self) + import kateshell.mainwindow + return kateshell.mainwindow.MainWindow(self) def createDocument(self, url="", encoding=None): return Document(self, url, encoding) @@ -150,7 +183,7 @@ if self.keepMetaInfo() and not url.isEmpty(): group = self.stateManager().groupForUrl(url) if group: - encoding = group.readEntry("encoding", QVariant('')).toString() + encoding = group.readEntry("encoding", "") # If there is only one document open and it is empty, nameless and # unmodified, use it. if (not url.isEmpty() @@ -248,15 +281,25 @@ """ Returns the name of the application """ - return unicode(KGlobal.mainComponent().aboutData().programName()) + return KGlobal.mainComponent().aboutData().programName() @method(iface, in_signature='', out_signature='s') def version(self): """ Returns the version of our app. """ - return unicode(KGlobal.mainComponent().aboutData().version()) + return KGlobal.mainComponent().aboutData().version() + def upgradeVersion(self, oldVersion): + """ + Called if the application is upgraded to a different version. + Implement this to update configuration etc. kateshell saves the new + version in the config so you don't have to do that. + oldVersion is the old version as a string, e.g. "1.0". + + """ + pass + def showException(self, exctype, excvalue, exctb): """ Called when a Python exception goes unhandled @@ -273,6 +316,19 @@ a user's configured setting. """ return False + + @contextmanager + def busyCursor(self, cursor=None): + """ + Performs code with a busy cursor set for the application. + """ + if cursor is None: + cursor = QCursor(Qt.WaitCursor) + KApplication.setOverrideCursor(cursor) + try: + yield + finally: + KApplication.restoreOverrideCursor() class Document(DBusItem): @@ -291,17 +347,25 @@ """ __instance_counter = 0 iface = DBUS_IFACE_PREFIX + "Document" + + # In this dict names and default values can be set for properties that are + # saved by the state manager (if the user wants to keep state info) + # This dict must be set in the class. The instance copies the values in + # the metainfo dict. This dict can be manipulated, but only the entries with + # keys that also appear in this metainfoDefaults dict are saved. The values + # must be usable in KConfigGroup.readEntry and .writeEntry calls. + metainfoDefaults = {} def __init__(self, app, url="", encoding=None): Document.__instance_counter += 1 - path = "/Document/%d" % Document.__instance_counter + path = "/Document/{0}".format(Document.__instance_counter) DBusItem.__init__(self, app.serviceName, path) if not isinstance(url, KUrl): url = KUrl(url) self.app = app - + self.metainfo = self.metainfoDefaults.copy() self.doc = None # this is going to hold the KTextEditor doc self.view = None # this is going to hold the KTextEditor view self._url = url # as long as no doc is really loaded, this @@ -339,29 +403,17 @@ if self._cursor is not None: self.setCursorPosition(*self._cursor) - QObject.connect(self.doc, - SIGNAL("documentSavedOrUploaded(KTextEditor::Document*, bool)"), - self.slotDocumentSavedOrUploaded) - QObject.connect(self.doc, - SIGNAL("documentUrlChanged(KTextEditor::Document*)"), - self.slotDocumentUrlChanged) - QObject.connect(self.doc, - SIGNAL("completed()"), - self.slotCompleted) - QObject.connect(self.doc, - SIGNAL("modifiedChanged(KTextEditor::Document*)"), - self.slotModifiedChanged) - for s in ( - "cursorPositionChanged(KTextEditor::View*, const KTextEditor::Cursor&)", - "viewModeChanged(KTextEditor::View*)", - "informationMessage(KTextEditor::View*)"): - QObject.connect(self.view, SIGNAL(s), self.slotViewStatusChanged) - for s in ("selectionChanged(KTextEditor::View*)",): - QObject.connect(self.view, SIGNAL(s), self.slotSelectionChanged) + QObject.connect(self.doc, SIGNAL("documentSavedOrUploaded(KTextEditor::Document*, bool)"), self.slotDocumentSavedOrUploaded) + QObject.connect(self.doc, SIGNAL("documentUrlChanged(KTextEditor::Document*)"), self.slotDocumentUrlChanged) + QObject.connect(self.doc, SIGNAL("completed()"), self.slotCompleted) + QObject.connect(self.doc, SIGNAL("modifiedChanged(KTextEditor::Document*)"), self.slotModifiedChanged) + QObject.connect(self.view, SIGNAL("cursorPositionChanged(KTextEditor::View*, const KTextEditor::Cursor&)"), self.slotViewStatusChanged) + QObject.connect(self.view, SIGNAL("viewModeChanged(KTextEditor::View*)"), self.slotViewStatusChanged) + QObject.connect(self.view, SIGNAL("informationMessage(KTextEditor::View*)"), self.slotViewStatusChanged) + QObject.connect(self.view, SIGNAL("selectionChanged(KTextEditor::View*)"), self.slotSelectionChanged) # Allow for dropping urls on the view - QObject.connect(self.view, SIGNAL("dropEventPass(QDropEvent *)"), - self.app.mainwin.dropEvent) + QObject.connect(self.view, SIGNAL("dropEventPass(QDropEvent *)"), self.app.mainwin.dropEvent) # delete some actions from the view before plugging in GUI # trick found in kateviewmanager.cpp @@ -442,37 +494,16 @@ dlg = KEncodingFileDialog( self.app.defaultDirectory(), self.doc.encoding(), - '\n'.join(self.app.fileTypes + ["*|%s" % i18n("All Files")]), + '\n'.join(self.app.fileTypes + ["*|" + i18n("All Files")]), i18n("Save File"), KEncodingFileDialog.Saving, self.app.mainwin) dlg.setSelection(self.url().url()) - - # because KEncodingFileDialog.setConfirmOverwrite() is not available - # in KDE 4.1, we try to use it, but fall back to our old own - # implementation. - checkOverwrite = False - try: - dlg.setConfirmOverwrite(True) - except AttributeError: - checkOverwrite = True + dlg.setConfirmOverwrite(True) if not dlg.exec_(): return False # Cancelled - url = dlg.selectedUrl() - - # now confirm overwrite if the dialog didn't handle that (KDE < 4.2) - if (checkOverwrite and url.isLocalFile() - and os.path.exists(unicode(url.path())) - and KMessageBox.warningContinueCancel(self.app.mainwin, - i18n("A file named \"%1\" already exists. " - "Are you sure you want to overwrite it?", - url.fileName()), - i18n("Overwrite File?"), KGuiItem(i18n("&Overwrite"))) == - KMessageBox.Cancel): - return False - self.doc.setEncoding(dlg.selectedEncoding()) - return self.doc.saveAs(url) + return self.doc.saveAs(dlg.selectedUrl()) return True @method(iface, in_signature='s', out_signature='') @@ -485,7 +516,7 @@ @method(iface, in_signature='', out_signature='s') def encoding(self): if self.doc: - return str(self.doc.encoding()) + return self.doc.encoding() else: return self._encoding @@ -499,16 +530,16 @@ @method(iface, in_signature='', out_signature='s') def prettyUrl(self): """Returns a printable, pretty URL for this document.""" - return unicode(self.url().pathOrUrl()) + return self.url().pathOrUrl() @method(iface, in_signature='', out_signature='s') def localPath(self): - return unicode(self.url().toLocalFile()) + return self.url().toLocalFile() or "" @method(iface, in_signature='', out_signature='s') def documentName(self): if self.doc: - return self.doc.documentName() + return self.doc.documentName() or "" else: return self.url().fileName() or i18n("Untitled") @@ -580,10 +611,7 @@ """ Returns the document text. """ - if self.doc: - return unicode(self.doc.text()) - else: - return '' + return self.doc and self.doc.text() or "" @method(iface, in_signature='s', out_signature='b') def setText(self, text): @@ -608,7 +636,8 @@ Returns the full document text as a list of lines. """ if self.doc: - return map(unicode, self.doc.textLines(self.doc.documentRange())) + return [line or "" + for line in self.doc.textLines(self.doc.documentRange())] else: return [] @@ -682,21 +711,24 @@ the KConfigGroup group, to adjust settings for the loaded document and its view. """ + # load custom properties + for name, default in self.metainfoDefaults.items(): + self.metainfo[name] = group.readEntry(name, default) # restore some options from the view menu for name, action in self.viewActions(): if group.hasKey(name): - value = group.readEntry(name, QVariant(False)).toBool() + value = group.readEntry(name, False) if value != action.isChecked(): action.trigger() # cursor position - line, okline = group.readEntry("line", QVariant(0)).toInt() - column, okcolumn = group.readEntry("column", QVariant(0)).toInt() - if okline and okcolumn and line < self.doc.lines(): + line = group.readEntry("line", 0) + column = group.readEntry("column", 0) + if line < self.doc.lines(): self.view.setCursorPosition(KTextEditor.Cursor(line, column)) # bookmarks markiface = self.doc.markInterface() if markiface: - marks = str(group.readEntry("bookmarks", QVariant("")).toString()) + marks = group.readEntry("bookmarks", "") if re.match(r"\d+:\d+(,\d+:\d+)*$", marks): for m in marks.split(','): line, mark = map(int, m.split(':')) @@ -708,13 +740,19 @@ This can be called by a state manager. You can write stuff to the KConfigGroup group, to save settings for the document and its view. """ + # save custom properties + for name, default in self.metainfoDefaults.items(): + if self.metainfo[name] != default: + group.writeEntry(name, self.metainfo[name]) + else: + group.deleteEntry(name) # save some options in the view menu for name, action in self.viewActions(): - group.writeEntry(name, QVariant(action.isChecked())) + group.writeEntry(name, action.isChecked()) # cursor position cursor = self.view.cursorPosition() - group.writeEntry("line", QVariant(cursor.line())) - group.writeEntry("column", QVariant(cursor.column())) + group.writeEntry("line", cursor.line()) + group.writeEntry("column", cursor.column()) # bookmarks # markInterface().marks() crashes so we use mark() instead... markiface = self.doc.markInterface() @@ -723,10 +761,10 @@ for line in range(self.doc.lines()): m = markiface.mark(line) if m: - marks.append("%d:%d" % (line, m)) - group.writeEntry("bookmarks", QVariant(','.join(marks))) + marks.append("{0}:{1}".format(line, m)) + group.writeEntry("bookmarks", ','.join(marks)) # also save the encoding - group.writeEntry("encoding", QVariant(self.encoding())) + group.writeEntry("encoding", self.encoding()) def line(self, lineNumber = None): """ @@ -735,7 +773,7 @@ if self.doc: if lineNumber is None: lineNumber = self.view.cursorPosition().line() - return unicode(self.doc.line(lineNumber)) + return self.doc.line(lineNumber) or "" def textToCursor(self, line=None, column=None): """ @@ -750,14 +788,14 @@ if column is None: column = line.column() line = line.line() - return unicode(self.doc.text(KTextEditor.Range(0, 0, line, column))) + return self.doc.text(KTextEditor.Range(0, 0, line, column)) or "" def selectionText(self): """ Returns the selected text or None. """ if self.view and self.view.selection(): - return unicode(self.view.selectionText()) + return self.view.selectionText() or "" def selectionOrDocument(self): """ @@ -799,7 +837,15 @@ v.setSelection(KTextEditor.Range(line, col, endline, endcol)) else: v.removeSelection() - + + @contextmanager + def editContext(self): + self.doc.startEditing() + try: + yield + finally: + self.doc.endEditing() + def resetCursorTranslations(self): """ Clears the cursor translations that keep Point and Click @@ -818,7 +864,7 @@ mode = self.doc and self.doc.mode() or self.app.defaultMode if mode: c = KConfig("katemoderc", KConfig.NoGlobals) - v = unicode(c.group(mode).readEntry("Variables", QVariant("")).toString()) + v = c.group(mode).readEntry("Variables", "") return dict(re.findall(r"([a-z]+(?:-[a-z]+)*)\s+([^;]*)", v)) #BUG: Reimplemented below as the variableInterface does not seem to work... @@ -830,7 +876,7 @@ #if self.doc: #iface = self.doc.variableInterface() #if iface: - #v = unicode(iface.variable(varName)) + #v = iface.variable(varName) #if v: #return v #d = self.kateModeVariables() @@ -846,7 +892,7 @@ del lines[10:-10] # only look at the first and last ten lines. for line in lines: if 'kate:' in line: - m = re.search(r"[:;]\s*\b%s\s+([^;]+)" % varName, line) + m = re.search(r"[:;]\s*\b{0}\s+([^;]+)".format(varName), line) if m: return m.group(1) d = self.kateModeVariables() @@ -861,9 +907,7 @@ if v and v.isdigit(): return int(v) group = KGlobal.config().group("Kate Document Defaults") - res, ok = group.readEntry("Tab Width", QVariant(8)).toInt() - if ok: - return res + return group.readEntry("Tab Width", 8) def indentationWidth(self): """ @@ -873,9 +917,7 @@ if v and v.isdigit(): return int(v) group = KGlobal.config().group("Kate Document Defaults") - res, ok = group.readEntry("Indentation Width", QVariant(2)).toInt() - if ok: - return res + return group.readEntry("Indentation Width", 2) def indentationSpaces(self): """ @@ -885,137 +927,9 @@ if v: return v in ('on', '1', 'yes', 'y', 'true') group = KGlobal.config().group("Kate Document Defaults") - flags, ok = group.readEntry('Basic Config Flags', QVariant(0)).toInt() - return bool(ok and flags & 0x2000000) + return bool(group.readEntry('Basic Config Flags', 0) & 0x2000000) -class UserShortcuts(object): - """ - Manages user-defined keyboard shortcuts. - Keyboard shortcuts can be loaded without loading the module they belong to. - If a shortcut is triggered, the module is loaded on demand and the action - triggered. - - You should subclass this base class and implement the widget() and target() - methods. - """ - - # which config group to store our shortcuts - configGroup = "user shortcuts" - - # the shortcut type to use - shortcutContext = Qt.WidgetWithChildrenShortcut - - def __init__(self, mainwin): - self.mainwin = mainwin - self._collection = KActionCollection(self.widget()) - self._collection.setConfigGroup(self.configGroup) - self._collection.addAssociatedWidget(self.widget()) - # load the shortcuts - group = KGlobal.config().group(self.configGroup) - for key in group.keyList(): - if group.readEntry(key, QVariant("")).toString(): - self.addAction(key) - self._collection.readSettings() - - def widget(self): - """ - Should return the widget where the actions should be added to. - """ - pass - - def target(self): - """ - Should return the object that can further process our actions. - It should have the following methods: - - actionTriggered(name) - - populateAction(action) - """ - pass - - def addAction(self, name): - """ - (Internal) Create a new action with name name. - If existing, return the existing action. - """ - action = self._collection.action(name) - if not action: - action = self._collection.addAction(name) - action.setParent(action.parent()) # Workaround SIP 4.10 BUG - action.setShortcutContext(self.shortcutContext) - QObject.connect(action, SIGNAL("triggered()"), - lambda: self.actionTriggered(name)) - return action - - def actionTriggered(self, name): - self.target().actionTriggered(name) - - def shortcuts(self): - """ - Returns the list of names we have non-empty shortcuts for. - """ - return [action.objectName() - for action in self._collection.actions() - if not action.shortcut().isEmpty()] - - def shortcut(self, name): - """ - Returns the shortcut for action, if existing. - """ - action = self._collection.action(name) - if action: - if not action.shortcut().isEmpty(): - return action.shortcut() - self.removeShortcut(name) - - def setShortcut(self, name, shortcut): - """ - Sets the shortcut for the named action. - Creates an action if not existing. - Deletes the action if set to an empty key sequence. - """ - if not shortcut.isEmpty(): - action = self.addAction(name) - action.setShortcut(shortcut) - self._collection.writeSettings(None, True, action) - else: - self.removeShortcut(name) - - def removeShortcut(self, name): - """ - Deletes the given action if existing. - """ - action = self._collection.action(name) - if action: - sip.delete(action) - KGlobal.config().group(self.configGroup).deleteEntry(name) - - def actionCollection(self): - """ - Returns the action collection, fully populated with texts and - icons. - """ - for action in self._collection.actions()[:]: - if action.shortcut().isEmpty(): - self.removeShortcut(action.objectName()) - else: - self.target().populateAction(action) - return self._collection - - def shakeHands(self, names): - """ - Deletes all actions not in names, and returns a list of the names - we have valid actions for. - """ - result = [] - for action in self._collection.actions()[:]: - if action.objectName() not in names: - self.removeShortcut(action.objectName()) - elif not action.shortcut().isEmpty(): - result.append(action.objectName()) - return result - - class StateManager(object): """ Manages state and meta-info for documents, like bookmarks @@ -1029,12 +943,12 @@ if not url.isEmpty(): encodedurl = url.prettyUrl() if create or self.metainfos.hasGroup(encodedurl): - return self.metainfos.group(encodedurl) + return self.metainfos.group(encodedurl.encode('utf-8')) def loadState(self, doc): group = self.groupForUrl(doc.url()) if group: - last = group.readEntry("time", QVariant(0.0)).toDouble()[0] + last = group.readEntry("time", 0.0) # when it is a local file, only load the state when the # file was not modified later if not doc.localPath() or ( @@ -1045,16 +959,17 @@ def saveState(self, doc): if doc.view and not doc.url().isEmpty(): group = self.groupForUrl(doc.url(), True) - group.writeEntry("time", QVariant(time.time())) + group.writeEntry("time", time.time()) doc.writeConfig(group) group.sync() def cleanup(self): """ Purge entries that are not used for more than a month. """ for g in self.metainfos.groupList(): - last = self.metainfos.group(g).readEntry("time", QVariant(0.0)).toDouble()[0] + group = self.metainfos.group(g.encode('utf-8')) + last = group.readEntry("time", 0.0) if (time.time() - last) / 86400 > 31: - self.metainfos.deleteGroup(g) + group.deleteGroup() self.metainfos.sync() diff -Nru frescobaldi-1.0.2/python/kateshell/exception.py frescobaldi-1.1.1/python/kateshell/exception.py --- frescobaldi-1.0.2/python/kateshell/exception.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/kateshell/exception.py 2009-12-30 20:32:29.000000000 +0000 @@ -17,6 +17,8 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ Exception dialog for unhandled Python exceptions (which are bugs in our program). @@ -24,7 +26,6 @@ import traceback -from PyQt4.QtCore import QObject, SIGNAL from PyQt4.QtGui import QLabel, QTextBrowser, QTextCursor, QVBoxLayout from PyKDE4.kdecore import KGlobal, KToolInvocation, i18n from PyKDE4.kdeui import KDialog, KIcon @@ -38,8 +39,8 @@ self.tbfull = ''.join(traceback.format_exception(exctype, excvalue, exctb)) l = QVBoxLayout(self.mainWidget()) - l.addWidget(QLabel("%s" % i18n( - "An internal error has occurred:"))) + l.addWidget(QLabel(u"{0}".format(i18n( + "An internal error has occurred:")))) b = QTextBrowser() l.addWidget(b) self.setCaption(i18n("Internal Error")) @@ -49,7 +50,7 @@ KDialog.User1 | KDialog.Close)) self.setButtonIcon(KDialog.User1, KIcon("tools-report-bug")) self.setButtonText(KDialog.User1, i18n("Email Bug Report...")) - QObject.connect(self, SIGNAL("user1Clicked()"), self.reportBug) + self.user1Clicked.connect(self.reportBug) self.resize(600,300) self.exec_() @@ -57,9 +58,9 @@ self.accept() about = KGlobal.mainComponent().aboutData() - subject = "[%s %s] %s" % ( + subject = u"[{0} {1}] {2}".format( about.programName(), about.version(), self.tbshort) - body = "%s %s\n\n%s\n%s\n\n" % ( + body = u"{0} {1}\n\n{2}\n{3}\n\n".format( about.programName(), about.version(), self.tbfull, i18n("Optionally describe what you were doing below:")) to = about.bugAddress() diff -Nru frescobaldi-1.0.2/python/kateshell/__init__.py frescobaldi-1.1.1/python/kateshell/__init__.py --- frescobaldi-1.0.2/python/kateshell/__init__.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/kateshell/__init__.py 2009-12-30 20:32:29.000000000 +0000 @@ -17,9 +17,10 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + import dbus -from PyQt4.QtCore import QString from PyKDE4.kdecore import KUrl # interface for our object types (MainApp and Document) @@ -36,8 +37,8 @@ bus = dbus.SessionBus(private=True) names = [n for n in bus.list_names() if n.startswith(servicePrefix)] if names: - if pid and "%s%s" % (servicePrefix, pid) in names: - name = "%s%s" % (servicePrefix, pid) + if pid and servicePrefix + pid in names: + name = servicePrefix + pid else: name = names[0] print "Found running instance:", name @@ -77,13 +78,11 @@ meth = getattr(self.iface, attr) if callable(meth): def proxy_func(*args): - # convert args from QString or KUrl to unicode + # convert args from KUrl to unicode args = list(args) for i in range(len(args)): - if isinstance(args[i], QString): - args[i] = unicode(args[i]) - elif isinstance(args[i], KUrl): - args[i] = unicode(args[i].url()) + if isinstance(args[i], KUrl): + args[i] = args[i].url() # call the method res = meth(*args) # Return same proxy if the returned object is a reference diff -Nru frescobaldi-1.0.2/python/kateshell/mainwindow.py frescobaldi-1.1.1/python/kateshell/mainwindow.py --- frescobaldi-1.0.2/python/kateshell/mainwindow.py 2010-02-16 13:05:58.000000000 +0000 +++ frescobaldi-1.1.1/python/kateshell/mainwindow.py 2010-02-16 08:24:01.000000000 +0000 @@ -17,24 +17,27 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + import os, sip, weakref -from PyQt4.QtCore import ( - QEvent, QObject, QTimer, QVariant, Qt, SIGNAL, SLOT, pyqtSignature) +from PyQt4.QtCore import QEvent, QTimer, Qt, SLOT, pyqtSignature from PyQt4.QtGui import ( - QAction, QActionGroup, QDialog, QLabel, QPixmap, QSplitter, QStackedWidget, - QTabBar, QVBoxLayout, QWidget) + QAction, QActionGroup, QDialog, QKeySequence, QLabel, QPixmap, QSplitter, + QStackedWidget, QTabBar, QVBoxLayout, QWidget) from PyKDE4.kdecore import KGlobal, KPluginLoader, KToolInvocation, KUrl, i18n from PyKDE4.kdeui import ( - KAction, KActionMenu, KDialog, KEditToolBar, KHBox, KIcon, KMenu, - KMessageBox, KMultiTabBar, KShortcut, KShortcutsDialog, KShortcutsEditor, - KStandardAction, KStandardGuiItem, KToggleFullScreenAction, KVBox) + KAction, KActionCollection, KActionMenu, KDialog, KEditToolBar, KHBox, + KIcon, KKeySequenceWidget, KMenu, KMessageBox, KMultiTabBar, KShortcut, + KShortcutsDialog, KShortcutsEditor, KStandardAction, KStandardGuiItem, + KToggleFullScreenAction, KVBox) from PyKDE4.kparts import KParts from PyKDE4.ktexteditor import KTextEditor from PyKDE4.kio import KEncodingFileDialog from signals import Signal + # Easily get our global config def config(group="kateshell"): return KGlobal.config().group(group) @@ -171,8 +174,7 @@ # full screen a = self.actionCollection().addAction(KStandardAction.FullScreen, 'fullscreen') - QObject.connect(a, SIGNAL("toggled(bool)"), lambda t: - KToggleFullScreenAction.setFullScreen(self, t)) + a.toggled.connect(lambda t: KToggleFullScreenAction.setFullScreen(self, t)) # recent files. self.openRecent = KStandardAction.openRecent( self, SLOT("slotOpenRecent(KUrl)"), self) @@ -185,14 +187,14 @@ # tool views submenu a = KActionMenu(i18n("&Tool Views"), self) self.actionCollection().addAction('options_toolviews', a) - self.toolViewMenu = a.menu() # Save because of BUG in SIP 4.10 loosing this function def populate(): - self.toolViewMenu.clear() + menu = a.menu() + menu.clear() for tool in self.tools.itervalues(): - self.toolViewMenu.addSeparator() - self.toolViewMenu.addAction(tool.action()) - tool.addMenuActions(self.toolViewMenu) - QObject.connect(self.toolViewMenu, SIGNAL("aboutToShow()"), populate) + menu.addSeparator() + menu.addAction(tool.action()) + tool.addMenuActions(menu) + a.menu().aboutToShow.connect(populate) def setupTools(self): """ @@ -208,8 +210,8 @@ docMenu = self.factory().container("documents", self) docGroup = QActionGroup(docMenu) docGroup.setExclusive(True) - QObject.connect(docGroup, SIGNAL("triggered(QAction*)"), - lambda a: a.doc().setActive()) + docGroup.triggered.connect(lambda a: a.doc().setActive()) + def populateDocMenu(): for a in docGroup.actions(): sip.delete(a) @@ -224,8 +226,8 @@ a.setChecked(True) docGroup.addAction(a) docMenu.addAction(a) - docMenu.setParent(docMenu.parent()) - QObject.connect(docMenu, SIGNAL("aboutToShow()"), populateDocMenu) + docMenu.setParent(docMenu.parent()) # BUG: SIP otherwise looses outer scope + docMenu.aboutToShow.connect(populateDocMenu) def act(self, name, texttype, func, icon=None, tooltip=None, whatsthis=None, key=None): @@ -235,8 +237,7 @@ else: a = self.actionCollection().addAction(name) a.setText(texttype) - a.setParent(a.parent()) # otherwise SIP 4.10 deletes us (BUG) - QObject.connect(a, SIGNAL("triggered()"), func) + a.triggered.connect(func) if icon: a.setIcon(KIcon(icon)) if tooltip: a.setToolTip(tooltip) if whatsthis: a.setWhatsThis(whatsthis) @@ -324,7 +325,7 @@ if len(name) > 72: name = '...' + name[-69:] if doc.isModified(): - self.setCaption("%s [%s]" % (name, i18n("modified"))) + self.setCaption("{0} [{1}]".format(name, i18n("modified"))) self.sb_modified.setPixmap(KIcon("document-save").pixmap(16)) else: self.setCaption(name) @@ -346,23 +347,29 @@ text, tip = i18n("BLOCK"), i18n("Block selection mode") else: text, tip = i18n("LINE"), i18n("Line selection mode") - self.sb_selmode.setText(" %s " % text) + self.sb_selmode.setText(" {0} ".format(text)) self.sb_selmode.setToolTip(tip) def editKeys(self): """ Opens a window to edit the keyboard shortcuts """ - dlg = KShortcutsDialog(KShortcutsEditor.AllActions, - KShortcutsEditor.LetterShortcutsDisallowed, self) - self.addActionCollectionsToShortcutsDialog(dlg) + with self.app.busyCursor(): + dlg = KShortcutsDialog(KShortcutsEditor.AllActions, + KShortcutsEditor.LetterShortcutsDisallowed, self) + for name, collection in self.allActionCollections(): + dlg.addCollection(collection, name) dlg.configure() - def addActionCollectionsToShortcutsDialog(self, dlg): - """ Add KActionCollections to the KShortcutsDialog. """ - dlg.addCollection(self.actionCollection(), - KGlobal.mainComponent().aboutData().programName()) - if self.view(): - dlg.addCollection(self.view().actionCollection()) + def allActionCollections(self): + """ + Yields all KActionCollections that need to be checked if the user + wants to alter a keyboard shortcut. + Each item is a two-tuple (name, KActionCollection). + """ + yield KGlobal.mainComponent().aboutData().programName(), self.actionCollection() + if self.view(): + yield None, self.view().actionCollection() + def editToolbars(self): """ Opens a window to edit the toolbar(s) """ conf = config("MainWindow") @@ -371,7 +378,7 @@ def newToolbarConfig(): self.applyMainWindowSettings(conf) self.setupGeneratedMenus() - QObject.connect(dlg, SIGNAL("newToolbarConfig()"), newToolbarConfig) + dlg.newToolbarConfig.connect(newToolbarConfig) dlg.exec_() def newDocument(self): @@ -383,11 +390,10 @@ res = KEncodingFileDialog.getOpenUrlsAndEncoding( self.app.defaultEncoding, self.currentDocument().url().url() or self.app.defaultDirectory(), - '\n'.join(self.app.fileTypes + ["*|%s" % i18n("All Files")]), + '\n'.join(self.app.fileTypes + ["*|" + i18n("All Files")]), self, i18n("Open File")) - encoding = str(res.encoding) # copy it, avoid crash on materialize - docs = [self.app.openUrl(url, encoding) for url in res.URLs - if not url.isEmpty()] + docs = [self.app.openUrl(url, res.encoding) + for url in res.URLs if not url.isEmpty()] if docs: docs[-1].setActive() @@ -431,19 +437,15 @@ def loadSettings(self): """ Load some settings from our configfile. """ self.openRecent.loadEntries(config("recent files")) - self.showPath.setChecked(config().readEntry("show full path", - QVariant(False)).toBool()) - self.showTabs.setChecked(config().readEntry("show tabs", - QVariant(True)).toBool()) + self.showPath.setChecked(config().readEntry("show full path", False)) + self.showTabs.setChecked(config().readEntry("show tabs", True)) self.viewTabs.setVisible(self.showTabs.isChecked()) def saveSettings(self): """ Store settings in our configfile. """ self.openRecent.saveEntries(config("recent files")) - config().writeEntry("show full path", - QVariant(self.showPath.isChecked())) - config().writeEntry("show tabs", - QVariant(self.showTabs.isChecked())) + config().writeEntry("show full path", self.showPath.isChecked()) + config().writeEntry("show tabs", self.showTabs.isChecked()) # also all the tools: for tool in self.tools.itervalues(): tool.saveSettings() @@ -483,8 +485,7 @@ mainwin.app.documentCreated.connect(self.addDocument) mainwin.app.documentClosed.connect(self.removeDocument) mainwin.app.documentMaterialized.connect(self.setDocumentStatus) - QObject.connect(self, SIGNAL("currentChanged(int)"), - self.slotCurrentChanged) + self.currentChanged.connect(self.slotCurrentChanged) mainwin.currentDocumentChanged.connect(self.setCurrentDocument) def addDocument(self, doc): @@ -538,14 +539,14 @@ """ g = KStandardGuiItem.save() a = menu.addAction(g.icon(), g.text()) - QObject.connect(a, SIGNAL("triggered()"), doc.save) + a.triggered.connect(lambda: doc.save()) g = KStandardGuiItem.saveAs() a = menu.addAction(g.icon(), g.text()) - QObject.connect(a, SIGNAL("triggered()"), doc.saveAs) + a.triggered.connect(lambda: doc.saveAs()) menu.addSeparator() g = KStandardGuiItem.close() a = menu.addAction(g.icon(), g.text()) - QObject.connect(a, SIGNAL("triggered()"), doc.close) + a.triggered.connect(lambda: doc.close()) class TabBar(KMultiTabBar): @@ -566,13 +567,13 @@ self._tools.append(tool) self.appendTab(tool.icon().pixmap(16), tool._id, tool.title()) tab = self.tab(tool._id) - tab.setParent(tab.parent()) # because of SIP 4.10 BUG loosing outer scope tab.setFocusPolicy(Qt.NoFocus) - tab.setToolTip("%s
%s" % (tool.title(), + tab.setToolTip(u"{0}
{1}".format(tool.title(), i18n("Right-click for tab options"))) tab.setContextMenuPolicy(Qt.CustomContextMenu) - QObject.connect(tab, SIGNAL("clicked()"), tool.toggle) - QObject.connect(tab, SIGNAL("customContextMenuRequested(const QPoint&)"), + tab.clicked.connect(tool.toggle) + tab.setParent(tab.parent()) # BUG: otherwise SIP looses outer scope + tab.customContextMenuRequested.connect( lambda pos: tool.showContextMenu(tab.mapToGlobal(pos))) def removeTool(self, tool): @@ -720,9 +721,8 @@ self.mainwin = mainwin self.name = name mainwin.tools[name] = self - action = KAction(mainwin) # action to toggle our view - QObject.connect(action, SIGNAL("triggered()"), self.slotAction) - mainwin.actionCollection().addAction("tool_%s" % name, action) + action = KAction(mainwin, triggered=self.slotAction) # action to toggle our view + mainwin.actionCollection().addAction("tool_" + name, action) if key: action.setShortcut(KShortcut(key)) self.widget = widget @@ -733,7 +733,7 @@ self.loadSettings() def action(self): - return self.mainwin.actionCollection().action("tool_%s" % self.name) + return self.mainwin.actionCollection().action("tool_" + self.name) def slotAction(self): """ @@ -746,7 +746,8 @@ def materialize(self): if self.widget is None: - self.widget = self.factory() + with self.mainwin.app.busyCursor(): + self.widget = self.factory() def factory(self): """ @@ -871,17 +872,16 @@ for place in places: dock = self.mainwin.docks[place] a = m.addAction(dock.icon, dock.title) - QObject.connect(a, SIGNAL("triggered()"), - lambda place=place: self.setDock(place)) + a.triggered.connect((lambda place: lambda: self.setDock(place))(place)) m.addSeparator() a = m.addAction(KIcon("tab-detach"), i18n("Undock")) - QObject.connect(a, SIGNAL("triggered()"), self.undock) + a.triggered.connect(self.undock) self.addMenuActions(m) if self.helpAnchor or self.helpAppName: m.addSeparator() a = m.addAction(KIcon("help-contextual"), KStandardGuiItem.help().text()) - QObject.connect(a, SIGNAL("triggered()"), self.help) - QObject.connect(m, SIGNAL("aboutToHide()"), m.deleteLater) + a.triggered.connect(self.help) + m.aboutToHide.connect(m.deleteLater) m.popup(globalPos) def addMenuActions(self, menu): @@ -892,7 +892,7 @@ def config(self): """ Return a suitable configgroup for our settings. """ - return config("tool_%s" % self.name) + return config("tool_" + self.name) def loadSettings(self): """ Do not override this method, use readConfig instead. """ @@ -939,11 +939,11 @@ part = factory.create(self.mainwin) if part: self.part = part - QObject.connect(part, SIGNAL("destroyed()"), self.slotDestroyed, Qt.DirectConnection) + part.destroyed.connect(self.slotDestroyed, Qt.DirectConnection) QTimer.singleShot(0, self.partLoaded) return part.widget() self.failed = True - return QLabel("

%s

%s

" % ( + return QLabel("

{0}

{1}

".format( i18n("Could not load %1", self._partlibrary), i18n("Please install %1", self._partappname or self._partlibrary))) @@ -953,7 +953,7 @@ def delete(self): if self.part: - QObject.disconnect(self.part, SIGNAL("destroyed()"), self.slotDestroyed) + self.part.destroyed.disconnect(self.slotDestroyed) super(KPartTool, self).delete() def slotDestroyed(self): @@ -971,3 +971,77 @@ """ Expects KUrl.""" if self.part: self.part.openUrl(url) + + +class UserShortcutManager(object): + """ + Manages user-defined keyboard shortcuts. + Keyboard shortcuts can be loaded without loading the module they belong to. + If a shortcut is triggered, the module is loaded on demand and the action + triggered. + + You should subclass this base class and implement the widget() and client() + methods. + """ + + # which config group to store our shortcuts + configGroup = "user shortcuts" + + # the shortcut type to use + shortcutContext = Qt.WidgetWithChildrenShortcut + + def __init__(self, mainwin): + self.mainwin = mainwin + self._collection = KActionCollection(self.widget()) + self._collection.setConfigGroup(self.configGroup) + self._collection.addAssociatedWidget(self.widget()) + # load the shortcuts + group = KGlobal.config().group(self.configGroup) + for key in group.keyList(): + if group.readEntry(key, ""): + self.addAction(key) + self._collection.readSettings() + + def widget(self): + """ + Should return the widget where the actions should be added to. + """ + pass + + def client(self): + """ + Should return the object that can further process our actions. + + Most times this will be a kateshell.shortcut.ShortcutClientBase instance. + + It should have the following methods: + - actionTriggered(name) + - populateAction(name, action) + """ + pass + + def addAction(self, name): + """ + (Internal) Create a new action with name name. + If existing, return the existing action. + """ + action = self._collection.action(name) + if not action: + action = self._collection.addAction(name) + action.setShortcutContext(self.shortcutContext) + action.triggered.connect(lambda: self.client().actionTriggered(name)) + return action + + def actionCollection(self): + """ + Returns the action collection, fully populated with texts and + icons. + """ + for action in self._collection.actions()[:]: + if action.shortcut().isEmpty(): + sip.delete(action) + else: + self.client().populateAction(action.objectName(), action) + return self._collection + + diff -Nru frescobaldi-1.0.2/python/kateshell/shortcut.py frescobaldi-1.1.1/python/kateshell/shortcut.py --- frescobaldi-1.0.2/python/kateshell/shortcut.py 1970-01-01 01:00:00.000000000 +0100 +++ frescobaldi-1.1.1/python/kateshell/shortcut.py 2009-12-30 20:32:29.000000000 +0000 @@ -0,0 +1,234 @@ +# This file is part of the Frescobaldi project, http://www.frescobaldi.org/ +# +# Copyright (c) 2008, 2009, 2010 by Wilbert Berendsen +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# See http://www.gnu.org/licenses/ for more information. + +from __future__ import unicode_literals + +""" +Helper classes for communication with UserShortcutManager (in mainwindow.py) +and general user shortcut stuff. + +In separate module so this can be lazy-loaded on demand. +""" + +import weakref + +from PyQt4.QtGui import QGridLayout, QKeySequence, QLabel +from PyKDE4.kdecore import KGlobal, i18n +from PyKDE4.kdeui import KDialog, KKeySequenceWidget, KShortcut + +from kateshell.app import blockSignals + + +class ShortcutClientBase(object): + """ + Abstract base class for objects that need to manage shortcuts. + """ + def __init__(self, userShortcutManager): + self._manager = userShortcutManager + self._collection = userShortcutManager._collection + + def populateAction(self, name, action): + """ + Must implement this to populate the action based on the given name. + """ + pass + + def actionTriggered(self, name): + """ + Must implement this to perform the action that belongs to name. + """ + pass + + +class ShortcutClient(ShortcutClientBase): + """ + Base class for objects that need to manage shortcuts. + """ + def resolveName(self, name): + return name + + def shortcutActions(self): + """ + Yields two-tuples(name, action) for all our actions. + """ + for action in self._collection.actions()[:]: # copy + yield action.objectName(), action + + def shortcut(self, name): + """ + Returns the shortcut for action, if existing. + """ + resolvedName = self.resolveName(name) + action = self._collection.action(resolvedName) + if action: + if not action.shortcut().isEmpty(): + return action.shortcut() + self.removeShortcut(name) + + def setShortcut(self, name, shortcut): + """ + Sets the shortcut for the named action. + Creates an action if not existing. + Deletes the action if set to an empty key sequence. + """ + resolvedName = self.resolveName(name) + if not shortcut.isEmpty(): + action = self._manager.addAction(resolvedName) + action.setShortcut(shortcut) + self._collection.writeSettings(None, True, action) + else: + self.removeShortcut(name) + + def removeShortcut(self, name): + """ + Deletes the given action if existing. + """ + resolvedName = self.resolveName(name) + action = self._collection.action(resolvedName) + if action: + action.deleteLater() + KGlobal.config().group(self._manager.configGroup).deleteEntry(resolvedName) + + def shortcuts(self): + """ + Returns the list of names we have non-empty shortcuts for. + """ + return [name + for name, action in self.shortcutActions() + if not action.shortcut().isEmpty()] + + def shakeHands(self, names): + """ + Deletes all actions not in names, and returns a list of the names + we have valid actions for. + """ + result = [] + for name, action in self.shortcutActions(): + if name not in names: + self.removeShortcut(name) + elif not action.shortcut().isEmpty(): + result.append(name) + return result + + def shortcutText(self, name): + """ + Returns the shortcut keys as a readable string, e.g. "Ctrl+Alt+D" + """ + key = self.shortcut(name) + return key and key.toList()[0].toString() or '' + + def keySetCheckActionCollections(self, keySequenceWidget): + keySequenceWidget.setCheckActionCollections( + [coll for name, coll in self._manager.mainwin.allActionCollections()]) + + def keyLoadShortcut(self, keySequenceWidget, name): + """ + Sets the KKeySequenceWidget in key to the sequence stored for name. + """ + key = self.shortcut(name) + with blockSignals(keySequenceWidget) as w: + w.setKeySequence(key and key.toList()[0] or QKeySequence()) + + def keySaveShortcut(self, keySequenceWidget, name, keySequence = None): + """ + Stores the shortcut in the KKeySequenceWidget under 'name'. + """ + if keySequence is None: + keySequence = keySequenceWidget.keySequence() + keySequenceWidget.applyStealShortcut() + self.setShortcut(name, KShortcut(keySequence)) + + def editShortcut(self, name, title, icon=None, globalPos=None): + """ + Shows a dialog to set a keyboard shortcut for a name (string). + The title argument should contain a description for this action. + """ + dlg = KDialog(self._manager.mainwin) + dlg.setCaption(i18n("Configure Keyboard Shortcut")) + dlg.setButtons(KDialog.ButtonCode(KDialog.Ok | KDialog.Cancel)) + l = QGridLayout(dlg.mainWidget()) + l.setHorizontalSpacing(12) + if icon: + pic = QLabel() + pic.setPixmap(icon.pixmap(22)) + l.addWidget(pic, 0, 0) + l.addWidget(QLabel("

{0}
{1}

".format( + i18n("Press the button to configure the keyboard shortcut for:"), title)), 0, 1) + key = KKeySequenceWidget() + l.addWidget(key, 1, 1) + self.keySetCheckActionCollections(key) + self.keyLoadShortcut(key, name) + if dlg.exec_(): + self.keySaveShortcut(key, name) + + +class UserShortcutDispatcher(ShortcutClientBase): + """ + Communicates with a UserShortcuts object to handle shortcuts for + different clients. + + Objects that wants to use this class can either mix it in or instantiate + it as an helper object. + + Clients register with a string name, and all the shortcut names for that + client get that name prepended. + """ + def __init__(self, userShortcutManager): + self._manager = userShortcutManager + self._clients = weakref.WeakValueDictionary() + + def registerClient(self, client, name): + self._clients[name] = client + + def populateAction(self, name, action): + """ Dispatch to the correct client. """ + if ':' in name: + client, name = name.split(':', 1) + if client in self._clients: + self._clients[client].populateAction(name, action) + + def actionTriggered(self, name): + """ Dispatch to the correct client. """ + if ':' in name: + client, name = name.split(':', 1) + if client in self._clients: + self._clients[client].actionTriggered(name) + + +class ShortcutDispatcherClient(ShortcutClient): + """ + Base class for clients of a UserShortcutDispatcher. + """ + def __init__(self, dispatcher, name): + ShortcutClient.__init__(self, dispatcher._manager) + dispatcher.registerClient(self, name) + self._name = name + + def resolveName(self, name): + return self._name + ":" + name + + def shortcutActions(self): + """ + Yields two-tuples(name, action) for all our actions. + """ + for action in self._collection.actions()[:]: # copy + if action.objectName().startswith(self._name + ":"): + yield action.objectName().split(":", 1)[1], action + + diff -Nru frescobaldi-1.0.2/python/ly/articulation.py frescobaldi-1.1.1/python/ly/articulation.py --- frescobaldi-1.0.2/python/ly/articulation.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/ly/articulation.py 2010-01-28 14:30:17.000000000 +0000 @@ -17,6 +17,8 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + shorthands = { 'marcato': '^', 'stopped': '+', @@ -68,6 +70,7 @@ (i18n("Other"), ( ('upbow', i18n("Upbow")), ('downbow', i18n("Downbow")), + ('snappizzicato', i18n("Snappizzicato")), ('open', i18n("Open (e.g. brass)")), ('stopped', i18n("Stopped (e.g. brass)")), ('flageolet', i18n("Flageolet")), @@ -76,5 +79,16 @@ ('rheel', i18n("Right heel")), ('ltoe', i18n("Left toe")), ('rtoe', i18n("Right toe")), + ('halfopen', i18n("Half open (e.g. hi-hat)")), )), ) + +def articulations(i18nFunc=None): + """ + Yields two-tuples (name, translated title) for all articulations, + usable to e.g. create a dict. + """ + for title, group in groups(i18nFunc): + for articulation in group: + yield articulation + diff -Nru frescobaldi-1.0.2/python/ly/colors.py frescobaldi-1.1.1/python/ly/colors.py --- frescobaldi-1.0.2/python/ly/colors.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/ly/colors.py 2010-01-28 14:03:59.000000000 +0000 @@ -17,6 +17,8 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ LilyPond named colors, taken from LilyPond source files """ @@ -43,661 +45,661 @@ colors_x11 = ( # name, (r, g, b) - ("snow", (1.0, 0.98039215686274506, 0.98039215686274506)), - ("GhostWhite", (0.97254901960784312, 0.97254901960784312, 1.0)), - ("WhiteSmoke", (0.96078431372549022, 0.96078431372549022, 0.96078431372549022)), - ("gainsboro", (0.86274509803921573, 0.86274509803921573, 0.86274509803921573)), - ("FloralWhite", (1.0, 0.98039215686274506, 0.94117647058823528)), - ("OldLace", (0.99215686274509807, 0.96078431372549022, 0.90196078431372551)), - ("linen", (0.98039215686274506, 0.94117647058823528, 0.90196078431372551)), - ("AntiqueWhite", (0.98039215686274506, 0.92156862745098034, 0.84313725490196079)), - ("PapayaWhip", (1.0, 0.93725490196078431, 0.83529411764705885)), - ("BlanchedAlmond", (1.0, 0.92156862745098034, 0.80392156862745101)), - ("bisque", (1.0, 0.89411764705882357, 0.7686274509803922)), - ("PeachPuff", (1.0, 0.85490196078431369, 0.72549019607843135)), - ("NavajoWhite", (1.0, 0.87058823529411766, 0.67843137254901964)), - ("moccasin", (1.0, 0.89411764705882357, 0.70980392156862748)), - ("cornsilk", (1.0, 0.97254901960784312, 0.86274509803921573)), - ("ivory", (1.0, 1.0, 0.94117647058823528)), - ("LemonChiffon", (1.0, 0.98039215686274506, 0.80392156862745101)), - ("seashell", (1.0, 0.96078431372549022, 0.93333333333333335)), - ("honeydew", (0.94117647058823528, 1.0, 0.94117647058823528)), - ("MintCream", (0.96078431372549022, 1.0, 0.98039215686274506)), - ("azure", (0.94117647058823528, 1.0, 1.0)), - ("AliceBlue", (0.94117647058823528, 0.97254901960784312, 1.0)), - ("lavender", (0.90196078431372551, 0.90196078431372551, 0.98039215686274506)), - ("LavenderBlush", (1.0, 0.94117647058823528, 0.96078431372549022)), - ("MistyRose", (1.0, 0.89411764705882357, 0.88235294117647056)), - ("white", (1.0, 1.0, 1.0)), - ("black", (0.0, 0.0, 0.0)), - ("DarkSlateGray", (0.18431372549019609, 0.30980392156862746, 0.30980392156862746)), - ("DarkSlateGrey", (0.18431372549019609, 0.30980392156862746, 0.30980392156862746)), - ("DimGray", (0.41176470588235292, 0.41176470588235292, 0.41176470588235292)), - ("DimGrey", (0.41176470588235292, 0.41176470588235292, 0.41176470588235292)), - ("SlateGray", (0.4392156862745098, 0.50196078431372548, 0.56470588235294117)), - ("SlateGrey", (0.4392156862745098, 0.50196078431372548, 0.56470588235294117)), - ("LightSlateGray", (0.46666666666666667, 0.53333333333333333, 0.59999999999999998)), - ("LightSlateGrey", (0.46666666666666667, 0.53333333333333333, 0.59999999999999998)), - ("gray", (0.74509803921568629, 0.74509803921568629, 0.74509803921568629)), - ("grey", (0.74509803921568629, 0.74509803921568629, 0.74509803921568629)), - ("LightGrey", (0.82745098039215681, 0.82745098039215681, 0.82745098039215681)), - ("LightGray", (0.82745098039215681, 0.82745098039215681, 0.82745098039215681)), - ("MidnightBlue", (0.098039215686274508, 0.098039215686274508, 0.4392156862745098)), - ("navy", (0.0, 0.0, 0.50196078431372548)), - ("NavyBlue", (0.0, 0.0, 0.50196078431372548)), - ("CornflowerBlue", (0.39215686274509803, 0.58431372549019611, 0.92941176470588238)), - ("DarkSlateBlue", (0.28235294117647058, 0.23921568627450981, 0.54509803921568623)), - ("SlateBlue", (0.41568627450980394, 0.35294117647058826, 0.80392156862745101)), - ("MediumSlateBlue", (0.4823529411764706, 0.40784313725490196, 0.93333333333333335)), - ("LightSlateBlue", (0.51764705882352946, 0.4392156862745098, 1.0)), - ("MediumBlue", (0.0, 0.0, 0.80392156862745101)), - ("RoyalBlue", (0.25490196078431371, 0.41176470588235292, 0.88235294117647056)), - ("blue", (0.0, 0.0, 1.0)), - ("DodgerBlue", (0.11764705882352941, 0.56470588235294117, 1.0)), - ("DeepSkyBlue", (0.0, 0.74901960784313726, 1.0)), - ("SkyBlue", (0.52941176470588236, 0.80784313725490198, 0.92156862745098034)), - ("LightSkyBlue", (0.52941176470588236, 0.80784313725490198, 0.98039215686274506)), - ("SteelBlue", (0.27450980392156865, 0.50980392156862742, 0.70588235294117652)), - ("LightSteelBlue", (0.69019607843137254, 0.7686274509803922, 0.87058823529411766)), - ("LightBlue", (0.67843137254901964, 0.84705882352941175, 0.90196078431372551)), - ("PowderBlue", (0.69019607843137254, 0.8784313725490196, 0.90196078431372551)), - ("PaleTurquoise", (0.68627450980392157, 0.93333333333333335, 0.93333333333333335)), - ("DarkTurquoise", (0.0, 0.80784313725490198, 0.81960784313725488)), - ("MediumTurquoise", (0.28235294117647058, 0.81960784313725488, 0.80000000000000004)), - ("turquoise", (0.25098039215686274, 0.8784313725490196, 0.81568627450980391)), - ("cyan", (0.0, 1.0, 1.0)), - ("LightCyan", (0.8784313725490196, 1.0, 1.0)), - ("CadetBlue", (0.37254901960784315, 0.61960784313725492, 0.62745098039215685)), - ("MediumAquamarine", (0.40000000000000002, 0.80392156862745101, 0.66666666666666663)), - ("aquamarine", (0.49803921568627452, 1.0, 0.83137254901960789)), - ("DarkGreen", (0.0, 0.39215686274509803, 0.0)), - ("DarkOliveGreen", (0.33333333333333331, 0.41960784313725491, 0.18431372549019609)), - ("DarkSeaGreen", (0.5607843137254902, 0.73725490196078436, 0.5607843137254902)), - ("SeaGreen", (0.1803921568627451, 0.54509803921568623, 0.3411764705882353)), - ("MediumSeaGreen", (0.23529411764705882, 0.70196078431372544, 0.44313725490196076)), - ("LightSeaGreen", (0.12549019607843137, 0.69803921568627447, 0.66666666666666663)), - ("PaleGreen", (0.59607843137254901, 0.98431372549019602, 0.59607843137254901)), - ("SpringGreen", (0.0, 1.0, 0.49803921568627452)), - ("LawnGreen", (0.48627450980392156, 0.9882352941176471, 0.0)), - ("green", (0.0, 1.0, 0.0)), - ("chartreuse", (0.49803921568627452, 1.0, 0.0)), - ("MediumSpringGreen", (0.0, 0.98039215686274506, 0.60392156862745094)), - ("GreenYellow", (0.67843137254901964, 1.0, 0.18431372549019609)), - ("LimeGreen", (0.19607843137254902, 0.80392156862745101, 0.19607843137254902)), - ("YellowGreen", (0.60392156862745094, 0.80392156862745101, 0.19607843137254902)), - ("ForestGreen", (0.13333333333333333, 0.54509803921568623, 0.13333333333333333)), - ("OliveDrab", (0.41960784313725491, 0.55686274509803924, 0.13725490196078433)), - ("DarkKhaki", (0.74117647058823533, 0.71764705882352942, 0.41960784313725491)), - ("khaki", (0.94117647058823528, 0.90196078431372551, 0.5490196078431373)), - ("PaleGoldenrod", (0.93333333333333335, 0.90980392156862744, 0.66666666666666663)), - ("LightGoldenrodYellow", (0.98039215686274506, 0.98039215686274506, 0.82352941176470584)), - ("LightYellow", (1.0, 1.0, 0.8784313725490196)), - ("yellow", (1.0, 1.0, 0.0)), - ("gold", (1.0, 0.84313725490196079, 0.0)), - ("LightGoldenrod", (0.93333333333333335, 0.8666666666666667, 0.50980392156862742)), - ("goldenrod", (0.85490196078431369, 0.6470588235294118, 0.12549019607843137)), - ("DarkGoldenrod", (0.72156862745098038, 0.52549019607843139, 0.043137254901960784)), - ("RosyBrown", (0.73725490196078436, 0.5607843137254902, 0.5607843137254902)), - ("IndianRed", (0.80392156862745101, 0.36078431372549019, 0.36078431372549019)), - ("SaddleBrown", (0.54509803921568623, 0.27058823529411763, 0.074509803921568626)), - ("sienna", (0.62745098039215685, 0.32156862745098042, 0.17647058823529413)), - ("peru", (0.80392156862745101, 0.52156862745098043, 0.24705882352941178)), - ("burlywood", (0.87058823529411766, 0.72156862745098038, 0.52941176470588236)), - ("beige", (0.96078431372549022, 0.96078431372549022, 0.86274509803921573)), - ("wheat", (0.96078431372549022, 0.87058823529411766, 0.70196078431372544)), - ("SandyBrown", (0.95686274509803926, 0.64313725490196083, 0.37647058823529411)), - ("tan", (0.82352941176470584, 0.70588235294117652, 0.5490196078431373)), - ("chocolate", (0.82352941176470584, 0.41176470588235292, 0.11764705882352941)), - ("firebrick", (0.69803921568627447, 0.13333333333333333, 0.13333333333333333)), - ("brown", (0.6470588235294118, 0.16470588235294117, 0.16470588235294117)), - ("DarkSalmon", (0.9137254901960784, 0.58823529411764708, 0.47843137254901963)), - ("salmon", (0.98039215686274506, 0.50196078431372548, 0.44705882352941179)), - ("LightSalmon", (1.0, 0.62745098039215685, 0.47843137254901963)), - ("orange", (1.0, 0.6470588235294118, 0.0)), - ("DarkOrange", (1.0, 0.5490196078431373, 0.0)), - ("coral", (1.0, 0.49803921568627452, 0.31372549019607843)), - ("LightCoral", (0.94117647058823528, 0.50196078431372548, 0.50196078431372548)), - ("tomato", (1.0, 0.38823529411764707, 0.27843137254901962)), - ("OrangeRed", (1.0, 0.27058823529411763, 0.0)), - ("red", (1.0, 0.0, 0.0)), - ("HotPink", (1.0, 0.41176470588235292, 0.70588235294117652)), - ("DeepPink", (1.0, 0.078431372549019607, 0.57647058823529407)), - ("pink", (1.0, 0.75294117647058822, 0.79607843137254897)), - ("LightPink", (1.0, 0.71372549019607845, 0.75686274509803919)), - ("PaleVioletRed", (0.85882352941176465, 0.4392156862745098, 0.57647058823529407)), - ("maroon", (0.69019607843137254, 0.18823529411764706, 0.37647058823529411)), - ("MediumVioletRed", (0.7803921568627451, 0.082352941176470587, 0.52156862745098043)), - ("VioletRed", (0.81568627450980391, 0.12549019607843137, 0.56470588235294117)), - ("magenta", (1.0, 0.0, 1.0)), - ("violet", (0.93333333333333335, 0.50980392156862742, 0.93333333333333335)), - ("plum", (0.8666666666666667, 0.62745098039215685, 0.8666666666666667)), - ("orchid", (0.85490196078431369, 0.4392156862745098, 0.83921568627450982)), - ("MediumOrchid", (0.72941176470588232, 0.33333333333333331, 0.82745098039215681)), - ("DarkOrchid", (0.59999999999999998, 0.19607843137254902, 0.80000000000000004)), - ("DarkViolet", (0.58039215686274515, 0.0, 0.82745098039215681)), - ("BlueViolet", (0.54117647058823526, 0.16862745098039217, 0.88627450980392153)), - ("purple", (0.62745098039215685, 0.12549019607843137, 0.94117647058823528)), - ("MediumPurple", (0.57647058823529407, 0.4392156862745098, 0.85882352941176465)), - ("thistle", (0.84705882352941175, 0.74901960784313726, 0.84705882352941175)), - ("snow1", (1.0, 0.98039215686274506, 0.98039215686274506)), - ("snow2", (0.93333333333333335, 0.9137254901960784, 0.9137254901960784)), - ("snow3", (0.80392156862745101, 0.78823529411764703, 0.78823529411764703)), - ("snow4", (0.54509803921568623, 0.53725490196078429, 0.53725490196078429)), - ("seashell1", (1.0, 0.96078431372549022, 0.93333333333333335)), - ("seashell2", (0.93333333333333335, 0.89803921568627454, 0.87058823529411766)), - ("seashell3", (0.80392156862745101, 0.77254901960784317, 0.74901960784313726)), - ("seashell4", (0.54509803921568623, 0.52549019607843139, 0.50980392156862742)), - ("AntiqueWhite1", (1.0, 0.93725490196078431, 0.85882352941176465)), - ("AntiqueWhite2", (0.93333333333333335, 0.87450980392156863, 0.80000000000000004)), - ("AntiqueWhite3", (0.80392156862745101, 0.75294117647058822, 0.69019607843137254)), - ("AntiqueWhite4", (0.54509803921568623, 0.51372549019607838, 0.47058823529411764)), - ("bisque1", (1.0, 0.89411764705882357, 0.7686274509803922)), - ("bisque2", (0.93333333333333335, 0.83529411764705885, 0.71764705882352942)), - ("bisque3", (0.80392156862745101, 0.71764705882352942, 0.61960784313725492)), - ("bisque4", (0.54509803921568623, 0.49019607843137253, 0.41960784313725491)), - ("PeachPuff1", (1.0, 0.85490196078431369, 0.72549019607843135)), - ("PeachPuff2", (0.93333333333333335, 0.79607843137254897, 0.67843137254901964)), - ("PeachPuff3", (0.80392156862745101, 0.68627450980392157, 0.58431372549019611)), - ("PeachPuff4", (0.54509803921568623, 0.46666666666666667, 0.396078431372549)), - ("NavajoWhite1", (1.0, 0.87058823529411766, 0.67843137254901964)), - ("NavajoWhite2", (0.93333333333333335, 0.81176470588235294, 0.63137254901960782)), - ("NavajoWhite3", (0.80392156862745101, 0.70196078431372544, 0.54509803921568623)), - ("NavajoWhite4", (0.54509803921568623, 0.47450980392156861, 0.36862745098039218)), - ("LemonChiffon1", (1.0, 0.98039215686274506, 0.80392156862745101)), - ("LemonChiffon2", (0.93333333333333335, 0.9137254901960784, 0.74901960784313726)), - ("LemonChiffon3", (0.80392156862745101, 0.78823529411764703, 0.6470588235294118)), - ("LemonChiffon4", (0.54509803921568623, 0.53725490196078429, 0.4392156862745098)), - ("cornsilk1", (1.0, 0.97254901960784312, 0.86274509803921573)), - ("cornsilk2", (0.93333333333333335, 0.90980392156862744, 0.80392156862745101)), - ("cornsilk3", (0.80392156862745101, 0.78431372549019607, 0.69411764705882351)), - ("cornsilk4", (0.54509803921568623, 0.53333333333333333, 0.47058823529411764)), - ("ivory1", (1.0, 1.0, 0.94117647058823528)), - ("ivory2", (0.93333333333333335, 0.93333333333333335, 0.8784313725490196)), - ("ivory3", (0.80392156862745101, 0.80392156862745101, 0.75686274509803919)), - ("ivory4", (0.54509803921568623, 0.54509803921568623, 0.51372549019607838)), - ("honeydew1", (0.94117647058823528, 1.0, 0.94117647058823528)), - ("honeydew2", (0.8784313725490196, 0.93333333333333335, 0.8784313725490196)), - ("honeydew3", (0.75686274509803919, 0.80392156862745101, 0.75686274509803919)), - ("honeydew4", (0.51372549019607838, 0.54509803921568623, 0.51372549019607838)), - ("LavenderBlush1", (1.0, 0.94117647058823528, 0.96078431372549022)), - ("LavenderBlush2", (0.93333333333333335, 0.8784313725490196, 0.89803921568627454)), - ("LavenderBlush3", (0.80392156862745101, 0.75686274509803919, 0.77254901960784317)), - ("LavenderBlush4", (0.54509803921568623, 0.51372549019607838, 0.52549019607843139)), - ("MistyRose1", (1.0, 0.89411764705882357, 0.88235294117647056)), - ("MistyRose2", (0.93333333333333335, 0.83529411764705885, 0.82352941176470584)), - ("MistyRose3", (0.80392156862745101, 0.71764705882352942, 0.70980392156862748)), - ("MistyRose4", (0.54509803921568623, 0.49019607843137253, 0.4823529411764706)), - ("azure1", (0.94117647058823528, 1.0, 1.0)), - ("azure2", (0.8784313725490196, 0.93333333333333335, 0.93333333333333335)), - ("azure3", (0.75686274509803919, 0.80392156862745101, 0.80392156862745101)), - ("azure4", (0.51372549019607838, 0.54509803921568623, 0.54509803921568623)), - ("SlateBlue1", (0.51372549019607838, 0.43529411764705883, 1.0)), - ("SlateBlue2", (0.47843137254901963, 0.40392156862745099, 0.93333333333333335)), - ("SlateBlue3", (0.41176470588235292, 0.34901960784313724, 0.80392156862745101)), - ("SlateBlue4", (0.27843137254901962, 0.23529411764705882, 0.54509803921568623)), - ("RoyalBlue1", (0.28235294117647058, 0.46274509803921571, 1.0)), - ("RoyalBlue2", (0.2627450980392157, 0.43137254901960786, 0.93333333333333335)), - ("RoyalBlue3", (0.22745098039215686, 0.37254901960784315, 0.80392156862745101)), - ("RoyalBlue4", (0.15294117647058825, 0.25098039215686274, 0.54509803921568623)), - ("blue1", (0.0, 0.0, 1.0)), - ("blue2", (0.0, 0.0, 0.93333333333333335)), - ("blue3", (0.0, 0.0, 0.80392156862745101)), - ("blue4", (0.0, 0.0, 0.54509803921568623)), - ("DodgerBlue1", (0.11764705882352941, 0.56470588235294117, 1.0)), - ("DodgerBlue2", (0.10980392156862745, 0.52549019607843139, 0.93333333333333335)), - ("DodgerBlue3", (0.094117647058823528, 0.45490196078431372, 0.80392156862745101)), - ("DodgerBlue4", (0.062745098039215685, 0.30588235294117649, 0.54509803921568623)), - ("SteelBlue1", (0.38823529411764707, 0.72156862745098038, 1.0)), - ("SteelBlue2", (0.36078431372549019, 0.67450980392156867, 0.93333333333333335)), - ("SteelBlue3", (0.30980392156862746, 0.58039215686274515, 0.80392156862745101)), - ("SteelBlue4", (0.21176470588235294, 0.39215686274509803, 0.54509803921568623)), - ("DeepSkyBlue1", (0.0, 0.74901960784313726, 1.0)), - ("DeepSkyBlue2", (0.0, 0.69803921568627447, 0.93333333333333335)), - ("DeepSkyBlue3", (0.0, 0.60392156862745094, 0.80392156862745101)), - ("DeepSkyBlue4", (0.0, 0.40784313725490196, 0.54509803921568623)), - ("SkyBlue1", (0.52941176470588236, 0.80784313725490198, 1.0)), - ("SkyBlue2", (0.49411764705882355, 0.75294117647058822, 0.93333333333333335)), - ("SkyBlue3", (0.42352941176470588, 0.65098039215686276, 0.80392156862745101)), - ("SkyBlue4", (0.29019607843137257, 0.4392156862745098, 0.54509803921568623)), - ("LightSkyBlue1", (0.69019607843137254, 0.88627450980392153, 1.0)), - ("LightSkyBlue2", (0.64313725490196083, 0.82745098039215681, 0.93333333333333335)), - ("LightSkyBlue3", (0.55294117647058827, 0.71372549019607845, 0.80392156862745101)), - ("LightSkyBlue4", (0.37647058823529411, 0.4823529411764706, 0.54509803921568623)), - ("SlateGray1", (0.77647058823529413, 0.88627450980392153, 1.0)), - ("SlateGray2", (0.72549019607843135, 0.82745098039215681, 0.93333333333333335)), - ("SlateGray3", (0.62352941176470589, 0.71372549019607845, 0.80392156862745101)), - ("SlateGray4", (0.42352941176470588, 0.4823529411764706, 0.54509803921568623)), - ("LightSteelBlue1", (0.792156862745098, 0.88235294117647056, 1.0)), - ("LightSteelBlue2", (0.73725490196078436, 0.82352941176470584, 0.93333333333333335)), - ("LightSteelBlue3", (0.63529411764705879, 0.70980392156862748, 0.80392156862745101)), - ("LightSteelBlue4", (0.43137254901960786, 0.4823529411764706, 0.54509803921568623)), - ("LightBlue1", (0.74901960784313726, 0.93725490196078431, 1.0)), - ("LightBlue2", (0.69803921568627447, 0.87450980392156863, 0.93333333333333335)), - ("LightBlue3", (0.60392156862745094, 0.75294117647058822, 0.80392156862745101)), - ("LightBlue4", (0.40784313725490196, 0.51372549019607838, 0.54509803921568623)), - ("LightCyan1", (0.8784313725490196, 1.0, 1.0)), - ("LightCyan2", (0.81960784313725488, 0.93333333333333335, 0.93333333333333335)), - ("LightCyan3", (0.70588235294117652, 0.80392156862745101, 0.80392156862745101)), - ("LightCyan4", (0.47843137254901963, 0.54509803921568623, 0.54509803921568623)), - ("PaleTurquoise1", (0.73333333333333328, 1.0, 1.0)), - ("PaleTurquoise2", (0.68235294117647061, 0.93333333333333335, 0.93333333333333335)), - ("PaleTurquoise3", (0.58823529411764708, 0.80392156862745101, 0.80392156862745101)), - ("PaleTurquoise4", (0.40000000000000002, 0.54509803921568623, 0.54509803921568623)), - ("CadetBlue1", (0.59607843137254901, 0.96078431372549022, 1.0)), - ("CadetBlue2", (0.55686274509803924, 0.89803921568627454, 0.93333333333333335)), - ("CadetBlue3", (0.47843137254901963, 0.77254901960784317, 0.80392156862745101)), - ("CadetBlue4", (0.32549019607843138, 0.52549019607843139, 0.54509803921568623)), - ("turquoise1", (0.0, 0.96078431372549022, 1.0)), - ("turquoise2", (0.0, 0.89803921568627454, 0.93333333333333335)), - ("turquoise3", (0.0, 0.77254901960784317, 0.80392156862745101)), - ("turquoise4", (0.0, 0.52549019607843139, 0.54509803921568623)), - ("cyan1", (0.0, 1.0, 1.0)), - ("cyan2", (0.0, 0.93333333333333335, 0.93333333333333335)), - ("cyan3", (0.0, 0.80392156862745101, 0.80392156862745101)), - ("cyan4", (0.0, 0.54509803921568623, 0.54509803921568623)), - ("DarkSlateGray1", (0.59215686274509804, 1.0, 1.0)), - ("DarkSlateGray2", (0.55294117647058827, 0.93333333333333335, 0.93333333333333335)), - ("DarkSlateGray3", (0.47450980392156861, 0.80392156862745101, 0.80392156862745101)), - ("DarkSlateGray4", (0.32156862745098042, 0.54509803921568623, 0.54509803921568623)), - ("aquamarine1", (0.49803921568627452, 1.0, 0.83137254901960789)), - ("aquamarine2", (0.46274509803921571, 0.93333333333333335, 0.77647058823529413)), - ("aquamarine3", (0.40000000000000002, 0.80392156862745101, 0.66666666666666663)), - ("aquamarine4", (0.27058823529411763, 0.54509803921568623, 0.45490196078431372)), - ("DarkSeaGreen1", (0.75686274509803919, 1.0, 0.75686274509803919)), - ("DarkSeaGreen2", (0.70588235294117652, 0.93333333333333335, 0.70588235294117652)), - ("DarkSeaGreen3", (0.60784313725490191, 0.80392156862745101, 0.60784313725490191)), - ("DarkSeaGreen4", (0.41176470588235292, 0.54509803921568623, 0.41176470588235292)), - ("SeaGreen1", (0.32941176470588235, 1.0, 0.62352941176470589)), - ("SeaGreen2", (0.30588235294117649, 0.93333333333333335, 0.58039215686274515)), - ("SeaGreen3", (0.2627450980392157, 0.80392156862745101, 0.50196078431372548)), - ("SeaGreen4", (0.1803921568627451, 0.54509803921568623, 0.3411764705882353)), - ("PaleGreen1", (0.60392156862745094, 1.0, 0.60392156862745094)), - ("PaleGreen2", (0.56470588235294117, 0.93333333333333335, 0.56470588235294117)), - ("PaleGreen3", (0.48627450980392156, 0.80392156862745101, 0.48627450980392156)), - ("PaleGreen4", (0.32941176470588235, 0.54509803921568623, 0.32941176470588235)), - ("SpringGreen1", (0.0, 1.0, 0.49803921568627452)), - ("SpringGreen2", (0.0, 0.93333333333333335, 0.46274509803921571)), - ("SpringGreen3", (0.0, 0.80392156862745101, 0.40000000000000002)), - ("SpringGreen4", (0.0, 0.54509803921568623, 0.27058823529411763)), - ("green1", (0.0, 1.0, 0.0)), - ("green2", (0.0, 0.93333333333333335, 0.0)), - ("green3", (0.0, 0.80392156862745101, 0.0)), - ("green4", (0.0, 0.54509803921568623, 0.0)), - ("chartreuse1", (0.49803921568627452, 1.0, 0.0)), - ("chartreuse2", (0.46274509803921571, 0.93333333333333335, 0.0)), - ("chartreuse3", (0.40000000000000002, 0.80392156862745101, 0.0)), - ("chartreuse4", (0.27058823529411763, 0.54509803921568623, 0.0)), - ("OliveDrab1", (0.75294117647058822, 1.0, 0.24313725490196078)), - ("OliveDrab2", (0.70196078431372544, 0.93333333333333335, 0.22745098039215686)), - ("OliveDrab3", (0.60392156862745094, 0.80392156862745101, 0.19607843137254902)), - ("OliveDrab4", (0.41176470588235292, 0.54509803921568623, 0.13333333333333333)), - ("DarkOliveGreen1", (0.792156862745098, 1.0, 0.4392156862745098)), - ("DarkOliveGreen2", (0.73725490196078436, 0.93333333333333335, 0.40784313725490196)), - ("DarkOliveGreen3", (0.63529411764705879, 0.80392156862745101, 0.35294117647058826)), - ("DarkOliveGreen4", (0.43137254901960786, 0.54509803921568623, 0.23921568627450981)), - ("khaki1", (1.0, 0.96470588235294119, 0.5607843137254902)), - ("khaki2", (0.93333333333333335, 0.90196078431372551, 0.52156862745098043)), - ("khaki3", (0.80392156862745101, 0.77647058823529413, 0.45098039215686275)), - ("khaki4", (0.54509803921568623, 0.52549019607843139, 0.30588235294117649)), - ("LightGoldenrod1", (1.0, 0.92549019607843142, 0.54509803921568623)), - ("LightGoldenrod2", (0.93333333333333335, 0.86274509803921573, 0.50980392156862742)), - ("LightGoldenrod3", (0.80392156862745101, 0.74509803921568629, 0.4392156862745098)), - ("LightGoldenrod4", (0.54509803921568623, 0.50588235294117645, 0.29803921568627451)), - ("LightYellow1", (1.0, 1.0, 0.8784313725490196)), - ("LightYellow2", (0.93333333333333335, 0.93333333333333335, 0.81960784313725488)), - ("LightYellow3", (0.80392156862745101, 0.80392156862745101, 0.70588235294117652)), - ("LightYellow4", (0.54509803921568623, 0.54509803921568623, 0.47843137254901963)), - ("yellow1", (1.0, 1.0, 0.0)), - ("yellow2", (0.93333333333333335, 0.93333333333333335, 0.0)), - ("yellow3", (0.80392156862745101, 0.80392156862745101, 0.0)), - ("yellow4", (0.54509803921568623, 0.54509803921568623, 0.0)), - ("gold1", (1.0, 0.84313725490196079, 0.0)), - ("gold2", (0.93333333333333335, 0.78823529411764703, 0.0)), - ("gold3", (0.80392156862745101, 0.67843137254901964, 0.0)), - ("gold4", (0.54509803921568623, 0.45882352941176469, 0.0)), - ("goldenrod1", (1.0, 0.75686274509803919, 0.14509803921568629)), - ("goldenrod2", (0.93333333333333335, 0.70588235294117652, 0.13333333333333333)), - ("goldenrod3", (0.80392156862745101, 0.60784313725490191, 0.11372549019607843)), - ("goldenrod4", (0.54509803921568623, 0.41176470588235292, 0.078431372549019607)), - ("DarkGoldenrod1", (1.0, 0.72549019607843135, 0.058823529411764705)), - ("DarkGoldenrod2", (0.93333333333333335, 0.67843137254901964, 0.054901960784313725)), - ("DarkGoldenrod3", (0.80392156862745101, 0.58431372549019611, 0.047058823529411764)), - ("DarkGoldenrod4", (0.54509803921568623, 0.396078431372549, 0.031372549019607843)), - ("RosyBrown1", (1.0, 0.75686274509803919, 0.75686274509803919)), - ("RosyBrown2", (0.93333333333333335, 0.70588235294117652, 0.70588235294117652)), - ("RosyBrown3", (0.80392156862745101, 0.60784313725490191, 0.60784313725490191)), - ("RosyBrown4", (0.54509803921568623, 0.41176470588235292, 0.41176470588235292)), - ("IndianRed1", (1.0, 0.41568627450980394, 0.41568627450980394)), - ("IndianRed2", (0.93333333333333335, 0.38823529411764707, 0.38823529411764707)), - ("IndianRed3", (0.80392156862745101, 0.33333333333333331, 0.33333333333333331)), - ("IndianRed4", (0.54509803921568623, 0.22745098039215686, 0.22745098039215686)), - ("sienna1", (1.0, 0.50980392156862742, 0.27843137254901962)), - ("sienna2", (0.93333333333333335, 0.47450980392156861, 0.25882352941176473)), - ("sienna3", (0.80392156862745101, 0.40784313725490196, 0.22352941176470589)), - ("sienna4", (0.54509803921568623, 0.27843137254901962, 0.14901960784313725)), - ("burlywood1", (1.0, 0.82745098039215681, 0.60784313725490191)), - ("burlywood2", (0.93333333333333335, 0.77254901960784317, 0.56862745098039214)), - ("burlywood3", (0.80392156862745101, 0.66666666666666663, 0.49019607843137253)), - ("burlywood4", (0.54509803921568623, 0.45098039215686275, 0.33333333333333331)), - ("wheat1", (1.0, 0.90588235294117647, 0.72941176470588232)), - ("wheat2", (0.93333333333333335, 0.84705882352941175, 0.68235294117647061)), - ("wheat3", (0.80392156862745101, 0.72941176470588232, 0.58823529411764708)), - ("wheat4", (0.54509803921568623, 0.49411764705882355, 0.40000000000000002)), - ("tan1", (1.0, 0.6470588235294118, 0.30980392156862746)), - ("tan2", (0.93333333333333335, 0.60392156862745094, 0.28627450980392155)), - ("tan3", (0.80392156862745101, 0.52156862745098043, 0.24705882352941178)), - ("tan4", (0.54509803921568623, 0.35294117647058826, 0.16862745098039217)), - ("chocolate1", (1.0, 0.49803921568627452, 0.14117647058823529)), - ("chocolate2", (0.93333333333333335, 0.46274509803921571, 0.12941176470588237)), - ("chocolate3", (0.80392156862745101, 0.40000000000000002, 0.11372549019607843)), - ("chocolate4", (0.54509803921568623, 0.27058823529411763, 0.074509803921568626)), - ("firebrick1", (1.0, 0.18823529411764706, 0.18823529411764706)), - ("firebrick2", (0.93333333333333335, 0.17254901960784313, 0.17254901960784313)), - ("firebrick3", (0.80392156862745101, 0.14901960784313725, 0.14901960784313725)), - ("firebrick4", (0.54509803921568623, 0.10196078431372549, 0.10196078431372549)), - ("brown1", (1.0, 0.25098039215686274, 0.25098039215686274)), - ("brown2", (0.93333333333333335, 0.23137254901960785, 0.23137254901960785)), - ("brown3", (0.80392156862745101, 0.20000000000000001, 0.20000000000000001)), - ("brown4", (0.54509803921568623, 0.13725490196078433, 0.13725490196078433)), - ("salmon1", (1.0, 0.5490196078431373, 0.41176470588235292)), - ("salmon2", (0.93333333333333335, 0.50980392156862742, 0.3843137254901961)), - ("salmon3", (0.80392156862745101, 0.4392156862745098, 0.32941176470588235)), - ("salmon4", (0.54509803921568623, 0.29803921568627451, 0.22352941176470589)), - ("LightSalmon1", (1.0, 0.62745098039215685, 0.47843137254901963)), - ("LightSalmon2", (0.93333333333333335, 0.58431372549019611, 0.44705882352941179)), - ("LightSalmon3", (0.80392156862745101, 0.50588235294117645, 0.3843137254901961)), - ("LightSalmon4", (0.54509803921568623, 0.3411764705882353, 0.25882352941176473)), - ("orange1", (1.0, 0.6470588235294118, 0.0)), - ("orange2", (0.93333333333333335, 0.60392156862745094, 0.0)), - ("orange3", (0.80392156862745101, 0.52156862745098043, 0.0)), - ("orange4", (0.54509803921568623, 0.35294117647058826, 0.0)), - ("DarkOrange1", (1.0, 0.49803921568627452, 0.0)), - ("DarkOrange2", (0.93333333333333335, 0.46274509803921571, 0.0)), - ("DarkOrange3", (0.80392156862745101, 0.40000000000000002, 0.0)), - ("DarkOrange4", (0.54509803921568623, 0.27058823529411763, 0.0)), - ("coral1", (1.0, 0.44705882352941179, 0.33725490196078434)), - ("coral2", (0.93333333333333335, 0.41568627450980394, 0.31372549019607843)), - ("coral3", (0.80392156862745101, 0.35686274509803922, 0.27058823529411763)), - ("coral4", (0.54509803921568623, 0.24313725490196078, 0.18431372549019609)), - ("tomato1", (1.0, 0.38823529411764707, 0.27843137254901962)), - ("tomato2", (0.93333333333333335, 0.36078431372549019, 0.25882352941176473)), - ("tomato3", (0.80392156862745101, 0.30980392156862746, 0.22352941176470589)), - ("tomato4", (0.54509803921568623, 0.21176470588235294, 0.14901960784313725)), - ("OrangeRed1", (1.0, 0.27058823529411763, 0.0)), - ("OrangeRed2", (0.93333333333333335, 0.25098039215686274, 0.0)), - ("OrangeRed3", (0.80392156862745101, 0.21568627450980393, 0.0)), - ("OrangeRed4", (0.54509803921568623, 0.14509803921568629, 0.0)), - ("red1", (1.0, 0.0, 0.0)), - ("red2", (0.93333333333333335, 0.0, 0.0)), - ("red3", (0.80392156862745101, 0.0, 0.0)), - ("red4", (0.54509803921568623, 0.0, 0.0)), - ("DeepPink1", (1.0, 0.078431372549019607, 0.57647058823529407)), - ("DeepPink2", (0.93333333333333335, 0.070588235294117646, 0.53725490196078429)), - ("DeepPink3", (0.80392156862745101, 0.062745098039215685, 0.46274509803921571)), - ("DeepPink4", (0.54509803921568623, 0.039215686274509803, 0.31372549019607843)), - ("HotPink1", (1.0, 0.43137254901960786, 0.70588235294117652)), - ("HotPink2", (0.93333333333333335, 0.41568627450980394, 0.65490196078431373)), - ("HotPink3", (0.80392156862745101, 0.37647058823529411, 0.56470588235294117)), - ("HotPink4", (0.54509803921568623, 0.22745098039215686, 0.3843137254901961)), - ("pink1", (1.0, 0.70980392156862748, 0.77254901960784317)), - ("pink2", (0.93333333333333335, 0.66274509803921566, 0.72156862745098038)), - ("pink3", (0.80392156862745101, 0.56862745098039214, 0.61960784313725492)), - ("pink4", (0.54509803921568623, 0.38823529411764707, 0.42352941176470588)), - ("LightPink1", (1.0, 0.68235294117647061, 0.72549019607843135)), - ("LightPink2", (0.93333333333333335, 0.63529411764705879, 0.67843137254901964)), - ("LightPink3", (0.80392156862745101, 0.5490196078431373, 0.58431372549019611)), - ("LightPink4", (0.54509803921568623, 0.37254901960784315, 0.396078431372549)), - ("PaleVioletRed1", (1.0, 0.50980392156862742, 0.6705882352941176)), - ("PaleVioletRed2", (0.93333333333333335, 0.47450980392156861, 0.62352941176470589)), - ("PaleVioletRed3", (0.80392156862745101, 0.40784313725490196, 0.53725490196078429)), - ("PaleVioletRed4", (0.54509803921568623, 0.27843137254901962, 0.36470588235294116)), - ("maroon1", (1.0, 0.20392156862745098, 0.70196078431372544)), - ("maroon2", (0.93333333333333335, 0.18823529411764706, 0.65490196078431373)), - ("maroon3", (0.80392156862745101, 0.16078431372549021, 0.56470588235294117)), - ("maroon4", (0.54509803921568623, 0.10980392156862745, 0.3843137254901961)), - ("VioletRed1", (1.0, 0.24313725490196078, 0.58823529411764708)), - ("VioletRed2", (0.93333333333333335, 0.22745098039215686, 0.5490196078431373)), - ("VioletRed3", (0.80392156862745101, 0.19607843137254902, 0.47058823529411764)), - ("VioletRed4", (0.54509803921568623, 0.13333333333333333, 0.32156862745098042)), - ("magenta1", (1.0, 0.0, 1.0)), - ("magenta2", (0.93333333333333335, 0.0, 0.93333333333333335)), - ("magenta3", (0.80392156862745101, 0.0, 0.80392156862745101)), - ("magenta4", (0.54509803921568623, 0.0, 0.54509803921568623)), - ("orchid1", (1.0, 0.51372549019607838, 0.98039215686274506)), - ("orchid2", (0.93333333333333335, 0.47843137254901963, 0.9137254901960784)), - ("orchid3", (0.80392156862745101, 0.41176470588235292, 0.78823529411764703)), - ("orchid4", (0.54509803921568623, 0.27843137254901962, 0.53725490196078429)), - ("plum1", (1.0, 0.73333333333333328, 1.0)), - ("plum2", (0.93333333333333335, 0.68235294117647061, 0.93333333333333335)), - ("plum3", (0.80392156862745101, 0.58823529411764708, 0.80392156862745101)), - ("plum4", (0.54509803921568623, 0.40000000000000002, 0.54509803921568623)), - ("MediumOrchid1", (0.8784313725490196, 0.40000000000000002, 1.0)), - ("MediumOrchid2", (0.81960784313725488, 0.37254901960784315, 0.93333333333333335)), - ("MediumOrchid3", (0.70588235294117652, 0.32156862745098042, 0.80392156862745101)), - ("MediumOrchid4", (0.47843137254901963, 0.21568627450980393, 0.54509803921568623)), - ("DarkOrchid1", (0.74901960784313726, 0.24313725490196078, 1.0)), - ("DarkOrchid2", (0.69803921568627447, 0.22745098039215686, 0.93333333333333335)), - ("DarkOrchid3", (0.60392156862745094, 0.19607843137254902, 0.80392156862745101)), - ("DarkOrchid4", (0.40784313725490196, 0.13333333333333333, 0.54509803921568623)), - ("purple1", (0.60784313725490191, 0.18823529411764706, 1.0)), - ("purple2", (0.56862745098039214, 0.17254901960784313, 0.93333333333333335)), - ("purple3", (0.49019607843137253, 0.14901960784313725, 0.80392156862745101)), - ("purple4", (0.33333333333333331, 0.10196078431372549, 0.54509803921568623)), - ("MediumPurple1", (0.6705882352941176, 0.50980392156862742, 1.0)), - ("MediumPurple2", (0.62352941176470589, 0.47450980392156861, 0.93333333333333335)), - ("MediumPurple3", (0.53725490196078429, 0.40784313725490196, 0.80392156862745101)), - ("MediumPurple4", (0.36470588235294116, 0.27843137254901962, 0.54509803921568623)), - ("thistle1", (1.0, 0.88235294117647056, 1.0)), - ("thistle2", (0.93333333333333335, 0.82352941176470584, 0.93333333333333335)), - ("thistle3", (0.80392156862745101, 0.70980392156862748, 0.80392156862745101)), - ("thistle4", (0.54509803921568623, 0.4823529411764706, 0.54509803921568623)), - ("gray0", (0.0, 0.0, 0.0)), - ("grey0", (0.0, 0.0, 0.0)), - ("gray1", (0.011764705882352941, 0.011764705882352941, 0.011764705882352941)), - ("grey1", (0.011764705882352941, 0.011764705882352941, 0.011764705882352941)), - ("gray2", (0.019607843137254902, 0.019607843137254902, 0.019607843137254902)), - ("grey2", (0.019607843137254902, 0.019607843137254902, 0.019607843137254902)), - ("gray3", (0.031372549019607843, 0.031372549019607843, 0.031372549019607843)), - ("grey3", (0.031372549019607843, 0.031372549019607843, 0.031372549019607843)), - ("gray4", (0.039215686274509803, 0.039215686274509803, 0.039215686274509803)), - ("grey4", (0.039215686274509803, 0.039215686274509803, 0.039215686274509803)), - ("gray5", (0.050980392156862744, 0.050980392156862744, 0.050980392156862744)), - ("grey5", (0.050980392156862744, 0.050980392156862744, 0.050980392156862744)), - ("gray6", (0.058823529411764705, 0.058823529411764705, 0.058823529411764705)), - ("grey6", (0.058823529411764705, 0.058823529411764705, 0.058823529411764705)), - ("gray7", (0.070588235294117646, 0.070588235294117646, 0.070588235294117646)), - ("grey7", (0.070588235294117646, 0.070588235294117646, 0.070588235294117646)), - ("gray8", (0.078431372549019607, 0.078431372549019607, 0.078431372549019607)), - ("grey8", (0.078431372549019607, 0.078431372549019607, 0.078431372549019607)), - ("gray9", (0.090196078431372548, 0.090196078431372548, 0.090196078431372548)), - ("grey9", (0.090196078431372548, 0.090196078431372548, 0.090196078431372548)), - ("gray10", (0.10196078431372549, 0.10196078431372549, 0.10196078431372549)), - ("grey10", (0.10196078431372549, 0.10196078431372549, 0.10196078431372549)), - ("gray11", (0.10980392156862745, 0.10980392156862745, 0.10980392156862745)), - ("grey11", (0.10980392156862745, 0.10980392156862745, 0.10980392156862745)), - ("gray12", (0.12156862745098039, 0.12156862745098039, 0.12156862745098039)), - ("grey12", (0.12156862745098039, 0.12156862745098039, 0.12156862745098039)), - ("gray13", (0.12941176470588237, 0.12941176470588237, 0.12941176470588237)), - ("grey13", (0.12941176470588237, 0.12941176470588237, 0.12941176470588237)), - ("gray14", (0.14117647058823529, 0.14117647058823529, 0.14117647058823529)), - ("grey14", (0.14117647058823529, 0.14117647058823529, 0.14117647058823529)), - ("gray15", (0.14901960784313725, 0.14901960784313725, 0.14901960784313725)), - ("grey15", (0.14901960784313725, 0.14901960784313725, 0.14901960784313725)), - ("gray16", (0.16078431372549021, 0.16078431372549021, 0.16078431372549021)), - ("grey16", (0.16078431372549021, 0.16078431372549021, 0.16078431372549021)), - ("gray17", (0.16862745098039217, 0.16862745098039217, 0.16862745098039217)), - ("grey17", (0.16862745098039217, 0.16862745098039217, 0.16862745098039217)), - ("gray18", (0.1803921568627451, 0.1803921568627451, 0.1803921568627451)), - ("grey18", (0.1803921568627451, 0.1803921568627451, 0.1803921568627451)), - ("gray19", (0.18823529411764706, 0.18823529411764706, 0.18823529411764706)), - ("grey19", (0.18823529411764706, 0.18823529411764706, 0.18823529411764706)), - ("gray20", (0.20000000000000001, 0.20000000000000001, 0.20000000000000001)), - ("grey20", (0.20000000000000001, 0.20000000000000001, 0.20000000000000001)), - ("gray21", (0.21176470588235294, 0.21176470588235294, 0.21176470588235294)), - ("grey21", (0.21176470588235294, 0.21176470588235294, 0.21176470588235294)), - ("gray22", (0.2196078431372549, 0.2196078431372549, 0.2196078431372549)), - ("grey22", (0.2196078431372549, 0.2196078431372549, 0.2196078431372549)), - ("gray23", (0.23137254901960785, 0.23137254901960785, 0.23137254901960785)), - ("grey23", (0.23137254901960785, 0.23137254901960785, 0.23137254901960785)), - ("gray24", (0.23921568627450981, 0.23921568627450981, 0.23921568627450981)), - ("grey24", (0.23921568627450981, 0.23921568627450981, 0.23921568627450981)), - ("gray25", (0.25098039215686274, 0.25098039215686274, 0.25098039215686274)), - ("grey25", (0.25098039215686274, 0.25098039215686274, 0.25098039215686274)), - ("gray26", (0.25882352941176473, 0.25882352941176473, 0.25882352941176473)), - ("grey26", (0.25882352941176473, 0.25882352941176473, 0.25882352941176473)), - ("gray27", (0.27058823529411763, 0.27058823529411763, 0.27058823529411763)), - ("grey27", (0.27058823529411763, 0.27058823529411763, 0.27058823529411763)), - ("gray28", (0.27843137254901962, 0.27843137254901962, 0.27843137254901962)), - ("grey28", (0.27843137254901962, 0.27843137254901962, 0.27843137254901962)), - ("gray29", (0.29019607843137257, 0.29019607843137257, 0.29019607843137257)), - ("grey29", (0.29019607843137257, 0.29019607843137257, 0.29019607843137257)), - ("gray30", (0.30196078431372547, 0.30196078431372547, 0.30196078431372547)), - ("grey30", (0.30196078431372547, 0.30196078431372547, 0.30196078431372547)), - ("gray31", (0.30980392156862746, 0.30980392156862746, 0.30980392156862746)), - ("grey31", (0.30980392156862746, 0.30980392156862746, 0.30980392156862746)), - ("gray32", (0.32156862745098042, 0.32156862745098042, 0.32156862745098042)), - ("grey32", (0.32156862745098042, 0.32156862745098042, 0.32156862745098042)), - ("gray33", (0.32941176470588235, 0.32941176470588235, 0.32941176470588235)), - ("grey33", (0.32941176470588235, 0.32941176470588235, 0.32941176470588235)), - ("gray34", (0.3411764705882353, 0.3411764705882353, 0.3411764705882353)), - ("grey34", (0.3411764705882353, 0.3411764705882353, 0.3411764705882353)), - ("gray35", (0.34901960784313724, 0.34901960784313724, 0.34901960784313724)), - ("grey35", (0.34901960784313724, 0.34901960784313724, 0.34901960784313724)), - ("gray36", (0.36078431372549019, 0.36078431372549019, 0.36078431372549019)), - ("grey36", (0.36078431372549019, 0.36078431372549019, 0.36078431372549019)), - ("gray37", (0.36862745098039218, 0.36862745098039218, 0.36862745098039218)), - ("grey37", (0.36862745098039218, 0.36862745098039218, 0.36862745098039218)), - ("gray38", (0.38039215686274508, 0.38039215686274508, 0.38039215686274508)), - ("grey38", (0.38039215686274508, 0.38039215686274508, 0.38039215686274508)), - ("gray39", (0.38823529411764707, 0.38823529411764707, 0.38823529411764707)), - ("grey39", (0.38823529411764707, 0.38823529411764707, 0.38823529411764707)), - ("gray40", (0.40000000000000002, 0.40000000000000002, 0.40000000000000002)), - ("grey40", (0.40000000000000002, 0.40000000000000002, 0.40000000000000002)), - ("gray41", (0.41176470588235292, 0.41176470588235292, 0.41176470588235292)), - ("grey41", (0.41176470588235292, 0.41176470588235292, 0.41176470588235292)), - ("gray42", (0.41960784313725491, 0.41960784313725491, 0.41960784313725491)), - ("grey42", (0.41960784313725491, 0.41960784313725491, 0.41960784313725491)), - ("gray43", (0.43137254901960786, 0.43137254901960786, 0.43137254901960786)), - ("grey43", (0.43137254901960786, 0.43137254901960786, 0.43137254901960786)), - ("gray44", (0.4392156862745098, 0.4392156862745098, 0.4392156862745098)), - ("grey44", (0.4392156862745098, 0.4392156862745098, 0.4392156862745098)), - ("gray45", (0.45098039215686275, 0.45098039215686275, 0.45098039215686275)), - ("grey45", (0.45098039215686275, 0.45098039215686275, 0.45098039215686275)), - ("gray46", (0.45882352941176469, 0.45882352941176469, 0.45882352941176469)), - ("grey46", (0.45882352941176469, 0.45882352941176469, 0.45882352941176469)), - ("gray47", (0.47058823529411764, 0.47058823529411764, 0.47058823529411764)), - ("grey47", (0.47058823529411764, 0.47058823529411764, 0.47058823529411764)), - ("gray48", (0.47843137254901963, 0.47843137254901963, 0.47843137254901963)), - ("grey48", (0.47843137254901963, 0.47843137254901963, 0.47843137254901963)), - ("gray49", (0.49019607843137253, 0.49019607843137253, 0.49019607843137253)), - ("grey49", (0.49019607843137253, 0.49019607843137253, 0.49019607843137253)), - ("gray50", (0.49803921568627452, 0.49803921568627452, 0.49803921568627452)), - ("grey50", (0.49803921568627452, 0.49803921568627452, 0.49803921568627452)), - ("gray51", (0.50980392156862742, 0.50980392156862742, 0.50980392156862742)), - ("grey51", (0.50980392156862742, 0.50980392156862742, 0.50980392156862742)), - ("gray52", (0.52156862745098043, 0.52156862745098043, 0.52156862745098043)), - ("grey52", (0.52156862745098043, 0.52156862745098043, 0.52156862745098043)), - ("gray53", (0.52941176470588236, 0.52941176470588236, 0.52941176470588236)), - ("grey53", (0.52941176470588236, 0.52941176470588236, 0.52941176470588236)), - ("gray54", (0.54117647058823526, 0.54117647058823526, 0.54117647058823526)), - ("grey54", (0.54117647058823526, 0.54117647058823526, 0.54117647058823526)), - ("gray55", (0.5490196078431373, 0.5490196078431373, 0.5490196078431373)), - ("grey55", (0.5490196078431373, 0.5490196078431373, 0.5490196078431373)), - ("gray56", (0.5607843137254902, 0.5607843137254902, 0.5607843137254902)), - ("grey56", (0.5607843137254902, 0.5607843137254902, 0.5607843137254902)), - ("gray57", (0.56862745098039214, 0.56862745098039214, 0.56862745098039214)), - ("grey57", (0.56862745098039214, 0.56862745098039214, 0.56862745098039214)), - ("gray58", (0.58039215686274515, 0.58039215686274515, 0.58039215686274515)), - ("grey58", (0.58039215686274515, 0.58039215686274515, 0.58039215686274515)), - ("gray59", (0.58823529411764708, 0.58823529411764708, 0.58823529411764708)), - ("grey59", (0.58823529411764708, 0.58823529411764708, 0.58823529411764708)), - ("gray60", (0.59999999999999998, 0.59999999999999998, 0.59999999999999998)), - ("grey60", (0.59999999999999998, 0.59999999999999998, 0.59999999999999998)), - ("gray61", (0.61176470588235299, 0.61176470588235299, 0.61176470588235299)), - ("grey61", (0.61176470588235299, 0.61176470588235299, 0.61176470588235299)), - ("gray62", (0.61960784313725492, 0.61960784313725492, 0.61960784313725492)), - ("grey62", (0.61960784313725492, 0.61960784313725492, 0.61960784313725492)), - ("gray63", (0.63137254901960782, 0.63137254901960782, 0.63137254901960782)), - ("grey63", (0.63137254901960782, 0.63137254901960782, 0.63137254901960782)), - ("gray64", (0.63921568627450975, 0.63921568627450975, 0.63921568627450975)), - ("grey64", (0.63921568627450975, 0.63921568627450975, 0.63921568627450975)), - ("gray65", (0.65098039215686276, 0.65098039215686276, 0.65098039215686276)), - ("grey65", (0.65098039215686276, 0.65098039215686276, 0.65098039215686276)), - ("gray66", (0.6588235294117647, 0.6588235294117647, 0.6588235294117647)), - ("grey66", (0.6588235294117647, 0.6588235294117647, 0.6588235294117647)), - ("gray67", (0.6705882352941176, 0.6705882352941176, 0.6705882352941176)), - ("grey67", (0.6705882352941176, 0.6705882352941176, 0.6705882352941176)), - ("gray68", (0.67843137254901964, 0.67843137254901964, 0.67843137254901964)), - ("grey68", (0.67843137254901964, 0.67843137254901964, 0.67843137254901964)), - ("gray69", (0.69019607843137254, 0.69019607843137254, 0.69019607843137254)), - ("grey69", (0.69019607843137254, 0.69019607843137254, 0.69019607843137254)), - ("gray70", (0.70196078431372544, 0.70196078431372544, 0.70196078431372544)), - ("grey70", (0.70196078431372544, 0.70196078431372544, 0.70196078431372544)), - ("gray71", (0.70980392156862748, 0.70980392156862748, 0.70980392156862748)), - ("grey71", (0.70980392156862748, 0.70980392156862748, 0.70980392156862748)), - ("gray72", (0.72156862745098038, 0.72156862745098038, 0.72156862745098038)), - ("grey72", (0.72156862745098038, 0.72156862745098038, 0.72156862745098038)), - ("gray73", (0.72941176470588232, 0.72941176470588232, 0.72941176470588232)), - ("grey73", (0.72941176470588232, 0.72941176470588232, 0.72941176470588232)), - ("gray74", (0.74117647058823533, 0.74117647058823533, 0.74117647058823533)), - ("grey74", (0.74117647058823533, 0.74117647058823533, 0.74117647058823533)), - ("gray75", (0.74901960784313726, 0.74901960784313726, 0.74901960784313726)), - ("grey75", (0.74901960784313726, 0.74901960784313726, 0.74901960784313726)), - ("gray76", (0.76078431372549016, 0.76078431372549016, 0.76078431372549016)), - ("grey76", (0.76078431372549016, 0.76078431372549016, 0.76078431372549016)), - ("gray77", (0.7686274509803922, 0.7686274509803922, 0.7686274509803922)), - ("grey77", (0.7686274509803922, 0.7686274509803922, 0.7686274509803922)), - ("gray78", (0.7803921568627451, 0.7803921568627451, 0.7803921568627451)), - ("grey78", (0.7803921568627451, 0.7803921568627451, 0.7803921568627451)), - ("gray79", (0.78823529411764703, 0.78823529411764703, 0.78823529411764703)), - ("grey79", (0.78823529411764703, 0.78823529411764703, 0.78823529411764703)), - ("gray80", (0.80000000000000004, 0.80000000000000004, 0.80000000000000004)), - ("grey80", (0.80000000000000004, 0.80000000000000004, 0.80000000000000004)), - ("gray81", (0.81176470588235294, 0.81176470588235294, 0.81176470588235294)), - ("grey81", (0.81176470588235294, 0.81176470588235294, 0.81176470588235294)), - ("gray82", (0.81960784313725488, 0.81960784313725488, 0.81960784313725488)), - ("grey82", (0.81960784313725488, 0.81960784313725488, 0.81960784313725488)), - ("gray83", (0.83137254901960789, 0.83137254901960789, 0.83137254901960789)), - ("grey83", (0.83137254901960789, 0.83137254901960789, 0.83137254901960789)), - ("gray84", (0.83921568627450982, 0.83921568627450982, 0.83921568627450982)), - ("grey84", (0.83921568627450982, 0.83921568627450982, 0.83921568627450982)), - ("gray85", (0.85098039215686272, 0.85098039215686272, 0.85098039215686272)), - ("grey85", (0.85098039215686272, 0.85098039215686272, 0.85098039215686272)), - ("gray86", (0.85882352941176465, 0.85882352941176465, 0.85882352941176465)), - ("grey86", (0.85882352941176465, 0.85882352941176465, 0.85882352941176465)), - ("gray87", (0.87058823529411766, 0.87058823529411766, 0.87058823529411766)), - ("grey87", (0.87058823529411766, 0.87058823529411766, 0.87058823529411766)), - ("gray88", (0.8784313725490196, 0.8784313725490196, 0.8784313725490196)), - ("grey88", (0.8784313725490196, 0.8784313725490196, 0.8784313725490196)), - ("gray89", (0.8901960784313725, 0.8901960784313725, 0.8901960784313725)), - ("grey89", (0.8901960784313725, 0.8901960784313725, 0.8901960784313725)), - ("gray90", (0.89803921568627454, 0.89803921568627454, 0.89803921568627454)), - ("grey90", (0.89803921568627454, 0.89803921568627454, 0.89803921568627454)), - ("gray91", (0.90980392156862744, 0.90980392156862744, 0.90980392156862744)), - ("grey91", (0.90980392156862744, 0.90980392156862744, 0.90980392156862744)), - ("gray92", (0.92156862745098034, 0.92156862745098034, 0.92156862745098034)), - ("grey92", (0.92156862745098034, 0.92156862745098034, 0.92156862745098034)), - ("gray93", (0.92941176470588238, 0.92941176470588238, 0.92941176470588238)), - ("grey93", (0.92941176470588238, 0.92941176470588238, 0.92941176470588238)), - ("gray94", (0.94117647058823528, 0.94117647058823528, 0.94117647058823528)), - ("grey94", (0.94117647058823528, 0.94117647058823528, 0.94117647058823528)), - ("gray95", (0.94901960784313721, 0.94901960784313721, 0.94901960784313721)), - ("grey95", (0.94901960784313721, 0.94901960784313721, 0.94901960784313721)), - ("gray96", (0.96078431372549022, 0.96078431372549022, 0.96078431372549022)), - ("grey96", (0.96078431372549022, 0.96078431372549022, 0.96078431372549022)), - ("gray97", (0.96862745098039216, 0.96862745098039216, 0.96862745098039216)), - ("grey97", (0.96862745098039216, 0.96862745098039216, 0.96862745098039216)), - ("gray98", (0.98039215686274506, 0.98039215686274506, 0.98039215686274506)), - ("grey98", (0.98039215686274506, 0.98039215686274506, 0.98039215686274506)), - ("gray99", (0.9882352941176471, 0.9882352941176471, 0.9882352941176471)), - ("grey99", (0.9882352941176471, 0.9882352941176471, 0.9882352941176471)), - ("gray100", (1.0, 1.0, 1.0)), - ("grey100", (1.0, 1.0, 1.0)), - ("DarkGrey", (0.66274509803921566, 0.66274509803921566, 0.66274509803921566)), - ("DarkGray", (0.66274509803921566, 0.66274509803921566, 0.66274509803921566)), - ("DarkBlue", (0.0, 0.0, 0.54509803921568623)), - ("DarkCyan", (0.0, 0.54509803921568623, 0.54509803921568623)), - ("DarkMagenta", (0.54509803921568623, 0.0, 0.54509803921568623)), - ("DarkRed", (0.54509803921568623, 0.0, 0.0)), - ("LightGreen", (0.56470588235294117, 0.93333333333333335, 0.56470588235294117)), + ("snow", (1.00000000, 0.98039216, 0.98039216)), + ("GhostWhite", (0.97254902, 0.97254902, 1.00000000)), + ("WhiteSmoke", (0.96078431, 0.96078431, 0.96078431)), + ("gainsboro", (0.86274510, 0.86274510, 0.86274510)), + ("FloralWhite", (1.00000000, 0.98039216, 0.94117647)), + ("OldLace", (0.99215686, 0.96078431, 0.90196078)), + ("linen", (0.98039216, 0.94117647, 0.90196078)), + ("AntiqueWhite", (0.98039216, 0.92156863, 0.84313725)), + ("PapayaWhip", (1.00000000, 0.93725490, 0.83529412)), + ("BlanchedAlmond", (1.00000000, 0.92156863, 0.80392157)), + ("bisque", (1.00000000, 0.89411765, 0.76862745)), + ("PeachPuff", (1.00000000, 0.85490196, 0.72549020)), + ("NavajoWhite", (1.00000000, 0.87058824, 0.67843137)), + ("moccasin", (1.00000000, 0.89411765, 0.70980392)), + ("cornsilk", (1.00000000, 0.97254902, 0.86274510)), + ("ivory", (1.00000000, 1.00000000, 0.94117647)), + ("LemonChiffon", (1.00000000, 0.98039216, 0.80392157)), + ("seashell", (1.00000000, 0.96078431, 0.93333333)), + ("honeydew", (0.94117647, 1.00000000, 0.94117647)), + ("MintCream", (0.96078431, 1.00000000, 0.98039216)), + ("azure", (0.94117647, 1.00000000, 1.00000000)), + ("AliceBlue", (0.94117647, 0.97254902, 1.00000000)), + ("lavender", (0.90196078, 0.90196078, 0.98039216)), + ("LavenderBlush", (1.00000000, 0.94117647, 0.96078431)), + ("MistyRose", (1.00000000, 0.89411765, 0.88235294)), + ("white", (1.00000000, 1.00000000, 1.00000000)), + ("black", (0.00000000, 0.00000000, 0.00000000)), + ("DarkSlateGray", (0.18431373, 0.30980392, 0.30980392)), + ("DarkSlateGrey", (0.18431373, 0.30980392, 0.30980392)), + ("DimGray", (0.41176471, 0.41176471, 0.41176471)), + ("DimGrey", (0.41176471, 0.41176471, 0.41176471)), + ("SlateGray", (0.43921569, 0.50196078, 0.56470588)), + ("SlateGrey", (0.43921569, 0.50196078, 0.56470588)), + ("LightSlateGray", (0.46666667, 0.53333333, 0.60000000)), + ("LightSlateGrey", (0.46666667, 0.53333333, 0.60000000)), + ("gray", (0.74509804, 0.74509804, 0.74509804)), + ("grey", (0.74509804, 0.74509804, 0.74509804)), + ("LightGrey", (0.82745098, 0.82745098, 0.82745098)), + ("LightGray", (0.82745098, 0.82745098, 0.82745098)), + ("MidnightBlue", (0.09803922, 0.09803922, 0.43921569)), + ("navy", (0.00000000, 0.00000000, 0.50196078)), + ("NavyBlue", (0.00000000, 0.00000000, 0.50196078)), + ("CornflowerBlue", (0.39215686, 0.58431373, 0.92941176)), + ("DarkSlateBlue", (0.28235294, 0.23921569, 0.54509804)), + ("SlateBlue", (0.41568627, 0.35294118, 0.80392157)), + ("MediumSlateBlue", (0.48235294, 0.40784314, 0.93333333)), + ("LightSlateBlue", (0.51764706, 0.43921569, 1.00000000)), + ("MediumBlue", (0.00000000, 0.00000000, 0.80392157)), + ("RoyalBlue", (0.25490196, 0.41176471, 0.88235294)), + ("blue", (0.00000000, 0.00000000, 1.00000000)), + ("DodgerBlue", (0.11764706, 0.56470588, 1.00000000)), + ("DeepSkyBlue", (0.00000000, 0.74901961, 1.00000000)), + ("SkyBlue", (0.52941176, 0.80784314, 0.92156863)), + ("LightSkyBlue", (0.52941176, 0.80784314, 0.98039216)), + ("SteelBlue", (0.27450980, 0.50980392, 0.70588235)), + ("LightSteelBlue", (0.69019608, 0.76862745, 0.87058824)), + ("LightBlue", (0.67843137, 0.84705882, 0.90196078)), + ("PowderBlue", (0.69019608, 0.87843137, 0.90196078)), + ("PaleTurquoise", (0.68627451, 0.93333333, 0.93333333)), + ("DarkTurquoise", (0.00000000, 0.80784314, 0.81960784)), + ("MediumTurquoise", (0.28235294, 0.81960784, 0.80000000)), + ("turquoise", (0.25098039, 0.87843137, 0.81568627)), + ("cyan", (0.00000000, 1.00000000, 1.00000000)), + ("LightCyan", (0.87843137, 1.00000000, 1.00000000)), + ("CadetBlue", (0.37254902, 0.61960784, 0.62745098)), + ("MediumAquamarine", (0.40000000, 0.80392157, 0.66666667)), + ("aquamarine", (0.49803922, 1.00000000, 0.83137255)), + ("DarkGreen", (0.00000000, 0.39215686, 0.00000000)), + ("DarkOliveGreen", (0.33333333, 0.41960784, 0.18431373)), + ("DarkSeaGreen", (0.56078431, 0.73725490, 0.56078431)), + ("SeaGreen", (0.18039216, 0.54509804, 0.34117647)), + ("MediumSeaGreen", (0.23529412, 0.70196078, 0.44313725)), + ("LightSeaGreen", (0.12549020, 0.69803922, 0.66666667)), + ("PaleGreen", (0.59607843, 0.98431373, 0.59607843)), + ("SpringGreen", (0.00000000, 1.00000000, 0.49803922)), + ("LawnGreen", (0.48627451, 0.98823529, 0.00000000)), + ("green", (0.00000000, 1.00000000, 0.00000000)), + ("chartreuse", (0.49803922, 1.00000000, 0.00000000)), + ("MediumSpringGreen", (0.00000000, 0.98039216, 0.60392157)), + ("GreenYellow", (0.67843137, 1.00000000, 0.18431373)), + ("LimeGreen", (0.19607843, 0.80392157, 0.19607843)), + ("YellowGreen", (0.60392157, 0.80392157, 0.19607843)), + ("ForestGreen", (0.13333333, 0.54509804, 0.13333333)), + ("OliveDrab", (0.41960784, 0.55686275, 0.13725490)), + ("DarkKhaki", (0.74117647, 0.71764706, 0.41960784)), + ("khaki", (0.94117647, 0.90196078, 0.54901961)), + ("PaleGoldenrod", (0.93333333, 0.90980392, 0.66666667)), + ("LightGoldenrodYellow", (0.98039216, 0.98039216, 0.82352941)), + ("LightYellow", (1.00000000, 1.00000000, 0.87843137)), + ("yellow", (1.00000000, 1.00000000, 0.00000000)), + ("gold", (1.00000000, 0.84313725, 0.00000000)), + ("LightGoldenrod", (0.93333333, 0.86666667, 0.50980392)), + ("goldenrod", (0.85490196, 0.64705882, 0.12549020)), + ("DarkGoldenrod", (0.72156863, 0.52549020, 0.04313725)), + ("RosyBrown", (0.73725490, 0.56078431, 0.56078431)), + ("IndianRed", (0.80392157, 0.36078431, 0.36078431)), + ("SaddleBrown", (0.54509804, 0.27058824, 0.07450980)), + ("sienna", (0.62745098, 0.32156863, 0.17647059)), + ("peru", (0.80392157, 0.52156863, 0.24705882)), + ("burlywood", (0.87058824, 0.72156863, 0.52941176)), + ("beige", (0.96078431, 0.96078431, 0.86274510)), + ("wheat", (0.96078431, 0.87058824, 0.70196078)), + ("SandyBrown", (0.95686275, 0.64313725, 0.37647059)), + ("tan", (0.82352941, 0.70588235, 0.54901961)), + ("chocolate", (0.82352941, 0.41176471, 0.11764706)), + ("firebrick", (0.69803922, 0.13333333, 0.13333333)), + ("brown", (0.64705882, 0.16470588, 0.16470588)), + ("DarkSalmon", (0.91372549, 0.58823529, 0.47843137)), + ("salmon", (0.98039216, 0.50196078, 0.44705882)), + ("LightSalmon", (1.00000000, 0.62745098, 0.47843137)), + ("orange", (1.00000000, 0.64705882, 0.00000000)), + ("DarkOrange", (1.00000000, 0.54901961, 0.00000000)), + ("coral", (1.00000000, 0.49803922, 0.31372549)), + ("LightCoral", (0.94117647, 0.50196078, 0.50196078)), + ("tomato", (1.00000000, 0.38823529, 0.27843137)), + ("OrangeRed", (1.00000000, 0.27058824, 0.00000000)), + ("red", (1.00000000, 0.00000000, 0.00000000)), + ("HotPink", (1.00000000, 0.41176471, 0.70588235)), + ("DeepPink", (1.00000000, 0.07843137, 0.57647059)), + ("pink", (1.00000000, 0.75294118, 0.79607843)), + ("LightPink", (1.00000000, 0.71372549, 0.75686275)), + ("PaleVioletRed", (0.85882353, 0.43921569, 0.57647059)), + ("maroon", (0.69019608, 0.18823529, 0.37647059)), + ("MediumVioletRed", (0.78039216, 0.08235294, 0.52156863)), + ("VioletRed", (0.81568627, 0.12549020, 0.56470588)), + ("magenta", (1.00000000, 0.00000000, 1.00000000)), + ("violet", (0.93333333, 0.50980392, 0.93333333)), + ("plum", (0.86666667, 0.62745098, 0.86666667)), + ("orchid", (0.85490196, 0.43921569, 0.83921569)), + ("MediumOrchid", (0.72941176, 0.33333333, 0.82745098)), + ("DarkOrchid", (0.60000000, 0.19607843, 0.80000000)), + ("DarkViolet", (0.58039216, 0.00000000, 0.82745098)), + ("BlueViolet", (0.54117647, 0.16862745, 0.88627451)), + ("purple", (0.62745098, 0.12549020, 0.94117647)), + ("MediumPurple", (0.57647059, 0.43921569, 0.85882353)), + ("thistle", (0.84705882, 0.74901961, 0.84705882)), + ("snow1", (1.00000000, 0.98039216, 0.98039216)), + ("snow2", (0.93333333, 0.91372549, 0.91372549)), + ("snow3", (0.80392157, 0.78823529, 0.78823529)), + ("snow4", (0.54509804, 0.53725490, 0.53725490)), + ("seashell1", (1.00000000, 0.96078431, 0.93333333)), + ("seashell2", (0.93333333, 0.89803922, 0.87058824)), + ("seashell3", (0.80392157, 0.77254902, 0.74901961)), + ("seashell4", (0.54509804, 0.52549020, 0.50980392)), + ("AntiqueWhite1", (1.00000000, 0.93725490, 0.85882353)), + ("AntiqueWhite2", (0.93333333, 0.87450980, 0.80000000)), + ("AntiqueWhite3", (0.80392157, 0.75294118, 0.69019608)), + ("AntiqueWhite4", (0.54509804, 0.51372549, 0.47058824)), + ("bisque1", (1.00000000, 0.89411765, 0.76862745)), + ("bisque2", (0.93333333, 0.83529412, 0.71764706)), + ("bisque3", (0.80392157, 0.71764706, 0.61960784)), + ("bisque4", (0.54509804, 0.49019608, 0.41960784)), + ("PeachPuff1", (1.00000000, 0.85490196, 0.72549020)), + ("PeachPuff2", (0.93333333, 0.79607843, 0.67843137)), + ("PeachPuff3", (0.80392157, 0.68627451, 0.58431373)), + ("PeachPuff4", (0.54509804, 0.46666667, 0.39607843)), + ("NavajoWhite1", (1.00000000, 0.87058824, 0.67843137)), + ("NavajoWhite2", (0.93333333, 0.81176471, 0.63137255)), + ("NavajoWhite3", (0.80392157, 0.70196078, 0.54509804)), + ("NavajoWhite4", (0.54509804, 0.47450980, 0.36862745)), + ("LemonChiffon1", (1.00000000, 0.98039216, 0.80392157)), + ("LemonChiffon2", (0.93333333, 0.91372549, 0.74901961)), + ("LemonChiffon3", (0.80392157, 0.78823529, 0.64705882)), + ("LemonChiffon4", (0.54509804, 0.53725490, 0.43921569)), + ("cornsilk1", (1.00000000, 0.97254902, 0.86274510)), + ("cornsilk2", (0.93333333, 0.90980392, 0.80392157)), + ("cornsilk3", (0.80392157, 0.78431373, 0.69411765)), + ("cornsilk4", (0.54509804, 0.53333333, 0.47058824)), + ("ivory1", (1.00000000, 1.00000000, 0.94117647)), + ("ivory2", (0.93333333, 0.93333333, 0.87843137)), + ("ivory3", (0.80392157, 0.80392157, 0.75686275)), + ("ivory4", (0.54509804, 0.54509804, 0.51372549)), + ("honeydew1", (0.94117647, 1.00000000, 0.94117647)), + ("honeydew2", (0.87843137, 0.93333333, 0.87843137)), + ("honeydew3", (0.75686275, 0.80392157, 0.75686275)), + ("honeydew4", (0.51372549, 0.54509804, 0.51372549)), + ("LavenderBlush1", (1.00000000, 0.94117647, 0.96078431)), + ("LavenderBlush2", (0.93333333, 0.87843137, 0.89803922)), + ("LavenderBlush3", (0.80392157, 0.75686275, 0.77254902)), + ("LavenderBlush4", (0.54509804, 0.51372549, 0.52549020)), + ("MistyRose1", (1.00000000, 0.89411765, 0.88235294)), + ("MistyRose2", (0.93333333, 0.83529412, 0.82352941)), + ("MistyRose3", (0.80392157, 0.71764706, 0.70980392)), + ("MistyRose4", (0.54509804, 0.49019608, 0.48235294)), + ("azure1", (0.94117647, 1.00000000, 1.00000000)), + ("azure2", (0.87843137, 0.93333333, 0.93333333)), + ("azure3", (0.75686275, 0.80392157, 0.80392157)), + ("azure4", (0.51372549, 0.54509804, 0.54509804)), + ("SlateBlue1", (0.51372549, 0.43529412, 1.00000000)), + ("SlateBlue2", (0.47843137, 0.40392157, 0.93333333)), + ("SlateBlue3", (0.41176471, 0.34901961, 0.80392157)), + ("SlateBlue4", (0.27843137, 0.23529412, 0.54509804)), + ("RoyalBlue1", (0.28235294, 0.46274510, 1.00000000)), + ("RoyalBlue2", (0.26274510, 0.43137255, 0.93333333)), + ("RoyalBlue3", (0.22745098, 0.37254902, 0.80392157)), + ("RoyalBlue4", (0.15294118, 0.25098039, 0.54509804)), + ("blue1", (0.00000000, 0.00000000, 1.00000000)), + ("blue2", (0.00000000, 0.00000000, 0.93333333)), + ("blue3", (0.00000000, 0.00000000, 0.80392157)), + ("blue4", (0.00000000, 0.00000000, 0.54509804)), + ("DodgerBlue1", (0.11764706, 0.56470588, 1.00000000)), + ("DodgerBlue2", (0.10980392, 0.52549020, 0.93333333)), + ("DodgerBlue3", (0.09411765, 0.45490196, 0.80392157)), + ("DodgerBlue4", (0.06274510, 0.30588235, 0.54509804)), + ("SteelBlue1", (0.38823529, 0.72156863, 1.00000000)), + ("SteelBlue2", (0.36078431, 0.67450980, 0.93333333)), + ("SteelBlue3", (0.30980392, 0.58039216, 0.80392157)), + ("SteelBlue4", (0.21176471, 0.39215686, 0.54509804)), + ("DeepSkyBlue1", (0.00000000, 0.74901961, 1.00000000)), + ("DeepSkyBlue2", (0.00000000, 0.69803922, 0.93333333)), + ("DeepSkyBlue3", (0.00000000, 0.60392157, 0.80392157)), + ("DeepSkyBlue4", (0.00000000, 0.40784314, 0.54509804)), + ("SkyBlue1", (0.52941176, 0.80784314, 1.00000000)), + ("SkyBlue2", (0.49411765, 0.75294118, 0.93333333)), + ("SkyBlue3", (0.42352941, 0.65098039, 0.80392157)), + ("SkyBlue4", (0.29019608, 0.43921569, 0.54509804)), + ("LightSkyBlue1", (0.69019608, 0.88627451, 1.00000000)), + ("LightSkyBlue2", (0.64313725, 0.82745098, 0.93333333)), + ("LightSkyBlue3", (0.55294118, 0.71372549, 0.80392157)), + ("LightSkyBlue4", (0.37647059, 0.48235294, 0.54509804)), + ("SlateGray1", (0.77647059, 0.88627451, 1.00000000)), + ("SlateGray2", (0.72549020, 0.82745098, 0.93333333)), + ("SlateGray3", (0.62352941, 0.71372549, 0.80392157)), + ("SlateGray4", (0.42352941, 0.48235294, 0.54509804)), + ("LightSteelBlue1", (0.79215686, 0.88235294, 1.00000000)), + ("LightSteelBlue2", (0.73725490, 0.82352941, 0.93333333)), + ("LightSteelBlue3", (0.63529412, 0.70980392, 0.80392157)), + ("LightSteelBlue4", (0.43137255, 0.48235294, 0.54509804)), + ("LightBlue1", (0.74901961, 0.93725490, 1.00000000)), + ("LightBlue2", (0.69803922, 0.87450980, 0.93333333)), + ("LightBlue3", (0.60392157, 0.75294118, 0.80392157)), + ("LightBlue4", (0.40784314, 0.51372549, 0.54509804)), + ("LightCyan1", (0.87843137, 1.00000000, 1.00000000)), + ("LightCyan2", (0.81960784, 0.93333333, 0.93333333)), + ("LightCyan3", (0.70588235, 0.80392157, 0.80392157)), + ("LightCyan4", (0.47843137, 0.54509804, 0.54509804)), + ("PaleTurquoise1", (0.73333333, 1.00000000, 1.00000000)), + ("PaleTurquoise2", (0.68235294, 0.93333333, 0.93333333)), + ("PaleTurquoise3", (0.58823529, 0.80392157, 0.80392157)), + ("PaleTurquoise4", (0.40000000, 0.54509804, 0.54509804)), + ("CadetBlue1", (0.59607843, 0.96078431, 1.00000000)), + ("CadetBlue2", (0.55686275, 0.89803922, 0.93333333)), + ("CadetBlue3", (0.47843137, 0.77254902, 0.80392157)), + ("CadetBlue4", (0.32549020, 0.52549020, 0.54509804)), + ("turquoise1", (0.00000000, 0.96078431, 1.00000000)), + ("turquoise2", (0.00000000, 0.89803922, 0.93333333)), + ("turquoise3", (0.00000000, 0.77254902, 0.80392157)), + ("turquoise4", (0.00000000, 0.52549020, 0.54509804)), + ("cyan1", (0.00000000, 1.00000000, 1.00000000)), + ("cyan2", (0.00000000, 0.93333333, 0.93333333)), + ("cyan3", (0.00000000, 0.80392157, 0.80392157)), + ("cyan4", (0.00000000, 0.54509804, 0.54509804)), + ("DarkSlateGray1", (0.59215686, 1.00000000, 1.00000000)), + ("DarkSlateGray2", (0.55294118, 0.93333333, 0.93333333)), + ("DarkSlateGray3", (0.47450980, 0.80392157, 0.80392157)), + ("DarkSlateGray4", (0.32156863, 0.54509804, 0.54509804)), + ("aquamarine1", (0.49803922, 1.00000000, 0.83137255)), + ("aquamarine2", (0.46274510, 0.93333333, 0.77647059)), + ("aquamarine3", (0.40000000, 0.80392157, 0.66666667)), + ("aquamarine4", (0.27058824, 0.54509804, 0.45490196)), + ("DarkSeaGreen1", (0.75686275, 1.00000000, 0.75686275)), + ("DarkSeaGreen2", (0.70588235, 0.93333333, 0.70588235)), + ("DarkSeaGreen3", (0.60784314, 0.80392157, 0.60784314)), + ("DarkSeaGreen4", (0.41176471, 0.54509804, 0.41176471)), + ("SeaGreen1", (0.32941176, 1.00000000, 0.62352941)), + ("SeaGreen2", (0.30588235, 0.93333333, 0.58039216)), + ("SeaGreen3", (0.26274510, 0.80392157, 0.50196078)), + ("SeaGreen4", (0.18039216, 0.54509804, 0.34117647)), + ("PaleGreen1", (0.60392157, 1.00000000, 0.60392157)), + ("PaleGreen2", (0.56470588, 0.93333333, 0.56470588)), + ("PaleGreen3", (0.48627451, 0.80392157, 0.48627451)), + ("PaleGreen4", (0.32941176, 0.54509804, 0.32941176)), + ("SpringGreen1", (0.00000000, 1.00000000, 0.49803922)), + ("SpringGreen2", (0.00000000, 0.93333333, 0.46274510)), + ("SpringGreen3", (0.00000000, 0.80392157, 0.40000000)), + ("SpringGreen4", (0.00000000, 0.54509804, 0.27058824)), + ("green1", (0.00000000, 1.00000000, 0.00000000)), + ("green2", (0.00000000, 0.93333333, 0.00000000)), + ("green3", (0.00000000, 0.80392157, 0.00000000)), + ("green4", (0.00000000, 0.54509804, 0.00000000)), + ("chartreuse1", (0.49803922, 1.00000000, 0.00000000)), + ("chartreuse2", (0.46274510, 0.93333333, 0.00000000)), + ("chartreuse3", (0.40000000, 0.80392157, 0.00000000)), + ("chartreuse4", (0.27058824, 0.54509804, 0.00000000)), + ("OliveDrab1", (0.75294118, 1.00000000, 0.24313725)), + ("OliveDrab2", (0.70196078, 0.93333333, 0.22745098)), + ("OliveDrab3", (0.60392157, 0.80392157, 0.19607843)), + ("OliveDrab4", (0.41176471, 0.54509804, 0.13333333)), + ("DarkOliveGreen1", (0.79215686, 1.00000000, 0.43921569)), + ("DarkOliveGreen2", (0.73725490, 0.93333333, 0.40784314)), + ("DarkOliveGreen3", (0.63529412, 0.80392157, 0.35294118)), + ("DarkOliveGreen4", (0.43137255, 0.54509804, 0.23921569)), + ("khaki1", (1.00000000, 0.96470588, 0.56078431)), + ("khaki2", (0.93333333, 0.90196078, 0.52156863)), + ("khaki3", (0.80392157, 0.77647059, 0.45098039)), + ("khaki4", (0.54509804, 0.52549020, 0.30588235)), + ("LightGoldenrod1", (1.00000000, 0.92549020, 0.54509804)), + ("LightGoldenrod2", (0.93333333, 0.86274510, 0.50980392)), + ("LightGoldenrod3", (0.80392157, 0.74509804, 0.43921569)), + ("LightGoldenrod4", (0.54509804, 0.50588235, 0.29803922)), + ("LightYellow1", (1.00000000, 1.00000000, 0.87843137)), + ("LightYellow2", (0.93333333, 0.93333333, 0.81960784)), + ("LightYellow3", (0.80392157, 0.80392157, 0.70588235)), + ("LightYellow4", (0.54509804, 0.54509804, 0.47843137)), + ("yellow1", (1.00000000, 1.00000000, 0.00000000)), + ("yellow2", (0.93333333, 0.93333333, 0.00000000)), + ("yellow3", (0.80392157, 0.80392157, 0.00000000)), + ("yellow4", (0.54509804, 0.54509804, 0.00000000)), + ("gold1", (1.00000000, 0.84313725, 0.00000000)), + ("gold2", (0.93333333, 0.78823529, 0.00000000)), + ("gold3", (0.80392157, 0.67843137, 0.00000000)), + ("gold4", (0.54509804, 0.45882353, 0.00000000)), + ("goldenrod1", (1.00000000, 0.75686275, 0.14509804)), + ("goldenrod2", (0.93333333, 0.70588235, 0.13333333)), + ("goldenrod3", (0.80392157, 0.60784314, 0.11372549)), + ("goldenrod4", (0.54509804, 0.41176471, 0.07843137)), + ("DarkGoldenrod1", (1.00000000, 0.72549020, 0.05882353)), + ("DarkGoldenrod2", (0.93333333, 0.67843137, 0.05490196)), + ("DarkGoldenrod3", (0.80392157, 0.58431373, 0.04705882)), + ("DarkGoldenrod4", (0.54509804, 0.39607843, 0.03137255)), + ("RosyBrown1", (1.00000000, 0.75686275, 0.75686275)), + ("RosyBrown2", (0.93333333, 0.70588235, 0.70588235)), + ("RosyBrown3", (0.80392157, 0.60784314, 0.60784314)), + ("RosyBrown4", (0.54509804, 0.41176471, 0.41176471)), + ("IndianRed1", (1.00000000, 0.41568627, 0.41568627)), + ("IndianRed2", (0.93333333, 0.38823529, 0.38823529)), + ("IndianRed3", (0.80392157, 0.33333333, 0.33333333)), + ("IndianRed4", (0.54509804, 0.22745098, 0.22745098)), + ("sienna1", (1.00000000, 0.50980392, 0.27843137)), + ("sienna2", (0.93333333, 0.47450980, 0.25882353)), + ("sienna3", (0.80392157, 0.40784314, 0.22352941)), + ("sienna4", (0.54509804, 0.27843137, 0.14901961)), + ("burlywood1", (1.00000000, 0.82745098, 0.60784314)), + ("burlywood2", (0.93333333, 0.77254902, 0.56862745)), + ("burlywood3", (0.80392157, 0.66666667, 0.49019608)), + ("burlywood4", (0.54509804, 0.45098039, 0.33333333)), + ("wheat1", (1.00000000, 0.90588235, 0.72941176)), + ("wheat2", (0.93333333, 0.84705882, 0.68235294)), + ("wheat3", (0.80392157, 0.72941176, 0.58823529)), + ("wheat4", (0.54509804, 0.49411765, 0.40000000)), + ("tan1", (1.00000000, 0.64705882, 0.30980392)), + ("tan2", (0.93333333, 0.60392157, 0.28627451)), + ("tan3", (0.80392157, 0.52156863, 0.24705882)), + ("tan4", (0.54509804, 0.35294118, 0.16862745)), + ("chocolate1", (1.00000000, 0.49803922, 0.14117647)), + ("chocolate2", (0.93333333, 0.46274510, 0.12941176)), + ("chocolate3", (0.80392157, 0.40000000, 0.11372549)), + ("chocolate4", (0.54509804, 0.27058824, 0.07450980)), + ("firebrick1", (1.00000000, 0.18823529, 0.18823529)), + ("firebrick2", (0.93333333, 0.17254902, 0.17254902)), + ("firebrick3", (0.80392157, 0.14901961, 0.14901961)), + ("firebrick4", (0.54509804, 0.10196078, 0.10196078)), + ("brown1", (1.00000000, 0.25098039, 0.25098039)), + ("brown2", (0.93333333, 0.23137255, 0.23137255)), + ("brown3", (0.80392157, 0.20000000, 0.20000000)), + ("brown4", (0.54509804, 0.13725490, 0.13725490)), + ("salmon1", (1.00000000, 0.54901961, 0.41176471)), + ("salmon2", (0.93333333, 0.50980392, 0.38431373)), + ("salmon3", (0.80392157, 0.43921569, 0.32941176)), + ("salmon4", (0.54509804, 0.29803922, 0.22352941)), + ("LightSalmon1", (1.00000000, 0.62745098, 0.47843137)), + ("LightSalmon2", (0.93333333, 0.58431373, 0.44705882)), + ("LightSalmon3", (0.80392157, 0.50588235, 0.38431373)), + ("LightSalmon4", (0.54509804, 0.34117647, 0.25882353)), + ("orange1", (1.00000000, 0.64705882, 0.00000000)), + ("orange2", (0.93333333, 0.60392157, 0.00000000)), + ("orange3", (0.80392157, 0.52156863, 0.00000000)), + ("orange4", (0.54509804, 0.35294118, 0.00000000)), + ("DarkOrange1", (1.00000000, 0.49803922, 0.00000000)), + ("DarkOrange2", (0.93333333, 0.46274510, 0.00000000)), + ("DarkOrange3", (0.80392157, 0.40000000, 0.00000000)), + ("DarkOrange4", (0.54509804, 0.27058824, 0.00000000)), + ("coral1", (1.00000000, 0.44705882, 0.33725490)), + ("coral2", (0.93333333, 0.41568627, 0.31372549)), + ("coral3", (0.80392157, 0.35686275, 0.27058824)), + ("coral4", (0.54509804, 0.24313725, 0.18431373)), + ("tomato1", (1.00000000, 0.38823529, 0.27843137)), + ("tomato2", (0.93333333, 0.36078431, 0.25882353)), + ("tomato3", (0.80392157, 0.30980392, 0.22352941)), + ("tomato4", (0.54509804, 0.21176471, 0.14901961)), + ("OrangeRed1", (1.00000000, 0.27058824, 0.00000000)), + ("OrangeRed2", (0.93333333, 0.25098039, 0.00000000)), + ("OrangeRed3", (0.80392157, 0.21568627, 0.00000000)), + ("OrangeRed4", (0.54509804, 0.14509804, 0.00000000)), + ("red1", (1.00000000, 0.00000000, 0.00000000)), + ("red2", (0.93333333, 0.00000000, 0.00000000)), + ("red3", (0.80392157, 0.00000000, 0.00000000)), + ("red4", (0.54509804, 0.00000000, 0.00000000)), + ("DeepPink1", (1.00000000, 0.07843137, 0.57647059)), + ("DeepPink2", (0.93333333, 0.07058824, 0.53725490)), + ("DeepPink3", (0.80392157, 0.06274510, 0.46274510)), + ("DeepPink4", (0.54509804, 0.03921569, 0.31372549)), + ("HotPink1", (1.00000000, 0.43137255, 0.70588235)), + ("HotPink2", (0.93333333, 0.41568627, 0.65490196)), + ("HotPink3", (0.80392157, 0.37647059, 0.56470588)), + ("HotPink4", (0.54509804, 0.22745098, 0.38431373)), + ("pink1", (1.00000000, 0.70980392, 0.77254902)), + ("pink2", (0.93333333, 0.66274510, 0.72156863)), + ("pink3", (0.80392157, 0.56862745, 0.61960784)), + ("pink4", (0.54509804, 0.38823529, 0.42352941)), + ("LightPink1", (1.00000000, 0.68235294, 0.72549020)), + ("LightPink2", (0.93333333, 0.63529412, 0.67843137)), + ("LightPink3", (0.80392157, 0.54901961, 0.58431373)), + ("LightPink4", (0.54509804, 0.37254902, 0.39607843)), + ("PaleVioletRed1", (1.00000000, 0.50980392, 0.67058824)), + ("PaleVioletRed2", (0.93333333, 0.47450980, 0.62352941)), + ("PaleVioletRed3", (0.80392157, 0.40784314, 0.53725490)), + ("PaleVioletRed4", (0.54509804, 0.27843137, 0.36470588)), + ("maroon1", (1.00000000, 0.20392157, 0.70196078)), + ("maroon2", (0.93333333, 0.18823529, 0.65490196)), + ("maroon3", (0.80392157, 0.16078431, 0.56470588)), + ("maroon4", (0.54509804, 0.10980392, 0.38431373)), + ("VioletRed1", (1.00000000, 0.24313725, 0.58823529)), + ("VioletRed2", (0.93333333, 0.22745098, 0.54901961)), + ("VioletRed3", (0.80392157, 0.19607843, 0.47058824)), + ("VioletRed4", (0.54509804, 0.13333333, 0.32156863)), + ("magenta1", (1.00000000, 0.00000000, 1.00000000)), + ("magenta2", (0.93333333, 0.00000000, 0.93333333)), + ("magenta3", (0.80392157, 0.00000000, 0.80392157)), + ("magenta4", (0.54509804, 0.00000000, 0.54509804)), + ("orchid1", (1.00000000, 0.51372549, 0.98039216)), + ("orchid2", (0.93333333, 0.47843137, 0.91372549)), + ("orchid3", (0.80392157, 0.41176471, 0.78823529)), + ("orchid4", (0.54509804, 0.27843137, 0.53725490)), + ("plum1", (1.00000000, 0.73333333, 1.00000000)), + ("plum2", (0.93333333, 0.68235294, 0.93333333)), + ("plum3", (0.80392157, 0.58823529, 0.80392157)), + ("plum4", (0.54509804, 0.40000000, 0.54509804)), + ("MediumOrchid1", (0.87843137, 0.40000000, 1.00000000)), + ("MediumOrchid2", (0.81960784, 0.37254902, 0.93333333)), + ("MediumOrchid3", (0.70588235, 0.32156863, 0.80392157)), + ("MediumOrchid4", (0.47843137, 0.21568627, 0.54509804)), + ("DarkOrchid1", (0.74901961, 0.24313725, 1.00000000)), + ("DarkOrchid2", (0.69803922, 0.22745098, 0.93333333)), + ("DarkOrchid3", (0.60392157, 0.19607843, 0.80392157)), + ("DarkOrchid4", (0.40784314, 0.13333333, 0.54509804)), + ("purple1", (0.60784314, 0.18823529, 1.00000000)), + ("purple2", (0.56862745, 0.17254902, 0.93333333)), + ("purple3", (0.49019608, 0.14901961, 0.80392157)), + ("purple4", (0.33333333, 0.10196078, 0.54509804)), + ("MediumPurple1", (0.67058824, 0.50980392, 1.00000000)), + ("MediumPurple2", (0.62352941, 0.47450980, 0.93333333)), + ("MediumPurple3", (0.53725490, 0.40784314, 0.80392157)), + ("MediumPurple4", (0.36470588, 0.27843137, 0.54509804)), + ("thistle1", (1.00000000, 0.88235294, 1.00000000)), + ("thistle2", (0.93333333, 0.82352941, 0.93333333)), + ("thistle3", (0.80392157, 0.70980392, 0.80392157)), + ("thistle4", (0.54509804, 0.48235294, 0.54509804)), + ("gray0", (0.00000000, 0.00000000, 0.00000000)), + ("grey0", (0.00000000, 0.00000000, 0.00000000)), + ("gray1", (0.01176471, 0.01176471, 0.01176471)), + ("grey1", (0.01176471, 0.01176471, 0.01176471)), + ("gray2", (0.01960784, 0.01960784, 0.01960784)), + ("grey2", (0.01960784, 0.01960784, 0.01960784)), + ("gray3", (0.03137255, 0.03137255, 0.03137255)), + ("grey3", (0.03137255, 0.03137255, 0.03137255)), + ("gray4", (0.03921569, 0.03921569, 0.03921569)), + ("grey4", (0.03921569, 0.03921569, 0.03921569)), + ("gray5", (0.05098039, 0.05098039, 0.05098039)), + ("grey5", (0.05098039, 0.05098039, 0.05098039)), + ("gray6", (0.05882353, 0.05882353, 0.05882353)), + ("grey6", (0.05882353, 0.05882353, 0.05882353)), + ("gray7", (0.07058824, 0.07058824, 0.07058824)), + ("grey7", (0.07058824, 0.07058824, 0.07058824)), + ("gray8", (0.07843137, 0.07843137, 0.07843137)), + ("grey8", (0.07843137, 0.07843137, 0.07843137)), + ("gray9", (0.09019608, 0.09019608, 0.09019608)), + ("grey9", (0.09019608, 0.09019608, 0.09019608)), + ("gray10", (0.10196078, 0.10196078, 0.10196078)), + ("grey10", (0.10196078, 0.10196078, 0.10196078)), + ("gray11", (0.10980392, 0.10980392, 0.10980392)), + ("grey11", (0.10980392, 0.10980392, 0.10980392)), + ("gray12", (0.12156863, 0.12156863, 0.12156863)), + ("grey12", (0.12156863, 0.12156863, 0.12156863)), + ("gray13", (0.12941176, 0.12941176, 0.12941176)), + ("grey13", (0.12941176, 0.12941176, 0.12941176)), + ("gray14", (0.14117647, 0.14117647, 0.14117647)), + ("grey14", (0.14117647, 0.14117647, 0.14117647)), + ("gray15", (0.14901961, 0.14901961, 0.14901961)), + ("grey15", (0.14901961, 0.14901961, 0.14901961)), + ("gray16", (0.16078431, 0.16078431, 0.16078431)), + ("grey16", (0.16078431, 0.16078431, 0.16078431)), + ("gray17", (0.16862745, 0.16862745, 0.16862745)), + ("grey17", (0.16862745, 0.16862745, 0.16862745)), + ("gray18", (0.18039216, 0.18039216, 0.18039216)), + ("grey18", (0.18039216, 0.18039216, 0.18039216)), + ("gray19", (0.18823529, 0.18823529, 0.18823529)), + ("grey19", (0.18823529, 0.18823529, 0.18823529)), + ("gray20", (0.20000000, 0.20000000, 0.20000000)), + ("grey20", (0.20000000, 0.20000000, 0.20000000)), + ("gray21", (0.21176471, 0.21176471, 0.21176471)), + ("grey21", (0.21176471, 0.21176471, 0.21176471)), + ("gray22", (0.21960784, 0.21960784, 0.21960784)), + ("grey22", (0.21960784, 0.21960784, 0.21960784)), + ("gray23", (0.23137255, 0.23137255, 0.23137255)), + ("grey23", (0.23137255, 0.23137255, 0.23137255)), + ("gray24", (0.23921569, 0.23921569, 0.23921569)), + ("grey24", (0.23921569, 0.23921569, 0.23921569)), + ("gray25", (0.25098039, 0.25098039, 0.25098039)), + ("grey25", (0.25098039, 0.25098039, 0.25098039)), + ("gray26", (0.25882353, 0.25882353, 0.25882353)), + ("grey26", (0.25882353, 0.25882353, 0.25882353)), + ("gray27", (0.27058824, 0.27058824, 0.27058824)), + ("grey27", (0.27058824, 0.27058824, 0.27058824)), + ("gray28", (0.27843137, 0.27843137, 0.27843137)), + ("grey28", (0.27843137, 0.27843137, 0.27843137)), + ("gray29", (0.29019608, 0.29019608, 0.29019608)), + ("grey29", (0.29019608, 0.29019608, 0.29019608)), + ("gray30", (0.30196078, 0.30196078, 0.30196078)), + ("grey30", (0.30196078, 0.30196078, 0.30196078)), + ("gray31", (0.30980392, 0.30980392, 0.30980392)), + ("grey31", (0.30980392, 0.30980392, 0.30980392)), + ("gray32", (0.32156863, 0.32156863, 0.32156863)), + ("grey32", (0.32156863, 0.32156863, 0.32156863)), + ("gray33", (0.32941176, 0.32941176, 0.32941176)), + ("grey33", (0.32941176, 0.32941176, 0.32941176)), + ("gray34", (0.34117647, 0.34117647, 0.34117647)), + ("grey34", (0.34117647, 0.34117647, 0.34117647)), + ("gray35", (0.34901961, 0.34901961, 0.34901961)), + ("grey35", (0.34901961, 0.34901961, 0.34901961)), + ("gray36", (0.36078431, 0.36078431, 0.36078431)), + ("grey36", (0.36078431, 0.36078431, 0.36078431)), + ("gray37", (0.36862745, 0.36862745, 0.36862745)), + ("grey37", (0.36862745, 0.36862745, 0.36862745)), + ("gray38", (0.38039216, 0.38039216, 0.38039216)), + ("grey38", (0.38039216, 0.38039216, 0.38039216)), + ("gray39", (0.38823529, 0.38823529, 0.38823529)), + ("grey39", (0.38823529, 0.38823529, 0.38823529)), + ("gray40", (0.40000000, 0.40000000, 0.40000000)), + ("grey40", (0.40000000, 0.40000000, 0.40000000)), + ("gray41", (0.41176471, 0.41176471, 0.41176471)), + ("grey41", (0.41176471, 0.41176471, 0.41176471)), + ("gray42", (0.41960784, 0.41960784, 0.41960784)), + ("grey42", (0.41960784, 0.41960784, 0.41960784)), + ("gray43", (0.43137255, 0.43137255, 0.43137255)), + ("grey43", (0.43137255, 0.43137255, 0.43137255)), + ("gray44", (0.43921569, 0.43921569, 0.43921569)), + ("grey44", (0.43921569, 0.43921569, 0.43921569)), + ("gray45", (0.45098039, 0.45098039, 0.45098039)), + ("grey45", (0.45098039, 0.45098039, 0.45098039)), + ("gray46", (0.45882353, 0.45882353, 0.45882353)), + ("grey46", (0.45882353, 0.45882353, 0.45882353)), + ("gray47", (0.47058824, 0.47058824, 0.47058824)), + ("grey47", (0.47058824, 0.47058824, 0.47058824)), + ("gray48", (0.47843137, 0.47843137, 0.47843137)), + ("grey48", (0.47843137, 0.47843137, 0.47843137)), + ("gray49", (0.49019608, 0.49019608, 0.49019608)), + ("grey49", (0.49019608, 0.49019608, 0.49019608)), + ("gray50", (0.49803922, 0.49803922, 0.49803922)), + ("grey50", (0.49803922, 0.49803922, 0.49803922)), + ("gray51", (0.50980392, 0.50980392, 0.50980392)), + ("grey51", (0.50980392, 0.50980392, 0.50980392)), + ("gray52", (0.52156863, 0.52156863, 0.52156863)), + ("grey52", (0.52156863, 0.52156863, 0.52156863)), + ("gray53", (0.52941176, 0.52941176, 0.52941176)), + ("grey53", (0.52941176, 0.52941176, 0.52941176)), + ("gray54", (0.54117647, 0.54117647, 0.54117647)), + ("grey54", (0.54117647, 0.54117647, 0.54117647)), + ("gray55", (0.54901961, 0.54901961, 0.54901961)), + ("grey55", (0.54901961, 0.54901961, 0.54901961)), + ("gray56", (0.56078431, 0.56078431, 0.56078431)), + ("grey56", (0.56078431, 0.56078431, 0.56078431)), + ("gray57", (0.56862745, 0.56862745, 0.56862745)), + ("grey57", (0.56862745, 0.56862745, 0.56862745)), + ("gray58", (0.58039216, 0.58039216, 0.58039216)), + ("grey58", (0.58039216, 0.58039216, 0.58039216)), + ("gray59", (0.58823529, 0.58823529, 0.58823529)), + ("grey59", (0.58823529, 0.58823529, 0.58823529)), + ("gray60", (0.60000000, 0.60000000, 0.60000000)), + ("grey60", (0.60000000, 0.60000000, 0.60000000)), + ("gray61", (0.61176471, 0.61176471, 0.61176471)), + ("grey61", (0.61176471, 0.61176471, 0.61176471)), + ("gray62", (0.61960784, 0.61960784, 0.61960784)), + ("grey62", (0.61960784, 0.61960784, 0.61960784)), + ("gray63", (0.63137255, 0.63137255, 0.63137255)), + ("grey63", (0.63137255, 0.63137255, 0.63137255)), + ("gray64", (0.63921569, 0.63921569, 0.63921569)), + ("grey64", (0.63921569, 0.63921569, 0.63921569)), + ("gray65", (0.65098039, 0.65098039, 0.65098039)), + ("grey65", (0.65098039, 0.65098039, 0.65098039)), + ("gray66", (0.65882353, 0.65882353, 0.65882353)), + ("grey66", (0.65882353, 0.65882353, 0.65882353)), + ("gray67", (0.67058824, 0.67058824, 0.67058824)), + ("grey67", (0.67058824, 0.67058824, 0.67058824)), + ("gray68", (0.67843137, 0.67843137, 0.67843137)), + ("grey68", (0.67843137, 0.67843137, 0.67843137)), + ("gray69", (0.69019608, 0.69019608, 0.69019608)), + ("grey69", (0.69019608, 0.69019608, 0.69019608)), + ("gray70", (0.70196078, 0.70196078, 0.70196078)), + ("grey70", (0.70196078, 0.70196078, 0.70196078)), + ("gray71", (0.70980392, 0.70980392, 0.70980392)), + ("grey71", (0.70980392, 0.70980392, 0.70980392)), + ("gray72", (0.72156863, 0.72156863, 0.72156863)), + ("grey72", (0.72156863, 0.72156863, 0.72156863)), + ("gray73", (0.72941176, 0.72941176, 0.72941176)), + ("grey73", (0.72941176, 0.72941176, 0.72941176)), + ("gray74", (0.74117647, 0.74117647, 0.74117647)), + ("grey74", (0.74117647, 0.74117647, 0.74117647)), + ("gray75", (0.74901961, 0.74901961, 0.74901961)), + ("grey75", (0.74901961, 0.74901961, 0.74901961)), + ("gray76", (0.76078431, 0.76078431, 0.76078431)), + ("grey76", (0.76078431, 0.76078431, 0.76078431)), + ("gray77", (0.76862745, 0.76862745, 0.76862745)), + ("grey77", (0.76862745, 0.76862745, 0.76862745)), + ("gray78", (0.78039216, 0.78039216, 0.78039216)), + ("grey78", (0.78039216, 0.78039216, 0.78039216)), + ("gray79", (0.78823529, 0.78823529, 0.78823529)), + ("grey79", (0.78823529, 0.78823529, 0.78823529)), + ("gray80", (0.80000000, 0.80000000, 0.80000000)), + ("grey80", (0.80000000, 0.80000000, 0.80000000)), + ("gray81", (0.81176471, 0.81176471, 0.81176471)), + ("grey81", (0.81176471, 0.81176471, 0.81176471)), + ("gray82", (0.81960784, 0.81960784, 0.81960784)), + ("grey82", (0.81960784, 0.81960784, 0.81960784)), + ("gray83", (0.83137255, 0.83137255, 0.83137255)), + ("grey83", (0.83137255, 0.83137255, 0.83137255)), + ("gray84", (0.83921569, 0.83921569, 0.83921569)), + ("grey84", (0.83921569, 0.83921569, 0.83921569)), + ("gray85", (0.85098039, 0.85098039, 0.85098039)), + ("grey85", (0.85098039, 0.85098039, 0.85098039)), + ("gray86", (0.85882353, 0.85882353, 0.85882353)), + ("grey86", (0.85882353, 0.85882353, 0.85882353)), + ("gray87", (0.87058824, 0.87058824, 0.87058824)), + ("grey87", (0.87058824, 0.87058824, 0.87058824)), + ("gray88", (0.87843137, 0.87843137, 0.87843137)), + ("grey88", (0.87843137, 0.87843137, 0.87843137)), + ("gray89", (0.89019608, 0.89019608, 0.89019608)), + ("grey89", (0.89019608, 0.89019608, 0.89019608)), + ("gray90", (0.89803922, 0.89803922, 0.89803922)), + ("grey90", (0.89803922, 0.89803922, 0.89803922)), + ("gray91", (0.90980392, 0.90980392, 0.90980392)), + ("grey91", (0.90980392, 0.90980392, 0.90980392)), + ("gray92", (0.92156863, 0.92156863, 0.92156863)), + ("grey92", (0.92156863, 0.92156863, 0.92156863)), + ("gray93", (0.92941176, 0.92941176, 0.92941176)), + ("grey93", (0.92941176, 0.92941176, 0.92941176)), + ("gray94", (0.94117647, 0.94117647, 0.94117647)), + ("grey94", (0.94117647, 0.94117647, 0.94117647)), + ("gray95", (0.94901961, 0.94901961, 0.94901961)), + ("grey95", (0.94901961, 0.94901961, 0.94901961)), + ("gray96", (0.96078431, 0.96078431, 0.96078431)), + ("grey96", (0.96078431, 0.96078431, 0.96078431)), + ("gray97", (0.96862745, 0.96862745, 0.96862745)), + ("grey97", (0.96862745, 0.96862745, 0.96862745)), + ("gray98", (0.98039216, 0.98039216, 0.98039216)), + ("grey98", (0.98039216, 0.98039216, 0.98039216)), + ("gray99", (0.98823529, 0.98823529, 0.98823529)), + ("grey99", (0.98823529, 0.98823529, 0.98823529)), + ("gray100", (1.00000000, 1.00000000, 1.00000000)), + ("grey100", (1.00000000, 1.00000000, 1.00000000)), + ("DarkGrey", (0.66274510, 0.66274510, 0.66274510)), + ("DarkGray", (0.66274510, 0.66274510, 0.66274510)), + ("DarkBlue", (0.00000000, 0.00000000, 0.54509804)), + ("DarkCyan", (0.00000000, 0.54509804, 0.54509804)), + ("DarkMagenta", (0.54509804, 0.00000000, 0.54509804)), + ("DarkRed", (0.54509804, 0.00000000, 0.00000000)), + ("LightGreen", (0.56470588, 0.93333333, 0.56470588)), ) diff -Nru frescobaldi-1.0.2/python/ly/dom.py frescobaldi-1.1.1/python/ly/dom.py --- frescobaldi-1.0.2/python/ly/dom.py 2010-01-10 06:09:33.000000000 +0000 +++ frescobaldi-1.1.1/python/ly/dom.py 2010-01-30 22:03:27.000000000 +0000 @@ -17,6 +17,8 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + r""" LilyPond DOM @@ -35,7 +37,7 @@ """ import re, weakref -from rational import Rational +from fractions import Fraction import ly.pitch, ly.duration @@ -315,13 +317,13 @@ def quoteString(self, text): if self.typographicalQuotes: - text = re.sub(r'"(.*?)"', u'\u201C\\1\u201D', text) - text = re.sub(r"'(.*?)'", u'\u2018\\1\u2019', text) - text = text.replace("'", u'\u2018') + text = re.sub(r'"(.*?)"', '\u201C\\1\u201D', text) + text = re.sub(r"'(.*?)'", '\u2018\\1\u2019', text) + text = text.replace("'", '\u2018') # escape regular double quotes text = text.replace('"', '\\"') # quote the string - return '"%s"' % text + return '"{0}"'.format(text) def indentGen(self, node, startIndent = 0): """ @@ -366,7 +368,7 @@ name = "" def ly(self, printer): - return "\\%s %s" % (unicode(self.name), super(Named, self).ly(printer)) + return "\\{0} {1}".format(unicode(self.name), super(Named, self).ly(printer)) class HandleVars(object): @@ -583,10 +585,8 @@ def ly(self, printer): text = self.text.replace('%}', '') - if '\n' in text: - return "%%{\n%s\n%%}" % text - else: - return "%%{ %s %%}" % text + f = "%{{\n{0}\n%}}" if '\n' in text else "%{{ {0} %}}" + return f.format(text) class QuotedString(Text): @@ -611,19 +611,19 @@ isAtom = True def ly(self, printer): - return '#%s' % self.text + return '#' + self.text class Version(Line): """ a LilyPond version instruction """ def ly(self, printer): - return r'\version "%s"' % self.text + return r'\version "{0}"'.format(self.text) class Include(Line): """ a LilyPond \\include statement """ def ly(self, printer): - return r'\include "%s"' % self.text + return r'\include "{0}"'.format(self.text) class Assignment(Container): @@ -652,7 +652,7 @@ return self[0] def ly(self, printer): - return "%s = %s" % ( + return "{0} = {1}".format( unicode(self.name), super(Assignment, self).ly(printer)) @@ -671,7 +671,7 @@ self.name = name def ly(self, printer): - return "\\%s" % unicode(self.name) + return "\\" + unicode(self.name) class Statement(Named, Container): @@ -733,6 +733,19 @@ class Simr(Sim): may_remove_brackets = True +class SchemeLily(Enclosed): + """ A LilyPond expression between #{ #} (inside scheme) """ + pre, post = "#{", "#}" + + +class SchemeList(Enclosed): + """ A list of items enclosed in parentheses """ + pre, post = "(", ")" + + def ly(self, printer): + return self.pre + super(Enclosed, self).ly(printer) + self.post + + class StatementEnclosed(Named, Enclosed): """ Base class for LilyPond commands that have a single bracket-enclosed @@ -786,7 +799,7 @@ Used to print a context name, like \\Score. """ def ly(self, printer): - return "\\%s" % self.text + return "\\" + self.text class Context(HandleVars, Section): @@ -846,6 +859,7 @@ class Devnull(ContextType): pass class DrumStaff(ContextType): pass class DrumVoice(ContextType): pass +class Dynamics(ContextType): pass class FiguredBass(ContextType): pass class FretBoards(ContextType): pass class Global(ContextType): pass @@ -903,10 +917,10 @@ # In \lyrics or \lyricmode: put spaces around dot. p = self.findParent(InputMode) if p and isinstance(p, LyricMode): - f = '%s . %s' + f = '{0} . {1}' else: - f = '%s.%s' - return f % (self.context, self.prop) + f = '{0}.{1}' + return f.format(self.context, self.prop) else: return self.prop @@ -945,7 +959,7 @@ self.cid = cid def ly(self, printer): - res = ["\\%s" % self.name] + res = ["\\" + self.name] res.append(printer.quoteString(unicode(self.cid))) res.append(super(Named, self).ly(printer)) return " ".join(res) @@ -957,14 +971,14 @@ octave is specified by an integer, zero for the octave containing middle C. note is a number from 0 to 6, with 0 corresponding to pitch C and 6 corresponding to pitch B. - alter is the number of whole tones for alteration (can be int or Rational) + alter is the number of whole tones for alteration (can be int or Fraction) """ def __init__(self, octave=0, note=0, alter=0, parent=None): super(Pitch, self).__init__(parent) self.octave = octave self.note = note - self.alter = Rational(alter) + self.alter = Fraction(alter) def ly(self, printer): """ @@ -983,18 +997,18 @@ A duration with duration (in logarithmical form): (-2 ... 8), where -2 = \\longa, -1 = \\breve, 0 = 1, 1 = 2, 2 = 4, 3 = 8, 4 = 16, etc, dots (number of dots), - factor (Rational giving the scaling of the duration). + factor (Fraction giving the scaling of the duration). """ def __init__(self, dur, dots=0, factor=1, parent=None): super(Duration, self).__init__(parent) self.dur = dur # log self.dots = dots - self.factor = Rational(factor) + self.factor = Fraction(factor) def ly(self, printer): s = ly.duration.durations[self.dur + 3] + '.' * self.dots if self.factor != 1: - s += '*%s' % str(self.factor) + s += '*' + str(self.factor) return s @@ -1008,7 +1022,7 @@ if len(pitches) == 1: s = pitches[0].ly(printer) else: - s = "<%s>" % ' '.join(p.ly(printer) for p in pitches) + s = "<{0}>".format(' '.join(p.ly(printer) for p in pitches)) duration = self.findChild(Duration, 1) if duration: s += duration.ly(printer) @@ -1044,12 +1058,12 @@ def __init__(self, note=0, alter=0, mode="major", parent=None): super(KeySignature, self).__init__(parent) self.note = note - self.alter = Rational(alter) + self.alter = Fraction(alter) self.mode = mode def ly(self, printer): pitch = ly.pitch.pitchWriter[printer.language](self.note, self.alter) - return "\\key %s \\%s" % (pitch, self.mode) + return "\\key {0} \\{1}".format(pitch, self.mode) class TimeSignature(Leaf): @@ -1062,7 +1076,7 @@ self.beat = beat def ly(self, printer): - return "\\time %i/%i" % (self.num, self.beat) + return "\\time {0}/{1}".format(self.num, self.beat) class Partial(Named, Duration): @@ -1084,7 +1098,7 @@ self.value = value def ly(self, printer): - return "\\tempo %s=%s" % (self.duration, self.value) + return "\\tempo {0}={1}".format(self.duration, self.value) class Clef(Leaf): @@ -1096,8 +1110,8 @@ self.clef = clef def ly(self, printer): - f = self.clef.isalpha() and '%s' or '"%s"' - return "\\clef %s" % f % self.clef + clef = self.clef if self.clef.isalpha() else '"{0}"'.format(self.clef) + return "\\clef " + clef class VoiceSeparator(Leaf): diff -Nru frescobaldi-1.0.2/python/ly/duration.py frescobaldi-1.1.1/python/ly/duration.py --- frescobaldi-1.0.2/python/ly/duration.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/ly/duration.py 2009-12-30 20:32:29.000000000 +0000 @@ -17,6 +17,8 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ LilyPond information and logic concerning durations """ import ly.rx @@ -111,10 +113,10 @@ for i in durs: yield i != old and i or '' old = i - nextdur = durgen().next + durations = durgen() def repl(m): if m.group('chord'): - return m.group('chord') + nextdur() + return m.group('chord') + next(durations) return m.group() return ly.rx.chord_rest.sub(repl, text) diff -Nru frescobaldi-1.0.2/python/ly/font.py frescobaldi-1.1.1/python/ly/font.py --- frescobaldi-1.0.2/python/ly/font.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/ly/font.py 2009-12-30 20:32:29.000000000 +0000 @@ -17,11 +17,13 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ Routines dealing with LilyPond fonts """ import os, ly, xml.dom.minidom -class SvgFont(object): +class SvgFontInfo(object): """ Can load a SVG font and provide information about the glyphs and their unicode values. @@ -37,16 +39,8 @@ doc.unlink() def glyph(self, glyphName): - return self.name2unicode.get(glyphName, u'') + return self.name2unicode.get(glyphName, '') def glyphs(self): return self.name2unicode.keys() -@ly.lazy -def emmentaler20(datadir): - """ - Return the emmentaler-20 font, loaded and cached - """ - font = os.path.join(datadir, "fonts", "svg", "emmentaler-20.svg") - return os.path.exists(font) and SvgFont(font) or None - diff -Nru frescobaldi-1.0.2/python/ly/indent.py frescobaldi-1.1.1/python/ly/indent.py --- frescobaldi-1.0.2/python/ly/indent.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/ly/indent.py 2009-12-30 20:32:29.000000000 +0000 @@ -17,6 +17,8 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ Indent LilyPond input. @@ -240,7 +242,7 @@ options, args = op.parse_args() # TODO: encoding # TODO: error handling - infile = args and file(args[0]) or sys.stdin + infile = args and open(args[0]) or sys.stdin text = infile.read() text = indent(text, start=options.start_indent, diff -Nru frescobaldi-1.0.2/python/ly/__init__.py frescobaldi-1.1.1/python/ly/__init__.py --- frescobaldi-1.0.2/python/ly/__init__.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/ly/__init__.py 2009-12-30 20:32:29.000000000 +0000 @@ -17,6 +17,8 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ Basic LilyPond information and utility functions """ @@ -36,21 +38,6 @@ pass - - -def lazy(func): - """ - A decorator that only performs the function call the first time, - caches the return value, and returns that next time. - The argments tuple should be hashable. - """ - cache = {} - def loader(*args): - if args not in cache: - cache[args] = func(*args) - return cache[args] - return loader - _nums = ( 'Zero', 'One', 'Two', 'Three', 'Four', 'Five', 'Six', 'Seven', 'Eight', 'Nine', 'Ten', 'Eleven', 'Twelve', 'Thirteen', 'Fourteen', 'Fifteen', diff -Nru frescobaldi-1.0.2/python/ly/key.py frescobaldi-1.1.1/python/ly/key.py --- frescobaldi-1.0.2/python/ly/key.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/ly/key.py 2009-12-30 20:32:29.000000000 +0000 @@ -17,6 +17,8 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ Code dealing with Key signatures """ diff -Nru frescobaldi-1.0.2/python/ly/parse.py frescobaldi-1.1.1/python/ly/parse.py --- frescobaldi-1.0.2/python/ly/parse.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/ly/parse.py 2009-12-30 20:32:29.000000000 +0000 @@ -17,6 +17,8 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ General functions that parse LilyPond document text. """ @@ -35,7 +37,8 @@ files.add(lyfile) directory = os.path.dirname(lyfile) # read the file and delete the comments. - text = ly.rx.all_comments.sub('', file(lyfile).read()) + with open(lyfile) as f: + text = ly.rx.all_comments.sub('', f.read().decode('utf-8', 'ignore')) for f in ly.rx.include_file.findall(text): # old include (relative to master file) find(os.path.join(basedir, f)) diff -Nru frescobaldi-1.0.2/python/ly/pitch.py frescobaldi-1.1.1/python/ly/pitch.py --- frescobaldi-1.0.2/python/ly/pitch.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/ly/pitch.py 2009-12-30 20:32:29.000000000 +0000 @@ -17,8 +17,10 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + import re -from rational import Rational +from fractions import Fraction import ly @@ -105,7 +107,7 @@ The scale is a list with the pitch height of the unaltered step (0 .. 6). The default scale is the normal scale: C, D, E, F, G, A, B. """ - scale = (0, 1, 2, Rational(5, 2), Rational(7, 2), Rational(9, 2), Rational(11, 2)) + scale = (0, 1, 2, Fraction(5, 2), Fraction(7, 2), Fraction(9, 2), Fraction(11, 2)) def __init__(self, fromPitch, toPitch, scale = None): if scale is not None: @@ -158,10 +160,8 @@ self.names = list(names) self.accs = list(accs) self.replacements = replacements - - rx = "(%s)" % "|".join(names) - rx += "(%s)?$" % "|".join(acc for acc in accs if acc) - self.rx = re.compile(rx) + self.rx = re.compile("({0})({1})?$".format("|".join(names), + "|".join(acc for acc in accs if acc))) def __call__(self, text): for s, r in self.replacements: @@ -172,7 +172,7 @@ if m: note = self.names.index(m.group(1)) if m.group(2): - alter = Rational(self.accs.index(m.group(2)) - 4, 4) + alter = Fraction(self.accs.index(m.group(2)) - 4, 4) else: alter = 0 return note, alter diff -Nru frescobaldi-1.0.2/python/ly/rx.py frescobaldi-1.1.1/python/ly/rx.py --- frescobaldi-1.0.2/python/ly/rx.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/ly/rx.py 2009-12-30 20:32:29.000000000 +0000 @@ -17,6 +17,8 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ All kinds or regular expressions dealing with the LilyPond format """ import re diff -Nru frescobaldi-1.0.2/python/ly/tokenize.py frescobaldi-1.1.1/python/ly/tokenize.py --- frescobaldi-1.0.2/python/ly/tokenize.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/ly/tokenize.py 2009-12-30 20:32:29.000000000 +0000 @@ -17,6 +17,8 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ This module defines a Tokenizer class to parse and tokenize LilyPond text. @@ -89,7 +91,7 @@ types. Reads the rx class attribute of the given classes. """ return re.compile( - "|".join("(?P<%s>%s)" % (cls.__name__, cls.rx) for cls in classes), + "|".join("(?P<{0}>{1})".format(cls.__name__, cls.rx) for cls in classes), re.DOTALL) @@ -375,7 +377,7 @@ pass class IncludeLanguageFile(IncludeFile): - rx = r'"(%s)\.ly"' % '|'.join(ly.pitch.pitchInfo.keys()) + rx = r'"({0})\.ly"'.format('|'.join(ly.pitch.pitchInfo.keys())) def __init__(self, matchObj, tokenizer): tokenizer.language = self[1:-4] tokenizer.endArgument() @@ -722,11 +724,11 @@ self.anchorLine = self.line self.anchorColumn = self.column + len(text) - def startEditing(self): + def __enter__(self): """ Called before edits are made. """ pass - def endEditing(self): + def __exit__(self, *args): """ Called after edits have been done. """ pass @@ -806,21 +808,20 @@ def applyToCursor(self, cursor): index = 0 - cursor.startEditing() - for pos, end, text in self.changes(): - if pos > index: - cursor.walk(self._text[index:pos]) - if end > pos: - cursor.anchor(self._text[pos:end]) - if text: - cursor.replaceText(text) - cursor.walk(text) + with cursor: + for pos, end, text in self.changes(): + if pos > index: + cursor.walk(self._text[index:pos]) + if end > pos: + cursor.anchor(self._text[pos:end]) + if text: + cursor.replaceText(text) + cursor.walk(text) + else: + cursor.removeText() else: - cursor.removeText() - else: - cursor.insertText(text) - cursor.walk(text) - index = end - cursor.endEditing() + cursor.insertText(text) + cursor.walk(text) + index = end diff -Nru frescobaldi-1.0.2/python/ly/tools.py frescobaldi-1.1.1/python/ly/tools.py --- frescobaldi-1.0.2/python/ly/tools.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/ly/tools.py 2009-12-30 20:32:29.000000000 +0000 @@ -17,6 +17,8 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ All kinds of tools needed to manipulate strings with LilyPond input. """ @@ -63,10 +65,8 @@ token. The octave is set using lastPitch. """ pitch.absolute(lastPitch) - changes.replaceToken(token, '%s%s%s' % ( - token.step, - ly.pitch.octaveToString(pitch.octave), - token.cautionary)) + changes.replaceToken(token, + token.step + ly.pitch.octaveToString(pitch.octave) + token.cautionary) class gen(object): """ @@ -78,15 +78,15 @@ return self def next(self): - token = tokens.next() + token = next(tokens) while isinstance(token, (tokenizer.Space, tokenizer.Comment)): - token = tokens.next() + token = next(tokens) if token == "\\relative": relative(token.pos) - token = tokens.next() + token = next(tokens) elif isinstance(token, tokenizer.MarkupScore): absolute() - token = tokens.next() + token = next(tokens) return token source = gen() @@ -111,10 +111,10 @@ """ # find the pitch after the \relative command lastPitch = None - token = source.next() + token = next(source) if isinstance(token, tokenizer.Pitch): lastPitch = Pitch.fromToken(token, tokenizer) - token = source.next() + token = next(source) if not lastPitch: lastPitch = Pitch.c1() @@ -124,13 +124,13 @@ # eat stuff like \new Staff == "bla" \new Voice \notes etc. while True: if token in ('\\new', '\\context'): - source.next() # skip context type - token = source.next() + next(source) # skip context type + token = next(source) if token == '=': - source.next() # skip context name - token = source.next() + next(source) # skip context name + token = next(source) elif isinstance(token, (tokenizer.ChordMode, tokenizer.NoteMode)): - token = source.next() + token = next(source) else: break @@ -140,13 +140,13 @@ for token in consume(): # skip commands with pitches that do not count if token in ('\\key', '\\transposition'): - source.next() + next(source) elif token == '\\transpose': - source.next() - source.next() + next(source) + next(source) elif token == '\\octaveCheck': start = token.pos - token = source.next() + token = next(source) if isinstance(token, tokenizer.Pitch): p = Pitch.fromToken(token, tokenizer) if p: @@ -212,10 +212,8 @@ Writes a new pitch with all parts except the octave taken from the token. """ - changes.replaceToken(token, '%s%s%s' % ( - token.step, - ly.pitch.octaveToString(pitch.octave), - token.cautionary)) + changes.replaceToken(token, + token.step + ly.pitch.octaveToString(pitch.octave) + token.cautionary) class gen(object): """ @@ -227,17 +225,17 @@ return self def next(self): - token = tokens.next() + token = next(tokens) while isinstance(token, (tokenizer.Space, tokenizer.Comment)): - token = tokens.next() + token = next(tokens) if token == "\\relative": relative() - token = tokens.next() + token = next(tokens) elif isinstance(token, tokenizer.ChordMode): absolute() # do not change chords elif isinstance(token, tokenizer.MarkupScore): absolute() - token = tokens.next() + token = next(tokens) return token source = gen() @@ -258,15 +256,15 @@ def relative(): """ Consume the whole \relative expression without doing anything. """ # skip pitch argument - token = source.next() + token = next(source) if isinstance(token, tokenizer.Pitch): - token = source.next() + token = next(source) if isinstance(token, tokenizer.OpenDelimiter): for token in consume(): pass elif isinstance(token, tokenizer.OpenChord): while not isinstance(token, tokenizer.CloseChord): - token = source.next() + token = next(source) # Do it! startToken = None @@ -280,10 +278,10 @@ for token in consume(): # skip commands with pitches that do not count if token in ('\\key', '\\transposition'): - source.next() + next(source) elif token == '\\transpose': - source.next() - source.next() + next(source) + next(source) elif isinstance(token, tokenizer.OpenChord): # Handle chord chord = [] @@ -301,14 +299,14 @@ if p.note > 3: lastPitch.octave += 1 changes.insert(startToken.pos, - "\\relative %s " % - lastPitch.output(tokenizer.language)) + "\\relative {0} ".format( + lastPitch.output(tokenizer.language))) newPitch(token, p.relative(lastPitch)) lastPitch = p # remember the first pitch of a chord chord == [] and chord.append(p) except StopIteration: - pass # because of the source.next() statements + pass # because of the next(source) statements if startToken is None: # no single expression converted? raise ly.NoMusicExpressionFound return changes @@ -362,7 +360,7 @@ def next(self): while True: - token = tokens.next() + token = next(tokens) if isinstance(token, (tokenizer.Space, tokenizer.Comment)): continue elif not self.inSelection and token.pos >= start: @@ -375,16 +373,16 @@ elif isinstance(token, tokenizer.ChordMode): chordmode() elif token == "\\transposition": - source.next() # skip pitch + next(source) # skip pitch elif token == "\\transpose": if self.inSelection: - for token in source.next(), source.next(): + for token in next(source), next(source): if isinstance(token, tokenizer.Pitch): transpose(token) else: - source.next(), source.next() + next(source), next(source) elif token == "\\key": - token = source.next() + token = next(source) if self.inSelection and isinstance(token, tokenizer.Pitch): transpose(token, 0) else: @@ -452,25 +450,25 @@ relPitchToken = [] # we use a list so it can be changed from inside functions # find the pitch after the \relative command - token = source.next() + token = next(source) if isinstance(token, tokenizer.Pitch): lastPitch = Pitch.fromToken(token, tokenizer) if lastPitch and source.inSelection: relPitchToken.append(token) - token = source.next() + token = next(source) if not lastPitch: lastPitch = Pitch.c1() # eat stuff like \new Staff == "bla" \new Voice \notes etc. while True: if token in ('\\new', '\\context'): - source.next() # skip context type - token = source.next() + next(source) # skip context type + token = next(source) if token == '=': - source.next() # skip context name - token = source.next() + next(source) # skip context name + token = next(source) elif isinstance(token, tokenizer.NoteMode): - token = source.next() + token = next(source) else: break @@ -479,7 +477,7 @@ # Handle full music expression { ... } or << ... >> for token in consume(): if token == '\\octaveCheck': - token = source.next() + token = next(source) if isinstance(token, tokenizer.Pitch): p = Pitch.fromToken(token, tokenizer) if p: @@ -554,7 +552,7 @@ for token in tokens: if isinstance(token, tokenizer.IncludeLanguageFile): reader = ly.pitch.pitchReader[tokenizer.language] - changes.replaceToken(token, '"%s.ly"' % lang) + changes.replaceToken(token, '"{0}.ly"'.format(lang)) includeCommandChanged = True elif isinstance(token, tokenizer.PitchWord): result = reader(token) diff -Nru frescobaldi-1.0.2/python/ly/version.py frescobaldi-1.1.1/python/ly/version.py --- frescobaldi-1.0.2/python/ly/version.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/ly/version.py 2010-01-04 21:17:26.000000000 +0000 @@ -17,102 +17,216 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ LilyPond version information """ -import os, re +import os, re, weakref +from functools import wraps from subprocess import Popen, PIPE, STDOUT - -class LilyPondVersion(object): - def __init__(self, command = 'lilypond'): - self.versionTuple = () - self.versionString = "" - try: - output = Popen((command, '-v'), stdout=PIPE, stderr=STDOUT).communicate()[0].splitlines()[0] - match = re.search(r"(\d+)\.(\d+)(?:\.(\d+))?", output) - if match: - self.versionTuple = tuple(int(s or "0") for s in match.groups()) - self.versionString = "%d.%d.%d" % self.versionTuple - except OSError: - pass - - -class ConvertLyLastRuleVersion(object): - def __init__(self, command = 'convert-ly'): - self.versionTuple = () - self.versionString = "" - try: - output = Popen((command, '--show-rules'), stdout=PIPE).communicate()[0] - for line in reversed(output.splitlines()): - match = re.match(r"((\d+)\.(\d+)\.(\d+)):", line) - if match: - self.versionString = match.group(1) - self.versionTuple = tuple(int(s) for s in match.group(2, 3, 4)) - return - except OSError: - pass - - -def datadir(command = 'lilypond'): - """ Returns the data directory of the given lilypond binary """ - - # First ask LilyPond itself. - try: - datadir = Popen((command, '-e', - "(display (ly:get-option 'datadir)) (newline) (exit)"), - stdout=PIPE).communicate()[0].strip() - if os.path.isabs(datadir) and os.path.isdir(datadir): - return datadir - except OSError: - pass - # Then find out by manipulating path. - if not os.path.isabs(command): - command = findexe(command) - if not command: - return False - # LilyPond is found. Go up to prefix and then into share/lilypond - prefix = os.path.dirname(os.path.dirname(command)) - dirs = ['current'] - version = LilyPondVersion(command).versionString - if version: - dirs.append(version) - for suffix in dirs: - datadir = os.path.join(prefix, 'share', 'lilypond', suffix) - if os.path.isdir(datadir): - return datadir - return False - +import ly.rx def getVersion(text): """ Determine the version of a LilyPond document. - Always returns a three-tuple, truncating or padding with zero's + Returns a Version instance or None. """ - match = re.search(r'\\version\s*".*?"', text) + text = ly.rx.all_comments.sub('', text) + match = re.search(r'\\version\s*"(.*?)"', text) if match: - return tuple((map(int, re.findall('\\d+', match.group())) + [0, 0, 0])[:3]) - + return Version.fromString(match.group(1)) # Utility functions..... -def isexe(path): - """ - Return path if it is an executable file, otherwise False +def cacheresult(func): """ - return os.access(path, os.X_OK) and path + A decorator that performs the decorated method call only the first time, + caches the return value, and returns that next time. + The argments tuple should be hashable. + """ + cache = weakref.WeakKeyDictionary() + @wraps(func) + def wrapper(obj, *args): + h = hash(args) + try: + return cache[obj][h] + except KeyError: + result = cache.setdefault(obj, {})[h] = func(obj, *args) + return result + return wrapper + +class Version(tuple): + """ + Contains a version as a two- or three-tuple (major, minor [, patchlevel]). + + Can format itself as "major.minor" or "major.minor.patch" + Additionally, three attributes are defined: + - major : contains the major version number as an int + - minor : contains the minor version number as an int + - patch : contains the patch level as an int or None + """ + def __new__(cls, major, minor, patch=None): + if patch is None: + obj = tuple.__new__(cls, (major, minor)) + else: + obj = tuple.__new__(cls, (major, minor, patch)) + obj.major = major + obj.minor = minor + obj.patch = patch + return obj + + def __format__(self, formatString): + return str(self) + + def __str__(self): + return ".".join(map(str, self)) + + @classmethod + def fromString(cls, text): + match = re.search(r"(\d+)\.(\d+)(?:\.(\d+))?", text) + if match: + return cls(*map(lambda g: int(g) if g else None, match.groups())) -def findexe(filename): + +class LilyPondInstance(object): """ - Look up a filename in the system PATH, and return the full - path if it can be found. If the path is absolute, return it - unless it is not an executable file. + Contains information about a LilyPond instance, referred to by a command + string defaulting to 'lilypond'. """ - if os.path.isabs(os.path.expanduser(filename)): - return isexe(os.path.expanduser(filename)) - for p in os.environ.get("PATH", os.defpath).split(os.pathsep): - if isexe(os.path.join(p, filename)): - return os.path.join(p, filename) - return False + + # name of the convert-ly command + convert_ly_name = 'convert-ly' + + def __new__(cls, command='lilypond', cache=True): + """ + Return a cached instance if available and cache == True. + """ + if '_cache' not in cls.__dict__: + cls._cache = {} + elif cache and command in cls._cache: + return cls._cache[command] + obj = cls._cache[command] = object.__new__(cls) + obj._command = command + return obj + + @cacheresult + def command(self): + """ + Returns the command with full path prepended. + """ + cmd = self._command + if os.path.isabs(cmd): + return cmd + elif os.path.isabs(os.path.expanduser(cmd)): + return os.path.expanduser(cmd) + elif os.sep in cmd and os.access(cmd, os.X_OK): + return os.path.abspath(cmd) + else: + for p in os.environ.get("PATH", os.defpath).split(os.pathsep): + if os.access(os.path.join(p, cmd), os.X_OK): + return os.path.join(p, cmd) + + def bindir(self): + """ + Returns the directory the LilyPond command is in. + """ + cmd = self.command() + if cmd: + return os.path.dirname(cmd) + + def path_to(self, command): + """ + Returns the full path to the given command, by joining our bindir() with + the command. + """ + bindir = self.bindir() + if bindir: + return os.path.join(bindir, command) + + def convert_ly(self): + """ + DEPRECATED: Use path_to('convert-ly') instead. + Returns the full path of the convert-ly command that is in the + same directory as the corresponding lilypond command. + """ + return self.path_to(self.convert_ly_name) + + def prefix(self): + """ + Returns the prefix of a command. E.g. if command is "lilypond" + and resolves to "/usr/bin/lilypond", this method returns "/usr". + """ + cmd = self.command() + if cmd: + return os.path.dirname(os.path.dirname(cmd)) + + @cacheresult + def version(self): + """ + Returns the version returned by command -v as an instance of Version. + """ + try: + output = Popen((self._command, '-v'), stdout=PIPE, stderr=STDOUT).communicate()[0] + return Version.fromString(output) + except OSError: + pass + + @cacheresult + def datadir(self): + """ + Returns the datadir of this LilyPond instance. Most times something + like "/usr/share/lilypond/2.13.3/" + """ + # First ask LilyPond itself. + try: + d = Popen((self._command, '-e', + "(display (ly:get-option 'datadir)) (newline) (exit)"), + stdout=PIPE).communicate()[0].strip() + if os.path.isabs(d) and os.path.isdir(d): + return d + except OSError: + pass + # Then find out via the prefix. + version, prefix = self.version(), self.prefix() + if prefix: + dirs = ['current'] + if version: + dirs.append(str(version)) + for suffix in dirs: + d = os.path.join(prefix, 'share', 'lilypond', suffix) + if os.path.isdir(d): + return d + + @cacheresult + def lastConvertLyRuleVersion(self): + """ + Returns the version of the last convert-ly rule of this lilypond + instance. + """ + try: + output = Popen((self.convert_ly(), '--show-rules'), stdout=PIPE).communicate()[0] + for line in reversed(output.splitlines()): + match = re.match(r"(\d+)\.(\d+)\.(\d+):", line) + if match: + return Version(*map(int, match.groups())) + except OSError: + pass + + @cacheresult + def fontInfo(self, fontname): + """ + Returns a SvgFontInfo object containing information about + the named font (e.g. "emmentaler-20"). + """ + datadir = self.datadir() + if datadir: + font = os.path.join(datadir, "fonts", "svg", fontname + ".svg") + if os.path.exists(font): + import ly.font + return ly.font.SvgFontInfo(font) + + diff -Nru frescobaldi-1.0.2/python/ly/words.py frescobaldi-1.1.1/python/ly/words.py --- frescobaldi-1.0.2/python/ly/words.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/ly/words.py 2010-01-30 22:03:27.000000000 +0000 @@ -17,6 +17,8 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # See http://www.gnu.org/licenses/ for more information. +from __future__ import unicode_literals + """ LilyPond reserved words for auto completion, and some regexps """ @@ -204,6 +206,7 @@ 'glissando', 'grace', 'graceSettings', + 'halfopen', 'harmonic', 'hideNotes', 'hideStaffSwitch', @@ -359,6 +362,7 @@ 'slurSolid', 'slurUp', 'small', + 'snappizzicato', 'sostenutoOff', 'sostenutoOn', 'sp', @@ -562,6 +566,7 @@ 'underline', 'upright', 'vcenter', + 'vspace', 'verbatim-file', 'whiteout', 'wordwrap', @@ -630,6 +635,7 @@ 'Devnull', 'DrumStaff', 'DrumVoice', + 'Dynamics', 'FiguredBass', 'FretBoards', 'Global', @@ -723,7 +729,6 @@ 'Note_name_engraver', 'Note_performer', 'Note_spacing_engraver', - 'Note_swallow_translator', 'Ottava_spanner_engraver', 'Output_property_engraver', 'Page_turn_engraver', @@ -741,13 +746,12 @@ 'Repeat_tie_engraver', 'Rest_collision_engraver', 'Rest_engraver', - 'Rest_swallow_translator', 'Rhythmic_column_engraver', + 'Scheme_engraver', 'Script_column_engraver', 'Script_engraver', 'Script_row_engraver', 'Separating_line_group_engraver', - 'Skip_event_swallow_translator', 'Slash_repeat_engraver', 'Slur_engraver', 'Slur_performer', @@ -840,7 +844,7 @@ 'contrabass', 'tremolo strings', 'pizzicato strings', - 'orchestral strings', # should be: 'orchestral harp' (done in LP 2.13) + 'orchestral harp', # till LilyPond 2.12 was this erroneously called: 'orchestral strings' 'timpani', # (49-56 ensemble) 'string ensemble 1', @@ -1056,6 +1060,7 @@ 'SostenutoPedalLineSpanner', 'SpacingSpanner', 'SpanBar', + 'StaffGrouper', 'StaffSpacing', 'StaffSymbol', 'StanzaNumber', @@ -1107,6 +1112,7 @@ all_user_grob_properties = ( 'add-stem-support', + 'after-last-staff-spacing', 'after-line-breaking', 'align-dir', 'allow-loose-spacing', @@ -1123,21 +1129,21 @@ 'avoid-slur', 'axes', 'bar-size', - 'baseline-skip', 'base-shortest-duration', + 'baseline-skip', + 'beam-thickness', + 'beam-width', 'beamed-stem-shorten', 'beaming', 'beamlet-default-length', 'beamlet-max-length-proportion', - 'beam-thickness', - 'beam-width', 'before-line-breaking', 'between-cols', + 'between-staff-spacing', 'bound-details', 'bound-padding', 'bracket-flare', 'bracket-visibility', - 'breakable', 'break-align-anchor', 'break-align-anchor-alignment', 'break-align-orders', @@ -1145,6 +1151,8 @@ 'break-align-symbols', 'break-overshoot', 'break-visibility', + 'breakable', + 'c0-position', 'circled-tip', 'clip-edges', 'collapse-height', @@ -1154,9 +1162,12 @@ 'connect-to-neighbor', 'control-points', 'damping', + 'dash-definition', 'dash-fraction', 'dash-period', 'default-direction', + 'default-next-staff-spacing', + 'details', 'digit-names', 'direction', 'dot-count', @@ -1193,6 +1204,7 @@ 'gap', 'gap-count', 'glyph', + 'glyph-name', 'glyph-name-alist', 'grow-direction', 'hair-thickness', @@ -1200,12 +1212,15 @@ 'head-direction', 'height', 'height-limit', + 'hide-tied-accidental-after-break', 'horizontal-shift', 'horizontal-skylines', 'ignore-collision', 'implicit', 'inspect-index', 'inspect-quants', + 'inter-loose-line-spacing', + 'inter-staff-spacing', 'keep-fixed-while-stretching', 'keep-inside-line', 'kern', @@ -1240,11 +1255,13 @@ 'neutral-direction', 'neutral-position', 'next', + 'next-staff-spacing', 'no-alignment', 'no-ledgers', + 'no-stem-extend', + 'non-affinity-spacing', 'non-default', 'non-musical', - 'no-stem-extend', 'note-names', 'outside-staff-horizontal-padding', 'outside-staff-padding', @@ -1287,13 +1304,14 @@ 'spacing-increment', 'springs-and-rods', 'stacking-dir', + 'staff-affinity', 'staff-padding', 'staff-position', 'staff-space', 'stem-attachment', 'stem-end-position', - 'stemlet-length', 'stem-spacing-correction', + 'stemlet-length', 'stencil', 'stencils', 'strict-grace-spacing', @@ -1302,10 +1320,10 @@ 'style', 'text', 'text-direction', - 'thickness', 'thick-thickness', + 'thickness', 'thin-kern', - 'threshold', + 'threshold', #removed in 2.14 'tie-configuration', 'to-barline', 'toward-stem-shift', @@ -1314,6 +1332,7 @@ 'used', 'vertical-skylines', 'when', + 'whiteout', 'width', 'word-space', 'X-extent', @@ -1392,35 +1411,58 @@ papervars = ( - 'after-title-space', + # page + 'paper-height', + 'paper-width', + 'top-margin', + 'bottom-margin', + 'left-margin', + 'right-margin', + 'line-width', + + # vertical + 'after-title-space', # 2.12 + 'after-title-spacing', # 2.14 + 'before-title-space', # 2.12 + 'before-title-spacing', # 2.14 + 'between-system-padding', # 2.12 + 'between-system-space', # 2.12 + 'between-scores-system-spacing', # 2.14 + 'between-system-spacing', # 2.14 + 'between-title-space', # 2.12 + 'between-title-spacing', # 2.14 + 'bottom-system-spacing', # 2.14 + 'top-title-spacing', # 2.14 + 'top-system-spacing', # 2.14 + 'page-top-space', # 2.12 only + + # horizontal + 'binding-offset', # 2.14 + 'horizontal-shift', + 'indent', + 'short-indent', + 'two-sided', # 2.14 + 'inner-margin', # 2.14 + 'outer-margin', # 2.14 + + # debugging 'annotate-spacing', - 'before-title-space', - 'between-system-padding', - 'between-system-space', - 'between-title-space', - 'blank-after-score-page-force', + + # other + 'auto-first-page-number', 'blank-last-page-force', 'blank-page-force', - 'bottom-margin', + 'check-consistency', # 2.14 'first-page-number', - 'foot-separation', - 'force-assignment', - 'head-separation', - 'horizontal-shift', - 'indent', - 'input-encoding', - 'left-margin', - 'line-width', - #'max-systems-per-page', # (LP 2.13) - #'min-systems-per-page', # (LP 2.13) - 'output-scale', + 'foot-separation', # not in 2.14? + 'head-separation', # not in 2.14? + 'max-systems-per-page', # 2.14 + 'min-systems-per-page', # 2.14 'page-breaking-between-system-padding', 'page-count', 'page-limit-inter-system-space', 'page-limit-inter-system-space-factor', - 'page-top-space', - 'paper-height', - 'paper-width', + 'page-spacing-weight', # 2.14 'print-all-headers', 'print-first-page-number', 'print-page-number', @@ -1428,10 +1470,10 @@ 'ragged-last', 'ragged-last-bottom', 'ragged-right', - 'right-margin', 'system-separator-markup', - #'systems-per-page', #(LP 2.13) - 'top-margin', + 'system-count', + 'systems-per-page', # 2.14 + # different markups 'bookTitleMarkup', 'evenFooterMarkup', @@ -1441,6 +1483,12 @@ 'scoreTitleMarkup', 'tocItemMarkup', 'tocTitleMarkup', + + # undocumented? + #'blank-after-score-page-force', + #'force-assignment', + #'input-encoding', + #'output-scale', ) @@ -1452,157 +1500,165 @@ contextproperties = ( - 'aDueText', - 'alignAboveContext', - 'alignBassFigureAccidentals', - 'alignBelowContext', - 'allowBeamBreak', - 'associatedVoice', - 'autoAccidentals', - 'autoBeamCheck', - 'autoBeaming', - 'autoBeamSettings', - 'autoCautionaries', - 'automaticBars', - 'barAlways', - 'barCheckSynchronize', - 'barNumberVisibility', - 'bassFigureFormatFunction', - 'bassStaffProperties', - 'beatGrouping', - 'beatLength', - 'chordChanges', - 'chordNameExceptions', - 'chordNameExceptionsFull', - 'chordNameExceptionsPartial', - 'chordNameFunction', - 'chordNameSeparator', - 'chordNoteNamer', - 'chordPrefixSpacer', - 'chordRootNamer', - 'clefGlyph', - 'clefOctavation', - 'clefPosition', - 'connectArpeggios', - 'countPercentRepeats', - 'createKeyOnClefChange', - 'createSpacing', - 'crescendoSpanner', - 'crescendoText', - 'currentBarNumber', - 'decrescendoSpanner', - 'decrescendoText', - 'defaultBarType', - 'doubleRepeatType', - 'doubleSlurs', - 'drumPitchTable', - 'drumStyleTable', - 'dynamicAbsoluteVolumeFunction', - 'explicitClefVisibility', - 'explicitKeySignatureVisibility', - 'extendersOverRests', - 'extraNatural', - 'figuredBassAlterationDirection', - 'figuredBassCenterContinuations', - 'figuredBassFormatter', - 'figuredBassPlusDirection', - 'fingeringOrientations', - 'firstClef', - 'followVoice', - 'fontSize', - 'forbidBreak', - 'forceClef', - 'gridInterval', - 'hairpinToBarline', - 'harmonicAccidentals', - 'highStringOne', - 'ignoreBarChecks', - 'ignoreFiguredBassRest', - 'ignoreMelismata', - 'implicitBassFigures', - 'implicitTimeSignatureVisibility', - 'instrumentCueName', - 'instrumentEqualizer', - 'instrumentName', - 'instrumentTransposition', - 'internalBarNumber', - 'keepAliveInterfaces', - 'keyAlterationOrder', - 'keySignature', - 'lyricMelismaAlignment', - 'majorSevenSymbol', - 'markFormatter', - 'maximumFretStretch', - 'measureLength', - 'measurePosition', - 'melismaBusyProperties', - 'metronomeMarkFormatter', - 'middleCClefPosition', - 'middleCOffset', - 'middleCPosition', - 'midiInstrument', - 'midiMaximumVolume', - 'midiMinimumVolume', - 'minimumFret', - 'minimumPageTurnLength', - 'minimumRepeatLengthForPageTurn', - 'noteToFretFunction', - 'ottavation', - 'output', - 'pedalSostenutoStrings', - 'pedalSostenutoStyle', - 'pedalSustainStrings', - 'pedalSustainStyle', - 'pedalUnaCordaStrings', - 'pedalUnaCordaStyle', - 'printKeyCancellation', - 'printOctaveNames', - 'printPartCombineTexts', - 'proportionalNotationDuration', - 'recordEventSequence', - 'rehearsalMark', - 'repeatCommands', - 'restNumberThreshold', - 'scriptDefinitions', - 'shapeNoteStyles', - 'shortInstrumentName', - 'shortVocalName', - 'skipBars', - 'skipTypesetting', - 'soloIIText', - 'soloText', - 'squashedPosition', - 'staffLineLayoutFunction', - 'stanza', - 'stemLeftBeamCount', - 'stemRightBeamCount', - 'stringNumberOrientations', - 'stringOneTopmost', - 'stringTunings', - 'strokeFingerOrientations', - 'subdivideBeams', - 'suggestAccidentals', - 'systemStartDelimiter', - 'systemStartDelimiterHierarchy', - 'tablatureFormat', - 'tempoUnitCount', - 'tempoUnitDuration', - 'tempoWholesPerMinute', - 'tieWaitForNote', - 'timeSignatureFraction', - 'timing', - 'tonic', - 'trebleStaffProperties', - 'tremoloFlags', - 'tupletFullLength', - 'tupletFullLengthNote', - 'tupletSpannerDuration', - 'useBassFigureExtenders', - 'verticallySpacedContexts', - 'vocalName', - 'voltaOnThisStaff', - 'voltaSpannerDuration', - 'whichBar', + 'aDueText', + 'alignAboveContext', + 'alignBassFigureAccidentals', + 'alignBelowContext', + #'allowBeamBreak', #not in 2.12 and 2.14 + 'associatedVoice', + 'autoAccidentals', + 'autoBeamCheck', + 'autoBeaming', + #'autoBeamSettings', # moved to beamSettings in 2.14 + 'autoCautionaries', + 'automaticBars', + 'barAlways', + 'barCheckSynchronize', + 'barNumberVisibility', + 'bassFigureFormatFunction', + 'bassStaffProperties', + 'beamSettings', + 'beatGrouping', + 'beatLength', + 'chordChanges', + 'chordNameExceptions', + 'chordNameExceptionsFull', + 'chordNameExceptionsPartial', + 'chordNameFunction', + 'chordNameSeparator', + 'chordNoteNamer', + 'chordPrefixSpacer', + 'chordRootNamer', + 'clefGlyph', + 'clefOctavation', + 'clefPosition', + 'completionBusy', + 'connectArpeggios', + 'countPercentRepeats', + 'createKeyOnClefChange', + 'createSpacing', + 'crescendoSpanner', + 'crescendoText', + 'currentBarNumber', + 'decrescendoSpanner', + 'decrescendoText', + 'defaultBarType', + 'doubleRepeatType', + 'doubleSlurs', + 'drumPitchTable', + 'drumStyleTable', + #'dynamicAbsoluteVolumeFunction', # not in 2.12 and 2.14 + 'explicitClefVisibility', + 'explicitKeySignatureVisibility', + 'extendersOverRests', + 'extraNatural', + 'figuredBassAlterationDirection', + 'figuredBassCenterContinuations', + 'figuredBassFormatter', + 'figuredBassPlusDirection', + 'fingeringOrientations', + 'firstClef', + 'followVoice', + 'fontSize', + 'forbidBreak', + 'forceClef', + 'fretLabels', + 'gridInterval', + #'hairpinToBarline', # not in 2.12 and 2.14 + 'harmonicAccidentals', + 'harmonicDots', + 'highStringOne', + 'ignoreBarChecks', + 'ignoreFiguredBassRest', + 'ignoreMelismata', + 'implicitBassFigures', + 'implicitTimeSignatureVisibility', + 'instrumentCueName', + 'instrumentEqualizer', + 'instrumentName', + 'instrumentTransposition', + 'internalBarNumber', + 'keepAliveInterfaces', + 'keyAlterationOrder', + 'keySignature', + 'lyricMelismaAlignment', + 'majorSevenSymbol', + 'markFormatter', + 'maximumFretStretch', + 'measureLength', + 'measurePosition', + 'melismaBusyProperties', + 'metronomeMarkFormatter', + 'middleCClefPosition', + 'middleCOffset', + 'middleCPosition', + 'midiInstrument', + 'midiMaximumVolume', + 'midiMinimumVolume', + 'minimumFret', + 'minimumPageTurnLength', + 'minimumRepeatLengthForPageTurn', + 'noChordSymbol', # since 2.14 + 'noteToFretFunction', + 'ottavation', + 'output', + 'pedalSostenutoStrings', + 'pedalSostenutoStyle', + 'pedalSustainStrings', + 'pedalSustainStyle', + 'pedalUnaCordaStrings', + 'pedalUnaCordaStyle', + 'predefinedDiagramTable', + 'printKeyCancellation', + 'printOctaveNames', + 'printPartCombineTexts', + 'proportionalNotationDuration', + 'recordEventSequence', + 'rehearsalMark', + 'repeatCommands', + 'repeatCountVisibility', + 'restNumberThreshold', + 'shapeNoteStyles', + 'shortInstrumentName', + 'shortVocalName', + 'skipBars', + 'skipTypesetting', + 'soloIIText', + 'soloText', + 'squashedPosition', + 'staffLineLayoutFunction', + 'stanza', + 'stemLeftBeamCount', + 'stemRightBeamCount', + 'stringNumberOrientations', + 'stringOneTopmost', + 'stringTunings', + 'strokeFingerOrientations', + 'subdivideBeams', + 'suggestAccidentals', + 'systemStartDelimiter', + 'systemStartDelimiterHierarchy', + 'tablatureFormat', + 'tempoHideNote', + 'tempoText', + 'tempoUnitCount', + 'tempoUnitDuration', + 'tempoWholesPerMinute', + 'tieWaitForNote', + 'timeSignatureFraction', + 'timing', + 'tonic', + 'topLevelAlignment', # since 2.14 + 'trebleStaffProperties', + 'tremoloFlags', + 'tupletFullLength', + 'tupletFullLengthNote', + 'tupletSpannerDuration', + 'useBassFigureExtenders', + 'verticallySpacedContexts', + 'vocalName', + 'voltaSpannerDuration', + 'whichBar', ) @@ -1625,6 +1681,8 @@ 'piano-cautionary', 'neo-modern', 'neo-modern-cautionary', + 'neo-modern-voice', + 'neo-modern-voice-cautionary', 'dodecaphonic', 'teaching', 'no-reset', @@ -1668,6 +1726,21 @@ 'center-invisible', ) +mark_formatters = ( + 'format-mark-alphabet', + 'format-mark-barnumbers', + 'format-mark-letters', + 'format-mark-numbers', + 'format-mark-box-alphabet', + 'format-mark-box-barnumbers', + 'format-mark-box-letters', + 'format-mark-box-numbers', + 'format-mark-circle-alphabet', + 'format-mark-circle-barnumbers', + 'format-mark-circle-letters', + 'format-mark-circle-numbers', +) + set_context_re = re.compile(r'\\(un)?set\s+(' + '|'.join(contexts) + r')\s*.\s*$') context_re = re.compile(r'\b(' + '|'.join(contexts) + r')\s*\.\s*$') diff -Nru frescobaldi-1.0.2/python/rational.py frescobaldi-1.1.1/python/rational.py --- frescobaldi-1.0.2/python/rational.py 2008-12-05 23:04:33.000000000 +0000 +++ frescobaldi-1.1.1/python/rational.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,313 +0,0 @@ -# AFAIK, this file is in the public domain. - -"""Implementation of rational arithmetic.""" - -from __future__ import division - -import decimal as _decimal -import math as _math - -def _gcf(a, b): - """Returns the greatest common factor of a and b.""" - a = abs(a) - b = abs(b) - while b: - a, b = b, a % b - return a - -class Rational(object): - """ - This class provides an exact representation of rational numbers. - - All of the standard arithmetic operators are provided. In mixed-type - expressions, an int or a long can be converted to a Rational without - loss of precision, and will be done as such. - - Rationals can be implicity (using binary operators) or explicity - (using float(x) or x.decimal()) converted to floats or Decimals; - this may cause a loss of precision. The reverse conversions can be - done without loss of precision, and are performed with the - from_exact static method. However, because of rounding error in the - original values, this tends to produce "ugly" fractions. "Nicer" - conversions to Rational can be made with - approx_smallest_denominator or approx_smallest_error. - """ - - def __init__(self, numerator, denominator=None): - """Contructs the Rational object for numerator/denominator.""" - if isinstance(numerator, Rational) and denominator is None: - self._n = numerator._n - self._d = numerator._d - return - if denominator is None: - denominator = 1 - if not isinstance(numerator, (int, long)): - raise TypeError('numerator must have integer type') - if not isinstance(denominator, (int, long)): - raise TypeError('denominator must have integer type') - if not denominator: - raise ZeroDivisionError('rational construction') - # Store the fraction in reduced form as _n/_d - factor = _gcf(numerator, denominator) - self._n = numerator // factor - self._d = denominator // factor - if self._d < 0: - self._n = -self._n - self._d = -self._d - - def __repr__(self): - if self._d == 1: - return "Rational(%d)" % self._n - else: - return "Rational(%d, %d)" % (self._n, self._d) - - def __str__(self): - if self._d == 1: - return str(self._n) - else: - return "%d/%d" % (self._n, self._d) - - def __hash__(self): - try: - return hash(float(self)) - except OverflowError: - return hash(long(self)) - - def __float__(self): - return self._n / self._d - - def __int__(self): - if self._n < 0: - return -int(-self._n // self._d) - else: - return int(self._n // self._d) - - def __long__(self): - return long(int(self)) - - def __nonzero__(self): - return bool(self._n) - - def __pos__(self): - return self - - def __neg__(self): - return Rational(-self._n, self._d) - - def __abs__(self): - if self._n < 0: - return -self - else: - return self - - def __add__(self, other): - if isinstance(other, Rational): - return Rational(self._n * other._d + self._d * other._n, - self._d * other._d) - elif isinstance(other, (int, long)): - return Rational(self._n + self._d * other, self._d) - elif isinstance(other, (float, complex)): - return float(self) + other - elif isinstance(other, _decimal.Decimal): - return self.decimal() + other - else: - return NotImplemented - __radd__ = __add__ - - def __sub__(self, other): - if isinstance(other, Rational): - return Rational(self._n * other._d - self._d * other._n, - self._d * other._d) - elif isinstance(other, (int, long)): - return Rational(self._n - self._d * other, self._d) - elif isinstance(other, (float, complex)): - return float(self) - other - elif isinstance(other, _decimal.Decimal): - return self.decimal() - other - else: - return NotImplemented - - def __rsub__(self, other): - if isinstance(other, (int, long)): - return Rational(other * self._d - self._n, self._d) - elif isinstance(other, (float, complex)): - return other - float(self) - elif isinstance(other, _decimal.Decimal): - return other - self.decimal() - else: - return NotImplemented - - def __mul__(self, other): - if isinstance(other, Rational): - return Rational(self._n * other._n, self._d * other._d) - elif isinstance(other, (int, long)): - return Rational(self._n * other, self._d) - elif isinstance(other, (float, complex)): - return float(self) * other - elif isinstance(other, _decimal.Decimal): - return self.decimal() * other - else: - return NotImplemented - __rmul__ = __mul__ - - def __truediv__(self, other): - if isinstance(other, Rational): - return Rational(self._n * other._d, self._d * other._n) - elif isinstance(other, (int, long)): - return Rational(self._n, self._d * other) - elif isinstance(other, (float, complex)): - return float(self) / other - elif isinstance(other, _decimal.Decimal): - return self.decimal() / other - else: - return NotImplemented - __div__ = __truediv__ - def __rtruediv__(self, other): - if isinstance(other, (int, long)): - return Rational(other * self._d, self._n) - elif isinstance(other, (float, complex)): - return other / float(self) - elif isinstance(other, _decimal.Decimal): - return other / self.decimal() - else: - return NotImplemented - __rdiv__ = __rtruediv__ - - def __floordiv__(self, other): - truediv = self / other - if isinstance(truediv, Rational): - return truediv._n // truediv._d - else: - return truediv // 1 - def __rfloordiv__(self, other): - return (other / self) // 1 - - def __mod__(self, other): - return self - self // other * other - def __rmod__(self, other): - return other - other // self * self - - def __divmod__(self, other): - return self // other, self % other - - def __cmp__(self, other): - if other == 0: - return cmp(self._n, 0) - else: - return cmp(self - other, 0) - - def __pow__(self, other): - if isinstance(other, (int, long)): - if other < 0: - return Rational(self._d ** -other, self._n ** -other) - else: - return Rational(self._n ** other, self._d ** other) - else: - return float(self) ** other - - def __rpow__(self, other): - return other ** float(self) - - def decimal(self): - """Return a Decimal approximation of self in the current context.""" - return _decimal.Decimal(self._n) / _decimal.Decimal(self._d) - - def round(self, denominator): - """Return self rounded to nearest multiple of 1/denominator.""" - int_part, frac_part = divmod(self * denominator, 1) - round_direction = cmp(frac_part * 2, 1) - if round_direction == 0: - numerator = int_part + (int_part & 1) # round to even - elif round_direction < 0: - numerator = int_part - else: - numerator = int_part + 1 - return Rational(numerator, denominator) - - @staticmethod - def _from_exact_float(x): - """Returns the exact Rational equivalent of x.""" - mantissa, exponent = _math.frexp(x) - mantissa = int(mantissa * 2 ** 53) - exponent -= 53 - if exponent < 0: - return Rational(mantissa, 2 ** (-exponent)) - else: - return Rational(mantissa * 2 ** exponent) - - @staticmethod - def _from_exact_decimal(x): - """Returns the exact Rational equivalent of x.""" - sign, mantissa, exponent = x.as_tuple() - sign = (1, -1)[sign] - mantissa = sign * reduce(lambda a, b: 10 * a + b, mantissa) - if exponent < 0: - return Rational(mantissa, 10 ** (-exponent)) - else: - return Rational(mantissa * 10 ** exponent) - - @staticmethod - def from_exact(x): - """ - Returns the exact Rational equivalent of x, - where isinstance(x, (int, long, Rational, float, Decimal)) - """ - if isinstance(x, Rational): - return x - elif isinstance(x, (int, long)): - return Rational(x) - elif isinstance(x, float): - return Rational._from_exact_float(x) - elif isinstance(x, _decimal.Decimal): - return Rational._from_exact_decimal(x) - else: - raise TypeError('cannot convert %s to Rational' % type(x).__name__) - - @staticmethod - def approx_smallest_denominator(x, tolerance): - """ - Returns a Rational approximation of x. - Minimizes the denominator given a constraint on the error. - - x = the float or Decimal value to convert - tolerance = maximum absolute error allowed, - must be of the same type as x - """ - tolerance = abs(tolerance) - n = 1 - while True: - m = int(round(x * n)) - result = Rational(m, n) - if abs(result - x) < tolerance: - return result - n += 1 - - @staticmethod - def approx_smallest_error(x, maxDenominator): - """ - Returns a Rational approximation of x. - Minimizes the error given a constraint on the denominator. - - x = the float or Decimal value to convert - maxDenominator = maximum denominator allowed - """ - result = None - minError = x - for n in xrange(1, maxDenominator + 1): - m = int(round(x * n)) - r = Rational(m, n) - error = abs(r - x) - if error == 0: - return r - elif error < minError: - result = r - minError = error - return result - -def divide(x, y): - """Same as x/y, but returns a Rational if both are ints.""" - if isinstance(x, (int, long)) and isinstance(y, (int, long)): - return Rational(x, y) - else: - return x / y - diff -Nru frescobaldi-1.0.2/python/signals.py frescobaldi-1.1.1/python/signals.py --- frescobaldi-1.0.2/python/signals.py 2009-12-30 20:35:43.000000000 +0000 +++ frescobaldi-1.1.1/python/signals.py 2010-01-06 22:25:39.000000000 +0000 @@ -95,3 +95,35 @@ except KeyError: pass + +class SignalProxy: + """ + A Signal that dispatches method calls to connected objects. + + Call methods on this proxy object and the same method will be called + on all connected objects with the same arguments. + + Attributes other than methods are not supported. + Methods can't be named 'connect' or 'disconnect'. + Return values are discarded. + A SignalProxy keeps weak references to connected objects. + """ + def __init__(self): + self._objects = weakref.WeakKeyDictionary() + + def connect(self, obj): + self._objects[obj] = True + + def disconnect(self, obj): + try: + del self._objects[obj] + except KeyError: + pass + + def __getattr__(self, attr): + def func(*args, **kwargs): + for obj in self._objects: + getattr(obj, attr)(*args, **kwargs) + func.func_name = attr + setattr(self, attr, func) + return func diff -Nru frescobaldi-1.0.2/README frescobaldi-1.1.1/README --- frescobaldi-1.0.2/README 2009-11-15 22:30:24.000000000 +0000 +++ frescobaldi-1.1.1/README 2010-01-28 06:58:09.000000000 +0000 @@ -31,7 +31,7 @@ * Comprehensive User Guide with help buttons on all dialogs * Other tools like built-in terminal, blank staff paper generator, etc. * Translated into Dutch, English, French, German, Italian, Czech, Russian, - Spanish, Turkish and Polish. + Spanish, Galician, Turkish and Polish. Frescobaldi is Free Software, freely available under the GNU General Public License (GPL). You are welcome to help find bugs and add features or diff -Nru frescobaldi-1.0.2/TODO frescobaldi-1.1.1/TODO --- frescobaldi-1.0.2/TODO 2009-11-18 19:52:46.000000000 +0000 +++ frescobaldi-1.1.1/TODO 2010-03-26 14:17:26.000000000 +0000 @@ -1,5 +1,6 @@ -TODO for Frescobaldi (ideas) -============================ +TODO for Frescobaldi (also some random ideas) +============================================= + Music length related (needs infrastructure to compute duration of music expressions): @@ -13,6 +14,12 @@ - auto-insert comments with the bar number (every 5 measures or so) +Pitch related: + +- command to re-interpret pitches (change alterations, e.g. based on key + signature), useable to fix wrong accidentals after import of a MIDI file + + Filtering music expressions: - split out e.g. articulations or dynamics and put them in a separate expression @@ -24,11 +31,16 @@ Score Wizard: - support nested groups in part list (e.g. StaffGroup or GrandStaff) +- separate \score { } for the MIDI output +- idea: support multiple movements (i.e. number of scores) (idea of M. Moles) +- idea: some font settings, e.g. default fonts, title font, etc. +- idea: load/save score setups General: - Session save and restore (possibly combined with named sessions like Kate) +- Support other programs besides LilyPond like mup, abc, pmw, cmn, etc. Editing: @@ -38,8 +50,8 @@ such as paper size, raggedness, margins, bar and pagenumbering, headers, distances, staff size, default fonts, etc. -- Full normalize the source document layout (indent properly, line breaks at - sensible places, add { } to ambiguous markup constructs, etc. +- Command to fully normalize the source document layout (indent properly, line + breaks at sensible places, add { } to ambiguous markup constructs, etc. - Convert plain input text to markup commands: - easy entry of lyric text strophes @@ -56,6 +68,28 @@ - Document structure browser +Running LilyPond: + +- separate "server" process that runs LilyPond and communicates with clients + like Frescobaldi. This way a user can exit Frescobaldi while a job is + running, and have job feedback from the systray and can e.g. start LilyPond + jobs from a file manager service menu. The server process exits when there is + nothing to do, and is automatically started when there is something to do. + Communication should be done via D-Bus. + +PDF Preview: + +- tighter coupling with editor part, possibly by using a custom PDF (or even + SVG) widget instead of embedding Okular: + - highlight object text cursor is at + - right-click object and show relevant options in context menu (by looking + at the linked position in the document the type of object can be determined) + - generate \override #'extra-offset command (or other offset types) by + simply dragging an object + - select rectangular section in PDF also selects relevant portion in input + document + + Output: - quick PNG of current document (e.g. copied to clipboard or some snippet board) @@ -78,25 +112,28 @@ - list view for opened documents (like Kate) +Import/Export: + +- import wizard for MIDI files and other files + + + DONE: ===== Editing: - - Cut and assign: check mode of cut-out fragment and reuse (e.g. \lyricmode) - - Context sensitive context menu to do all sorts of things on the current cursor position or text selection - Pitch related: - - transpose music - - relative -> absolute and vice versa - Score Wizard: - - more than one voice for Tablature instruments (Guitar, Jazz Guitar) +New LilyPond features (as soon as 2.14 is out): +- snappizicato articulation +- halfopen articulation +