]> git.donarmstrong.com Git - lilypond.git/commitdiff
(LyricsVoiceContext): add padding for
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Fri, 18 Jul 2003 16:36:54 +0000 (16:36 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Fri, 18 Jul 2003 16:36:54 +0000 (16:36 +0000)
separation items. This keeps lyrics from bumping into each other.

16 files changed:
ChangeLog
lily/all-font-metrics.cc
ly/engraver-init.ly
po/cs.po
po/da.po
po/de.po
po/es.po
po/fr.po
po/it.po
po/ja.po
po/lilypond.pot
po/nl.po
po/ru.po
po/sv.po
python/lilylib.py
scripts/update-lily.py [deleted file]

index 651e74ba3f1421d014de7025c1665f8b830c1501..c241a26512f8d132e92ee714f4c3fb50ce7f5fe0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2003-07-18  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
+
+       * ly/engraver-init.ly (LyricsVoiceContext): add padding for
+       separation items. This keeps lyrics from bumping into each other.
+
 2003-07-18  Jan Nieuwenhuizen  <janneke@gnu.org>
 
        * GNUmakefile.in (topdocs-web): New target.
@@ -5,6 +10,10 @@
 
 2003-07-18  Han-Wen Nienhuys  <hanwen@cs.uu.nl>
 
+       * po/lilypond.pot: run po-replace
+
+       * Documentation/GNUmakefile (SUBDIRS): remove windows/ directory
+
        * scm/drums.scm (reset-drum-kit): new function.
 
        * Documentation/GNUmakefile (SUBDIRS): remove misc/ directory.
index 5d0d61d60768c9b59d208e9fb54326f7b026a53c..3d6ded75aff8005e1d10689fdd3e9ee0c2514ccf 100644 (file)
@@ -99,7 +99,7 @@ All_font_metrics::find_afm (String name)
              s += " TFM: " + to_string ((int) tfm->info_.checksum);
              s += " AFM: " + to_string ((int) afm->checksum_);
              s += "\n";
-             s += _ (" Rebuild all .afm files, and remove all .pk and .tfm files.  Rerun with -V to show font paths.");
+             s += _ (" Rebuild all .afm files, and remove all .pk and .tfm files.\nRerun with -V to show font paths.\n");
              s += _("A script for removing font-files is delivered with the source-code,\n"
                     "in buildscripts/clean-fonts.sh");
              error (s);
index 69b3ce840c099dc7bc440d814236fa804c4324a3..6d589b89dbfa8b2e063011c53702bbcd55cca334 100644 (file)
@@ -315,7 +315,7 @@ LyricsVoiceContext= \translator{
        \consists "Stanza_number_engraver"
        \consists "Skip_event_swallow_translator"
        phrasingPunctuation = #".,:!?\""
-       
+       SeparationItem \set #'padding = #0.5
 }
 NoteNamesContext = \translator {
        \type "Engraver_group_engraver"
index 50e49b946d4aa46dbf847bc40604d218dd008370..3e6ddd153e495c95729cb1828c9623c92c4c507f 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: lilypond 1.6.0\n"
-"POT-Creation-Date: 2002-09-28 00:21-0200\n"
+"POT-Creation-Date: 2003-07-18 14:45+0200\n"
 "PO-Revision-Date: 2002-09-28 10:27+0200\n"
 "Last-Translator: Tomá¹ Kopeèek <xkopec14@stud.fit.vutbr.cz>\n"
 "Language-Team: Czech <cz@li.org>\n"
@@ -13,415 +13,1184 @@ msgstr ""
 "Content-Type: text/plain; charset=iso-8859-2\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: lilypond-book.py:206
-msgid "Invoking LaTeX failed."
-msgstr "Spu¹tìní LaTeXu selhalo"
+#. this is where special info is often stored
+#. ###############################################################
+#. lilylib.py -- options and stuff
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. ##  subst:\(^\|[^._a-z]\)\(abspath\|identify\|warranty\|progress\|warning\|error\|exit\|getopt_args\|option_help_str\|options_help_str\|help\|setup_temp\|read_pipe\|system\|cleanup_temp\|strip_extension\|cp_to_dir\|mkdir_p\|init\) *(
+#. ##  replace:\1ly.\2 (
+#. ## subst: \(help_summary\|keep_temp_dir_p\|option_definitions\|original_dir\|program_name\|pseudo_filter_p\|temp_dir\|verbose_p\)
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. lilylib globals
+#: lilylib.py:60
+msgid "lilylib module"
+msgstr ""
 
-#: lilypond-book.py:207
-msgid "This is the error log:\n"
-msgstr "Toto je záznam chyb:\n"
+#: lilylib.py:63 lilypond-book.py:131 ly2dvi.py:128 midi2ly.py:100
+#: mup2ly.py:75 main.cc:111
+msgid "this help"
+msgstr "tato nápovìda"
 
-#: lilypond-book.py:1071 ly2dvi.py:466 ly2dvi.py:499
-#, c-format
-msgid "Running %s..."
-msgstr "Bì¾í %s..."
+#. ###############################################################
+#. Handle bug in Python 1.6-2.1
+#.
+#. there are recursion limits for some patterns in Python 1.6 til 2.1.
+#. fix this by importing pre instead. Fix by Mats.
+#. Attempt to fix problems with limited stack size set by Python!
+#. Sets unlimited stack size. Note that the resource module only
+#. is available on UNIX.
+#: lilylib.py:114 midi2ly.py:136 mup2ly.py:130 main.cc:188 main.cc:200
+#, c-format, python-format
+msgid "Copyright (c) %s by"
+msgstr "Copyright (c) %s by"
 
-#: ly2dvi.py:118
-msgid ""
-"Distributed under terms of the GNU General Public License.  It comes with NO "
-"WARRANTY."
+#: lilylib.py:114
+msgid " 1998--2003"
+msgstr ""
+
+#: lilylib.py:118
+#, fuzzy
+msgid "Distributed under terms of the GNU General Public License."
 msgstr ""
 "Distribuováno ve znìní licence GNU General Public License. Program je "
 "nabízen BEZ jakékoliv ZÁRUKY"
 
-#: input.cc:88 ly2dvi.py:125 midi2ly.py:148 mup2ly.py:143 update-lily.py:137
+#: lilylib.py:120
+msgid "It comes with NO WARRANTY."
+msgstr ""
+
+#: lilylib.py:127 midi2ly.py:150 mup2ly.py:144 input.cc:88
 msgid "warning: "
 msgstr "varování: "
 
-#: input.cc:93 ly2dvi.py:128 ly2dvi.py:147 midi2ly.py:163 midi2ly.py:1012
-#: midi2ly.py:1081 mup2ly.py:146 mup2ly.py:160 update-lily.py:152
-#: update-lily.py:458
+#. lots of midi files use plain text for lyric events
+#. FIXME: read from stdin when files[0] = '-'
+#: lilylib.py:130 midi2ly.py:165 midi2ly.py:1018 midi2ly.py:1083 mup2ly.py:147
+#: mup2ly.py:161 input.cc:93
 msgid "error: "
 msgstr "chyba: "
 
-#: ly2dvi.py:149 midi2ly.py:164 mup2ly.py:161 update-lily.py:153
-msgid "Exiting ... "
+#: lilylib.py:134
+#, fuzzy, python-format
+msgid "Exiting (%d)..."
 msgstr "Konèím ... "
 
-#: ly2dvi.py:209 midi2ly.py:222 mup2ly.py:219 update-lily.py:211
-#, c-format
+#: lilylib.py:194 midi2ly.py:224 mup2ly.py:220
+#, python-format
 msgid "Usage: %s [OPTION]... FILE"
 msgstr "Pou¾ití: %s [PØEPÍNAÈ]... SOUBOR"
 
-#: ly2dvi.py:213 main.cc:166 midi2ly.py:226 mup2ly.py:223 update-lily.py:215
+#: lilylib.py:198 midi2ly.py:228 mup2ly.py:224 main.cc:166
 msgid "Options:"
 msgstr "Pøepínaèe:"
 
-#: ly2dvi.py:217 main.cc:172 midi2ly.py:230 mup2ly.py:227 update-lily.py:219
-#, c-format
+#: lilylib.py:202 midi2ly.py:232 mup2ly.py:228 main.cc:172
+#, c-format, python-format
 msgid "Report bugs to %s"
 msgstr ""
 "Chyby v programu oznamujte na adrese %s (pouze anglicky),\n"
 "pøipomínky k pøekladu zasílejte na <cs@li.org> (èesky)."
 
-#: ly2dvi.py:245 midi2ly.py:258 mup2ly.py:255 update-lily.py:247
-#, c-format
+#: lilylib.py:228
+#, python-format
+msgid "Opening pipe `%s'"
+msgstr ""
+
+#. successful pipe close returns 'None'
+#: lilylib.py:240
+#, python-format
+msgid "`%s' failed (%d)"
+msgstr ""
+
+#: lilylib.py:242 lilylib.py:289 lilypond-book.py:231 ly2dvi.py:512
+msgid "The error log is as follows:"
+msgstr "Hlá¹ení chyby je takovéto:"
+
+#: lilylib.py:262 midi2ly.py:260 mup2ly.py:256
+#, python-format
 msgid "Invoking `%s'"
 msgstr "Vyvolávám `%s'"
 
-#: ly2dvi.py:250 midi2ly.py:262 mup2ly.py:260 update-lily.py:251
-#, c-format
-msgid "command exited with value %d"
-msgstr "pøíkaz skonèil s návratovou hodnotou %d"
+#: lilylib.py:264
+#, python-format
+msgid "Running %s..."
+msgstr "Bì¾í %s..."
+
+#: lilylib.py:282
+#, python-format
+msgid "`%s' failed (%s)"
+msgstr ""
 
-#: ly2dvi.py:253 midi2ly.py:264 mup2ly.py:263 update-lily.py:253
+#: lilylib.py:285 midi2ly.py:266 mup2ly.py:264
 msgid "(ignored)"
 msgstr "(ignorováno)"
 
-#: ly2dvi.py:263 midi2ly.py:274 mup2ly.py:273 update-lily.py:263
-#, c-format
+#: lilylib.py:299 midi2ly.py:276 mup2ly.py:274
+#, python-format
 msgid "Cleaning %s..."
 msgstr "Odstraòuji %s..."
 
-#: ly2dvi.py:338
-msgid "Run LilyPond using LaTeX for titling"
-msgstr "Spou¹tí LilyPond a vypomáhá si LaTeXem pro titulky"
+#. Duh.  Python style portable: cp *.EXT OUTDIR
+#. system ('cp *.%s %s' % (ext, outdir), 1)
+#. Python < 1.5.2 compatibility
+#.
+#. On most platforms, this is equivalent to
+#. `normpath(join(os.getcwd()), PATH)'.  *Added in Python version 1.5.2*
+#. tex needs lots of memory, more than it gets by default on Debian
+#. TODO: * prevent multiple addition.
+#. * clean TEXINPUTS, MFINPUTS, TFMFONTS,
+#. as these take prevalence over $TEXMF
+#. and thus may break tex run?
+#. $TEXMF is special, previous value is already taken care of
+#. # -sOutputFile does not work with bbox?
+#. # todo:
+#. # have better algorithm for deciding when to crop page,
+#. # and when to show full page
+#: lilylib.py:458
+msgid "Removing output file"
+msgstr ""
 
-#: ly2dvi.py:342 main.cc:115
-msgid "write Makefile dependencies for every input file"
-msgstr "zapisuje závislosti Makefile pro v¹echny vstupní soubory "
+#. !@PYTHON@
+#. once upon a rainy monday afternoon.
+#.
+#. ...
+#.
+#. (not finished.)
+#. ABC standard v1.6:  http://www.gre.ac.uk/~c.walshaw/abc2mtex/abc.txt
+#.
+#. Enhancements  (Roy R. Rankin)
+#.
+#. Header section moved to top of lilypond file
+#. handle treble, treble-8, alto, and bass clef
+#. Handle voices (V: headers) with clef and part names, multiple voices
+#. Handle w: lyrics with multiple verses
+#. Handle key mode names for minor, major, phrygian, ionian, locrian, aeolian,
+#. mixolydian, lydian, dorian
+#. Handle part names from V: header
+#. Tuplets handling fixed up
+#. Lines starting with |: not discarded as header lines
+#. Multiple T: and C: header entries handled
+#. Accidental maintained until next bar check
+#. Silent rests supported
+#. articulations fermata, upbow, downbow, ltoe, accent, tenuto supported
+#. Chord strings([-^]"string") can contain a '#'
+#. Header fields enclosed by [] in notes string processed
+#. W: words output after tune as abc2ps does it (they failed before)
+#. Enhancements (Laura Conrad)
+#.
+#. Barring now preserved between ABC and lilypond
+#. the default placement for text in abc is above the staff.
+#. %%LY now supported.
+#. \breve and \longa supported.
+#. M:none doesn't crash lily.
+#. Limitations
+#.
+#. Multiple tunes in single file not supported
+#. Blank T: header lines should write score and open a new score
+#. Not all header fields supported
+#. ABC line breaks are ignored
+#. Block comments generate error and are ignored
+#. Postscript commands are ignored
+#. lyrics not resynchronized by line breaks (lyrics must fully match notes)
+#. %%LY slyrics can't be directly before a w: line.
+#. ???
+#. TODO:
+#.
+#. Convert to new chord styles.
+#.
+#. UNDEF -> None
+#.
+#. uGUHGUHGHGUGH
+#. UGH
+#. treble8 is used by abctab2ps; -8va is used by barfly,
+#. and by my patch to abc2ps. If there's ever a standard
+#. about this we'll support that.
+#. find keywork
+#. assume that Q takes the form "Q:1/4=120"
+#. There are other possibilities, but they are deprecated
+#. outf.write ("\t\t\\consists Staff_margin_engraver\n")
+#. pitch manipulation. Tuples are (name, alteration).
+#. 0 is (central) C. Alteration -1 is a flat, Alteration +1 is a sharp
+#. pitch in semitones.
+#. abc to lilypond key mode names
+#. semitone shifts for key mode names
+#. latex does not like naked #'s
+#. latex does not like naked "'s
+#. break lyrics to words and put "'s around words containing numbers and '"'s
+#. escape "
+#. _ causes probs inside ""
+#. _ to ' _ '
+#. split words with -
+#. unless \-
+#. ~ to space('_')
+#. * to to space
+#. latex does not like naked #'s
+#. put numbers and " and ( into quoted string
+#. insure space between lines
+#. title
+#. strip trailing blanks
+#. Meter
+#. KEY
+#. seperate clef info
+#. there may or may not be a space
+#. between the key letter and the mode
+#. ugh.
+#. ugh.
+#. Notes
+#. Origin
+#. Reference Number
+#. Area
+#. History
+#. Book
+#. Composer
+#. Default note length
+#. Voice
+#. Words
+#. vocals
+#. tempo
+#. we use in this order specified accidental, active accidental for bar,
+#. active accidental for key
+#. (num /  den)  / defaultlen < 1/base
+#. return (str, num,den,dots)
+#. ignore slide
+#. ignore roll
+#. s7m2 input doesnt care about spaces
+#.
+#. remember accidental for rest of bar
+#.
+#. get accidental set in this bar or UNDEF if not set
+#. WAT IS ABC EEN ONTZETTENDE PROGRAMMEERPOEP  !
+#. failed; not a note!
+#. escape '#'s
+#.
+#. |] thin-thick double bar line
+#. || thin-thin double bar line
+#. [| thick-thin double bar line
+#. :| left repeat
+#. |: right repeat
+#. :: left-right repeat
+#. |1 volta 1
+#. |2 volta 2
+#. first try the longer one
+#. bracket escape
+#. the nobarlines option is necessary for an abc to lilypond translator for
+#. exactly the same reason abc2midi needs it: abc requires the user to enter
+#. the note that will be printed, and MIDI and lilypond expect entry of the
+#. pitch that will be played.
+#.
+#. In standard 19th century musical notation, the algorithm for translating
+#. between printed note and pitch involves using the barlines to determine
+#. the scope of the accidentals.
+#.
+#. Since ABC is frequently used for music in styles that do not use this
+#. convention, such as most music written before 1700, or ethnic music in
+#. non-western scales, it is necessary to be able to tell a translator that
+#. the barlines should not affect its interpretation of the pitch.
+#. write other kinds of appending  if we ever need them.
+#. add comments to current voice
+#. Try nibbling characters off until the line doesn't change.
+#. dump_global (outf)
+#. !@PYTHON@
+#.
+#. convert-ly.py -- Update old LilyPond input files (fix name?)
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. TODO
+#. use -f and -t for -s output
+#. NEWS
+#. 0.2
+#. - rewrite in python
+#. Did we ever have \mudela-version?  I doubt it.
+#. lilypond_version_re_str = '\\\\version *\"(.*)\"'
+#. ###########################
+#. need new a namespace
+#. raise FatalConversionError()
+#. need new a namespace
+#. harmful to current .lys
+#. str = re.sub ('\\\\key([^;]+);', '\\\\accidentals \\1;', str)
+#. raise FatalConversionError()
+#. raise FatalConversionError()
+#. raise FatalConversionError()
+#. TODO: lots of other syntax change should be done here as well
+#. Ugh, but meaning of \stemup changed too
+#. maybe we should do \stemup -> \stemUp\slurUp\tieUp ?
+#. I don't know exactly when these happened...
+#. ugh, we loose context setting here...
+#. (lacks capitalisation slur -> Slur)
+#. # dynamic..
+#. TODO: add lots of these
+#. ugh
+#. old fix
+#. Make sure groups of more than one ; have space before
+#. them, so that non of them gets removed by next rule
+#. Only remove ; that are not after spaces, # or ;
+#. Otherwise  we interfere with Scheme comments,
+#. which is badbadbad.
+#. 40 ?
+#. ###############################
+#. END OF CONVERSIONS
+#. ###############################
+#. !@PYTHON@
+#. info mostly taken from looking at files. See also
+#. http://lilypond.org/wiki/?EnigmaTransportFormat
+#. This supports
+#.
+#. * notes
+#. * rests
+#. * ties
+#. * slurs
+#. * lyrics
+#. * articulation
+#. * grace notes
+#. * tuplets
+#.
+#. todo:
+#. * slur/stem directions
+#. * voices (2nd half of frame?)
+#. * more intelligent lyrics
+#. * beams (better use autobeam?)
+#. * more robust: try entertainer.etf (freenote)
+#. * dynamics
+#. * empty measures (eg. twopt03.etf from freenote)
+#.
+#. uGUHGUHGHGUGH
+#. notename 0 == central C
+#. represent pitches as (notename, alteration), relative to C-major scale
+#. a fifth up
+#. should cache this.
+#. flag1 isn't all that interesting.
+#. 3: '>',
+#. 18: '\arpeggio' ,
+#. do grace notes.
+#. ugh.
+#. we don't attempt voltas since they fail easily.
+#. and g.repeat_bar == '|:' or g.repeat_bar == ':|:' or g.bracket:
+#. 4 layers.
+#. let's not do this: this really confuses when eE happens to be before  a ^text.
+#. if last_tag and last_indices:
+#. etf_file_dict[last_tag][last_indices].append (l)
+#. # do it
+#. staff-spec
+#. should use \addlyrics ?
+#. !@PYTHON@
+#. vim: set noexpandtab:
+#. This is was the idea for handling of comments:
+#. Multiline comments, @ignore .. @end ignore is scanned for
+#. in read_doc_file, and the chunks are marked as 'ignore', so
+#. lilypond-book will not touch them any more. The content of the
+#. chunks are written to the output file. Also 'include' and 'input'
+#. regex has to check if they are commented out.
+#.
+#. Then it is scanned for 'lilypond', 'lilypond-file' and 'lilypond-block'.
+#. These three regex's has to check if they are on a commented line,
+#. % for latex, @c for texinfo.
+#.
+#. Then lines that are commented out with % (latex) and @c (Texinfo)
+#. are put into chunks marked 'ignore'. This cannot be done before
+#. searching for the lilypond-blocks because % is also the comment character
+#. for lilypond.
+#.
+#. The the rest of the rexeces are searched for. They don't have to test
+#. if they are on a commented out line.
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. if __name__ == '__main__':
+#. lilylib globals
+#. temp_dir = os.path.join (original_dir,  '%s.dir' % program_name)
+#. urg
+#. # FIXME
+#. # ly2dvi: silly name?
+#. # do -P or -p by default?
+#. #help_summary = _ ("Run LilyPond using LaTeX for titling")
+#: lilypond-book.py:120
+msgid "Process LilyPond snippets in hybrid html, LaTeX or texinfo document"
+msgstr ""
 
-#: ly2dvi.py:343 main.cc:111 midi2ly.py:98 mup2ly.py:74 update-lily.py:87
-msgid "this help"
-msgstr "tato nápovìda"
+#. another bug in option parser: --output=foe is taken as an abbreviation
+#. for --output-format
+#: lilypond-book.py:125 main.cc:110
+msgid "EXT"
+msgstr "PØÍP"
+
+#: lilypond-book.py:125
+msgid "use output format EXT (texi [default], texi-html, latex, html)"
+msgstr ""
+
+#: lilypond-book.py:126 lilypond-book.py:127 lilypond-book.py:129
+#: lilypond-book.py:130
+#, fuzzy
+msgid "DIM"
+msgstr "ADRESÁØ"
+
+#: lilypond-book.py:126
+msgid "default fontsize for music.  DIM is assumed to be in points"
+msgstr ""
+
+#: lilypond-book.py:127
+msgid "deprecated, use --default-music-fontsize"
+msgstr ""
+
+#: lilypond-book.py:128
+msgid "OPT"
+msgstr ""
+
+#: lilypond-book.py:128
+msgid "pass OPT quoted to the lilypond command line"
+msgstr ""
+
+#: lilypond-book.py:129
+msgid "force fontsize for all inline lilypond. DIM is assumed be to in points"
+msgstr ""
 
-#: ly2dvi.py:344 main.cc:113 main.cc:118
+#: lilypond-book.py:130
+msgid "deprecated, use --force-music-fontsize"
+msgstr ""
+
+#: lilypond-book.py:132 ly2dvi.py:130 main.cc:113 main.cc:118
 msgid "DIR"
 msgstr "ADRESÁØ"
 
-#: ly2dvi.py:344
+#: lilypond-book.py:132
+msgid "include path"
+msgstr ""
+
+#: lilypond-book.py:133
+#, fuzzy
+msgid "write dependencies"
+msgstr "pøidává ADRESÁØ do závislostí"
+
+#: lilypond-book.py:134
+msgid "PREF"
+msgstr ""
+
+#: lilypond-book.py:134
+#, fuzzy
+msgid "prepend PREF before each -M dependency"
+msgstr "pøidává ADRESÁØ do závislostí"
+
+#: lilypond-book.py:135
+#, fuzzy
+msgid "don't run lilypond"
+msgstr "nespou¹tí LilyPond"
+
+#: lilypond-book.py:136
+msgid "don't generate pictures"
+msgstr ""
+
+#: lilypond-book.py:137
+msgid "strip all lilypond blocks from output"
+msgstr ""
+
+#: lilypond-book.py:138 lilypond-book.py:139 ly2dvi.py:135 ly2dvi.py:136
+#: midi2ly.py:102 main.cc:114 main.cc:117
+msgid "FILE"
+msgstr "SOUBOR"
+
+#: lilypond-book.py:138
+#, fuzzy
+msgid "filename main output file"
+msgstr "LaTeX selhal u výstupního souboru."
+
+#: lilypond-book.py:139
+msgid "where to place generated files"
+msgstr ""
+
+#: lilypond-book.py:140 ly2dvi.py:137
+msgid "RES"
+msgstr ""
+
+#: lilypond-book.py:141 ly2dvi.py:138
+msgid "set the resolution of the preview to RES"
+msgstr "nastavuje rozli¹ení náhledu na RES"
+
+#: lilypond-book.py:142 ly2dvi.py:148 midi2ly.py:105 mup2ly.py:78 main.cc:126
+msgid "verbose"
+msgstr "vypisuje více informací"
+
+#: lilypond-book.py:143
+#, fuzzy
+msgid "print version information"
+msgstr "vypisuje èíslo verze"
+
+#: lilypond-book.py:144 ly2dvi.py:150 midi2ly.py:107 mup2ly.py:80 main.cc:127
+msgid "show warranty and copyright"
+msgstr "vypisuje záruku a copyright"
+
+#. format specific strings, ie. regex-es for input, and % strings for output
+#. global variables
+#. lilypond_binary = 'valgrind --suppressions=/home/hanwen/usr/src/guile-1.6.supp  --num-callers=10 /home/hanwen/usr/src/lilypond/lily/out/lilypond'
+#. only use installed binary  when we're installed too.
+#. only use installed binary  when we're installed too.
+#. ###############################################################
+#. Dimension handling for LaTeX.
+#.
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#: lilypond-book.py:230
+#, fuzzy
+msgid "LaTeX failed."
+msgstr "Spu¹tìní LaTeXu selhalo"
+
+#. URG see ly2dvi
+#. Convert numeric values, with or without specific dimension, to floats.
+#. Keep other strings
+#. ###############################################################
+#. How to output various structures.
+#. # maybe <hr> ?
+#. Verbatim text is always finished with \n.  FIXME: For HTML,
+#. this newline should be removed.
+#. Verbatim text is always finished with \n.  FIXME: For HTML,
+#. this newline should be removed.
+#. # Ugh we need to differentiate on origin:
+#. # lilypond-block origin wants an extra <p>, but
+#. # inline music doesn't.
+#. # possibly other center options?
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. do some tweaking: @ is needed in some ps stuff.
+#.
+#. ugh, the <p> below breaks inline images...
+#. clumsy workaround for python 2.2 pre bug.
+#. ###############################################################
+#. Recognize special sequences in the input
+#. Warning: This uses extended regular expressions.  Tread with care.
+#.
+#. legenda
+#.
+#. (?P<name>regex) -- assign result of REGEX to NAME
+#. *? -- match non-greedily.
+#. (?m) -- multiline regex: make ^ and $ match at each line
+#. (?s) -- make the dot match all characters including newline
+#. why do we have distinction between @mbinclude and @include?
+#. # we'd like to catch and reraise a more
+#. # detailed error, but alas, the exceptions
+#. # changed across the 1.5/2.1 boundary.
+#. ughUGH not original options
+#. First we want to scan the \documentclass line
+#. it should be the first non-comment line.
+#. The only thing we really need to know about the \documentclass line
+#. is if there are one or two columns to begin with.
+#. Then we add everything before \begin{document} to
+#. paperguru.m_document_preamble so that we can later write this header
+#. to a temporary file in find_latex_dims() to find textwidth.
+#. this is not bulletproof..., it checks the first 10 chunks
+#. newchunks.extend (func (m))
+#. python 1.5 compatible:
+#. we have to check for verbatim before doing include,
+#. because we don't want to include files that are mentioned
+#. inside a verbatim environment
+#. ugh fix input
+#. # Hmm, we should hash only lilypond source, and skip the
+#. # %options are ...
+#. # comment line
+#. # todo: include path, but strip
+#. # first part of the path.
+#. format == 'html'
+#. ugh rename
+#. Count sections/chapters.
+#. # TODO: do something like
+#. # this for texinfo/latex as well ?
+#. ugh
+#. fixme: be sys-independent.
+#.
+#. Ugh, fixing up dependencies for .tex generation
+#.
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#. # There used to be code to write .tex dependencies, but
+#. # that is silly: lilypond-book has its own dependency scheme
+#. # to ensure that all lily-XXX.tex files are there
+#. # TODO: put file name in front of texidoc.
+#. #
+#. # what's this? Docme --hwn
+#. #
+#. #docme: why global?
+#. Do It.
+#. should chmod -w
+#: lilypond-book.py:1557 ly2dvi.py:673 midi2ly.py:1018
+#, python-format
+msgid "getopt says: `%s'"
+msgstr "getopt øíká: `%s'"
+
+#. HACK
+#. status = os.system ('lilypond -w')
+#: lilypond-book.py:1630 ly2dvi.py:777
+#, fuzzy
+msgid "no files specified on command line"
+msgstr "na pøíkazové øádce nebyly zadány ¾ádné soubory"
+
+#.
+#. Petr, ik zou willen dat ik iets zinvoller deed,
+#. maar wat ik kan ik doen, het verandert toch niets?
+#. --hwn 20/aug/99
+#. !@PYTHON@
+#.
+#. ly2dvi.py -- Run LilyPond, add titles to bare score, generate printable
+#. document
+#. Invokes: lilypond, latex (or pdflatex), dvips, ps2pdf, gs
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. This is the third incarnation of ly2dvi.
+#.
+#. Earlier incarnations of ly2dvi were written by
+#. Jeffrey B. Reed<daboys@austin.rr.com> (Python version)
+#. Jan Arne Fagertun <Jan.A.Fagertun@@energy.sintef.no> (Bourne shell script)
+#.
+#. Note: gettext work best if we use ' for docstrings and "
+#. for gettextable strings.
+#. --> DO NOT USE ''' for docstrings.
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. if __name__ == '__main__':
+#. lilylib globals
+#. # FIXME
+#. # ly2dvi: silly name?
+#. # do -P or -p by default?
+#. #help_summary = _ ("Run LilyPond using LaTeX for titling")
+#: ly2dvi.py:121
+msgid "Run LilyPond, add titles, generate printable document"
+msgstr ""
+
+#: ly2dvi.py:127 main.cc:115
+msgid "write Makefile dependencies for every input file"
+msgstr "zapisuje závislosti Makefile pro v¹echny vstupní soubory "
+
+#: ly2dvi.py:129
+msgid "print even more output"
+msgstr ""
+
+#: ly2dvi.py:130
 msgid "add DIR to LilyPond's search path"
 msgstr "pøidává ADRESÁØ do vyhledávací cesty LilyPondu"
 
-#: ly2dvi.py:346
-#, fuzzy, c-format
+#: ly2dvi.py:132
+#, fuzzy, python-format
 msgid "keep all output, output to directory %s.dir"
 msgstr "ponechává ve¹keré výstupy, výstupní adresáø pojmenuje %s.dir"
 
-#: ly2dvi.py:347
+#: ly2dvi.py:133
 msgid "don't run LilyPond"
 msgstr "nespou¹tí LilyPond"
 
-#: ly2dvi.py:348 main.cc:116
+#: ly2dvi.py:134 main.cc:116
 msgid "produce MIDI output only"
 msgstr "vytváøí pouze MIDI výstup"
 
-#: ly2dvi.py:349 ly2dvi.py:350 main.cc:114 main.cc:117 midi2ly.py:100
-msgid "FILE"
-msgstr "SOUBOR"
-
-#: ly2dvi.py:349 midi2ly.py:100
+#: ly2dvi.py:135 midi2ly.py:102
 msgid "write ouput to FILE"
 msgstr "zapisuje výstup do SOUBORu"
 
-#: ly2dvi.py:350
+#: ly2dvi.py:136
 msgid "find pfa fonts used in FILE"
 msgstr "vyhledává pfa fonty pou¾ívané v SOUBORu"
 
-#: ly2dvi.py:352
-msgid "set the resolution of the preview to RES"
-msgstr "nastavuje rozli¹ení náhledu na RES"
-
-#: ly2dvi.py:353
+#: ly2dvi.py:139
 msgid "generate PostScript output"
 msgstr "vytváøí PostScriptový výstup"
 
-#: ly2dvi.py:354
+#: ly2dvi.py:140
+msgid "generate PNG page images"
+msgstr ""
+
+#: ly2dvi.py:141
+#, fuzzy
+msgid "generate PS.GZ"
+msgstr "vytváøí PDF výstup"
+
+#: ly2dvi.py:142
 #, fuzzy
 msgid "generate PDF output"
 msgstr "vytváøí PDF výstup"
 
-#: ly2dvi.py:355
+#: ly2dvi.py:143
 msgid "use pdflatex to generate a PDF output"
 msgstr "pou¾ije pdflatex pro vygenerování PDF výstupu"
 
-#: ly2dvi.py:357
+#. FIXME: preview, picture; to indicate creation of a PNG?
+#: ly2dvi.py:145
 msgid "make a picture of the first system"
 msgstr "vytvoøí obrázek prvního systému"
 
-#: ly2dvi.py:358
+#: ly2dvi.py:146
+msgid "make HTML file with links to all output"
+msgstr ""
+
+#: ly2dvi.py:147
 msgid "KEY=VAL"
 msgstr "KLÍÈ=HODN"
 
-#: ly2dvi.py:358
+#: ly2dvi.py:147
 msgid "change global setting KEY to VAL"
 msgstr "zmìní globální nastavení KLÍÈe na HODN"
 
-#: ly2dvi.py:359 main.cc:126 midi2ly.py:103 mup2ly.py:77 update-lily.py:91
-msgid "verbose"
-msgstr "vypisuje více informací"
-
-#: ly2dvi.py:360 main.cc:125 midi2ly.py:104 mup2ly.py:78 update-lily.py:92
+#: ly2dvi.py:149 midi2ly.py:106 mup2ly.py:79 main.cc:125
 msgid "print version number"
 msgstr "vypisuje èíslo verze"
 
-#: ly2dvi.py:361 main.cc:127 midi2ly.py:105 mup2ly.py:79 update-lily.py:94
-msgid "show warranty and copyright"
-msgstr "vypisuje záruku a copyright"
-
-#: ly2dvi.py:456
-#, fuzzy, c-format
+#. other globals
+#. Pdftex support
+#. # yuk.
+#. lilypond_binary = 'valgrind --suppressions=%(home)s/usr/src/guile-1.6.supp --num-callers=10 %(home)s/usr/src/lilypond/lily/out/lilypond '% { 'home' : '/home/hanwen' }
+#. only use installed binary  when we're installed too.
+#. init to empty; values here take precedence over values in the file
+#. # TODO: change name.
+#. for geometry v3
+#. Output formats that ly2dvi should create
+#. what a name.
+#. ly.warning (_ ("invalid value: %s") % `val`)
+#. ly.warning (_ ("invalid value: %s") % `val`)
+#: ly2dvi.py:232
+#, fuzzy, python-format
 msgid "no such setting: `%s'"
 msgstr "takové nastavení neexistuje: `%s'"
 
-#: ly2dvi.py:516
-#, c-format
+#. 2 == user interrupt.
+#: ly2dvi.py:274
+#, python-format
 msgid "LilyPond crashed (signal %d)."
 msgstr "LilyPond havaroval (signal %d)"
 
-#: ly2dvi.py:517
+#: ly2dvi.py:275
 msgid "Please submit a bug report to bug-lilypond@gnu.org"
 msgstr "Prosím, za¹lete hlá¹ení o chybì na adresu bug-lilypond@gnu.org"
 
-#: ly2dvi.py:521
-#, c-format
-msgid "LilyPond failed on an input file (exit status %d)."
+#: ly2dvi.py:281
+#, fuzzy, python-format
+msgid "LilyPond failed on input file %s (exit status %d)"
 msgstr "LilyPond selhal u vstupního souboru (návratová hodnota %d)."
 
-#: ly2dvi.py:522
-msgid "Trying to salvage the rest."
-msgstr "Pokou¹ím se zachránit zbytek."
+#: ly2dvi.py:284
+#, fuzzy, python-format
+msgid "LilyPond failed on an input file (exit status %d)"
+msgstr "LilyPond selhal u vstupního souboru (návratová hodnota %d)."
 
-#: ly2dvi.py:534
-#, c-format
+#: ly2dvi.py:285
+#, fuzzy
+msgid "Continuing..."
+msgstr "Bì¾í %s..."
+
+#. urg
+#: ly2dvi.py:296
+#, python-format
 msgid "Analyzing %s..."
 msgstr "Analyzuji %s..."
 
-#: ly2dvi.py:590
-#, fuzzy, c-format
+#. search only the first 10k
+#: ly2dvi.py:354
+#, fuzzy, python-format
 msgid "no LilyPond output found for `%s'"
 msgstr "nebyl nalezen výstup LilyPondu pro `%s'"
 
-#: ly2dvi.py:631
-#, fuzzy, c-format
+#. The final \n seems important here. It ensures that the footers and taglines end up on the right page.
+#. TODO: should set textheight (enlarge) depending on papersize.
+#: ly2dvi.py:397
+#, fuzzy, python-format
 msgid "invalid value: `%s'"
 msgstr "neplatná hodnota: `%s'"
 
-#: ly2dvi.py:738
+#. set sane geometry width (a4-width) for linewidth = -1.
+#. who the hell is 597 ?
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#: ly2dvi.py:511
 msgid "LaTeX failed on the output file."
 msgstr "LaTeX selhal u výstupního souboru."
 
-#: ly2dvi.py:740
-msgid "The error log is as follows:"
-msgstr "Hlá¹ení chyby je takovéto:"
+#. make a preview by rendering only the 1st line
+#. of each score
+#: ly2dvi.py:568
+msgid ""
+"Trying create PDF, but no PFA fonts found.\n"
+"Using bitmap fonts instead. This will look bad."
+msgstr ""
 
-#: ly2dvi.py:863
-#, c-format
+#. ugh. Different targets?
+#. Added as functionality to ly2dvi, because ly2dvi may well need to do this
+#. in future too.
+#. no ps header?
+#: ly2dvi.py:615
+#, python-format
 msgid "not a PostScript file: `%s'"
 msgstr "`%s' není PostScriptovým souborem"
 
-#: ly2dvi.py:879 midi2ly.py:1012 update-lily.py:458
-#, c-format
-msgid "getopt says: `%s'"
-msgstr "getopt øíká: `%s'"
+#. todo
+#: ly2dvi.py:660
+#, fuzzy, python-format
+msgid "Writing HTML menu `%s'"
+msgstr "Zapisuji `%s'..."
 
-#: ly2dvi.py:962
+#. signal programming error
+#. Don't convert input files to abspath, rather prepend '.' to include
+#. path.
+#. As a neat trick, add directory part of first input file
+#. to include path.  That way you can do without the clumsy -I in:
+#. ly2dvi -I foe/bar/baz foo/bar/baz/baz.ly
+#: ly2dvi.py:769
 msgid "pseudo filter"
 msgstr "pseudofiltr"
 
-#: ly2dvi.py:965
+#: ly2dvi.py:772
 msgid "pseudo filter only for single input file"
 msgstr "pseudofiltr pouze pro jeden vstupní soubor"
 
-#: ly2dvi.py:994
-#, c-format
+#. Ugh, maybe make a setup () function
+#. hmmm. Wish I'd 've written comments when I wrote this.
+#. now it looks complicated.
+#: ly2dvi.py:806
+#, python-format
 msgid "filename should not contain spaces: `%s'"
 msgstr "jméno souboru by nemìlo obsahovat mezery: `%s'"
 
-#: input-file-results.cc:67 ly2dvi.py:1090
-#, c-format
+#. to be sure, add tmpdir *in front* of inclusion path.
+#. os.environ['TEXINPUTS'] =  tmpdir + ':' + os.environ['TEXINPUTS']
+#. We catch all exceptions, because we need to do stuff at exit:
+#. * copy any successfully generated stuff from tempdir and
+#. notify user of that
+#. * cleanout tempdir
+#. ## ARGH. This also catches python programming errors.
+#. ## this should only catch lilypond nonzero exit  status
+#. ## --hwn
+#. TODO: friendly message about LilyPond setup/failing?
+#.
+#: ly2dvi.py:845
+msgid "Running LilyPond failed. Rerun with --verbose for a trace."
+msgstr ""
+
+#. Our LilyPond pseudo filter always outputs to 'lelie'
+#. have subsequent stages and use 'lelie' output.
+#. unless: add --tex, or --latex?
+#. TODO: friendly message about TeX/LaTeX setup,
+#. trying to run tex/latex by hand
+#: ly2dvi.py:886
+msgid "Failed to make PS file. Rerun with --verbose for a trace."
+msgstr ""
+
+#. unless: add --tex, or --latex?
+#. TODO: friendly message about TeX/LaTeX setup,
+#. trying to run tex/latex by hand
+#: ly2dvi.py:916
+msgid "Running LaTeX falied. Rerun with --verbose for a trace."
+msgstr ""
+
+#. add DEP to targets?
+#: ly2dvi.py:926 input-file-results.cc:68
+#, c-format, python-format
 msgid "dependencies output to `%s'..."
 msgstr "závislosti se zapisují do `%s'..."
 
-#: includable-lexer.cc:49 input-file-results.cc:187 input-file-results.cc:193
-#: lily-guile.cc:89 ly2dvi.py:1104 ly2dvi.py:1118
-#, c-format
+#: ly2dvi.py:937
+#, fuzzy, python-format
+msgid "%s output to <stdout>..."
+msgstr "výstup %s se zapisuje do `%s'..."
+
+#: ly2dvi.py:942 ly2dvi.py:968 includable-lexer.cc:57
+#: input-file-results.cc:191 input-file-results.cc:197 lily-guile.cc:86
+#, c-format, python-format
 msgid "can't find file: `%s'"
 msgstr "nelze nalézt soubor: `%s'"
 
-#: ly2dvi.py:1116 midi2ly.py:996
-#, c-format
-msgid "%s output to `%s'..."
+#. Hmm, if this were a function, we could call it the except: clauses
+#: ly2dvi.py:965
+#, fuzzy, python-format
+msgid "%s output to %s..."
 msgstr "výstup %s se zapisuje do `%s'..."
 
-#: ly2dvi.py:1126
-#, fuzzy
-msgid "no files specified on command line"
-msgstr "na pøíkazové øádce nebyly zadány ¾ádné soubory"
-
-#: midi2ly.py:92
+#. !@PYTHON@
+#.
+#. midi2ly.py -- LilyPond midi import script
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. ###############################################################
+#. Users of python modules should include this snippet.
+#.
+#. This soon to be removed for: import lilypond.lilylib as ly
+#. ###############################################################
+#. ###############################################################
+#. ############### CONSTANTS
+#. ###############################################################
+#. temp_dir = os.path.join (original_dir,  '%s.dir' % program_name)
+#. original_dir = os.getcwd ()
+#. keep_temp_dir_p = 0
+#: midi2ly.py:94
 msgid "Convert MIDI to LilyPond source"
 msgstr "Pøevádí MIDI na zdrojový text pro LilyPond"
 
-#: midi2ly.py:95
+#: midi2ly.py:97
 msgid "print absolute pitches"
 msgstr "vypisuje absolutní vý¹ky"
 
-#: midi2ly.py:96 midi2ly.py:101
+#: midi2ly.py:98 midi2ly.py:103
 msgid "DUR"
 msgstr "DÉLKA"
 
-#: midi2ly.py:96
+#: midi2ly.py:98
 msgid "quantise note durations on DUR"
 msgstr "zarovnává délky not na násobky DÉLKY"
 
-#: midi2ly.py:97
+#: midi2ly.py:99
 msgid "print explicit durations"
 msgstr "vypí¹e explicitní délky"
 
-#: midi2ly.py:99
+#: midi2ly.py:101
 msgid "ALT[:MINOR]"
 msgstr "ZMÌNA[:MOLL]"
 
-#: midi2ly.py:99
+#: midi2ly.py:101
 msgid "set key: ALT=+sharps|-flats; MINOR=1"
 msgstr "nastaví stupnici: ZMÌNA=+køí¾ky|-béèka; MOLL=1"
 
-#: midi2ly.py:101
+#: midi2ly.py:103
 msgid "quantise note starts on DUR"
 msgstr "zarovnaná nota zaèíná na DÉLCE"
 
-#: midi2ly.py:102
+#: midi2ly.py:104
 msgid "DUR*NUM/DEN"
 msgstr "DÉLKA*ÈÍSLO/DÌLITEL"
 
-#: midi2ly.py:102
+#: midi2ly.py:104
 msgid "allow tuplet durations DUR*NUM/DEN"
 msgstr "povolí triolové (kvartolové, ...) délky DÉLKA*ÈÍSLO/DÌLITEL"
 
-#: midi2ly.py:106
+#: midi2ly.py:108
 msgid "treat every text as a lyric"
 msgstr "zpracuje ka¾dý text jako slova písnì"
 
-#: midi2ly.py:1027
+#: midi2ly.py:136 mup2ly.py:130
+msgid " 2001--2003"
+msgstr ""
+
+#: midi2ly.py:141 mup2ly.py:135
+#, fuzzy
+msgid ""
+"\n"
+"Distributed under terms of the GNU General Public License. It comes with\n"
+"NO WARRANTY."
+msgstr ""
+"Distribuováno ve znìní licence GNU General Public License. Program je "
+"nabízen BEZ jakékoliv ZÁRUKY"
+
+#: midi2ly.py:166 mup2ly.py:162
+msgid "Exiting ... "
+msgstr "Konèím ... "
+
+#: midi2ly.py:264 mup2ly.py:261
+#, python-format
+msgid "command exited with value %d"
+msgstr "pøíkaz skonèil s návratovou hodnotou %d"
+
+#. ###############################################################
+#. END Library
+#. ###############################################################
+#. hmm
+#. major scale: do-do
+#. minor scale: la-la  (= + 5) '''
+#. By tradition, all scales now consist of a sequence
+#. of 7 notes each with a distinct name, from amongst
+#. a b c d e f g.  But, minor scales have a wide
+#. second interval at the top - the 'leading note' is
+#. sharped. (Why? it just works that way! Anything
+#. else doesn't sound as good and isn't as flexible at
+#. saying things. In medieval times, scales only had 6
+#. notes to avoid this problem - the hexachords.)
+#. So, the d minor scale is d e f g a b-flat c-sharp d
+#. - using d-flat for the leading note would skip the
+#. name c and duplicate the name d.  Why isn't c-sharp
+#. put in the key signature? Tradition. (It's also
+#. supposedly based on the Pythagorean theory of the
+#. cycle of fifths, but that really only applies to
+#. major scales...)  Anyway, g minor is g a b-flat c d
+#. e-flat f-sharp g, and all the other flat minor keys
+#. end up with a natural leading note. And there you
+#. have it.
+#. John Sankey <bf250@freenet.carleton.ca>
+#.
+#. Let's also do a-minor: a b c d e f gis a
+#.
+#. --jcn
+#. as -> gis
+#. des -> cis
+#. ges -> fis
+#. g -> fisis
+#. d -> cisis
+#. a -> gisis
+#. b -> ces
+#. e -> fes
+#. f -> eis
+#. c -> bis
+#. # FIXME: compile fix --jcn
+#. TODO: move space
+#. fis cis gis dis ais eis bis
+#. bes es as des ges ces fes
+#. urg, we should be sure that we're in a lyrics staff
+#. all include ALL_NOTES_OFF
+#. ugh, must set key while parsing
+#. because Note init uses key
+#. Better do Note.calc () at dump time?
+#. last_lyric.clocks = t - last_time
+#. hmm
+#. urg, this will barf at meter changes
+#. urg LilyPond doesn't start at c4, but
+#. remembers from previous tracks!
+#. reference_note = Note (clocks_per_4, 4*12, 0)
+#. must be in \notes mode for parsing \skip
+#: midi2ly.py:1002
+#, python-format
+msgid "%s output to `%s'..."
+msgstr "výstup %s se zapisuje do `%s'..."
+
+#: midi2ly.py:1033
 msgid "Example:"
 msgstr "Pøíklad:"
 
-#: midi2ly.py:1081
+#: midi2ly.py:1083
 msgid "no files specified on command line."
 msgstr "na pøíkazové øádce nebyly zadány ¾ádné soubory."
 
-#: mup2ly.py:69
+#. !@PYTHON@
+#. mup2ly.py -- mup input converter
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c) 2001
+#. if set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#: mup2ly.py:70
 msgid "Convert mup to LilyPond source"
 msgstr "Pøevede soubor mup na zdrojový text LilyPondu"
 
-#: mup2ly.py:72
+#: mup2ly.py:73
 msgid "debug"
 msgstr "debug"
 
-#: mup2ly.py:73
-msgid "define macro NAME [optional expansion EXP]"
-msgstr "definuje makro JMÉNO [volitelná pøípona PØÍP]"
-
-#: main.cc:117 mup2ly.py:75
-msgid "write output to FILE"
-msgstr "zapi¹ výstup do SOUBORu"
-
-#: mup2ly.py:76
-msgid "only pre-process"
-msgstr "pouze pøedzpracuje (pre-process)"
-
-#: mup2ly.py:1073
-#, c-format
-msgid "no such context: %s"
-msgstr "neexistující kontext: %s"
-
-#: mup2ly.py:1297
-#, c-format
-msgid "Processing `%s'..."
-msgstr "Zpracovávám `%s'..."
-
-#: mup2ly.py:1316
-#, c-format
-msgid "Writing `%s'..."
-msgstr "Zapisuji `%s'..."
-
-#: update-lily.py:76
-msgid "Fetch and rebuild from latest source package"
-msgstr "Stáhuje a znovu sestavuje z nejnovìj¹ích zdrojových textù"
-
-#: update-lily.py:79
-#, c-format
-msgid "unpack and build in DIR [%s]"
-msgstr "rozbaluje a sestavuje v ADRESÁØi [%s]"
-
-#: update-lily.py:80
-msgid "execute COMMAND, subtitute:"
-msgstr "vykonává PØÍKAZ, nahraï:"
-
-#: update-lily.py:81
-msgid "%b: build root"
-msgstr "%b: sestav koøenový adresáø"
-
-#: update-lily.py:82
-#, c-format
-msgid "%n: package name"
-msgstr "%n: jméno balíèku"
-
-#: update-lily.py:83
-msgid "%r: release directory"
-msgstr "%r: adresáø pro výstupní verzi"
-
-#: update-lily.py:84
-msgid "%t: tarball"
-msgstr "%t: tarball (tar.gz)"
-
-#: update-lily.py:85
-msgid "%v: package version"
-msgstr "%v: verze balíèku"
-
-#: update-lily.py:88
-#, c-format
-msgid "keep all output, and name the directory %s"
-msgstr "ponechá v¹echny výstupy a pojmenuje adresáø %s"
-
-#: update-lily.py:89
-msgid "upon failure notify EMAIL[,EMAIL]"
-msgstr "pøi chybì informujte EMAIL[,EMAIL]"
-
-#: update-lily.py:90
-msgid "remove previous build"
-msgstr "odstraní soubory z pøedchozího sestavení"
-
-#: update-lily.py:93
-#, c-format
-msgid "fetch and build URL [%s]"
-msgstr "stáhne a sestaví URL [%s]"
+#: mup2ly.py:74
+msgid "define macro NAME [optional expansion EXP]"
+msgstr "definuje makro JMÉNO [volitelná pøípona PØÍP]"
 
-#: update-lily.py:429
-#, c-format
-msgid "Listing `%s'..."
-msgstr "Prohledávám `%s'..."
+#: mup2ly.py:76 main.cc:117
+msgid "write output to FILE"
+msgstr "zapi¹ výstup do SOUBORu"
 
-#: update-lily.py:497
-#, c-format
-msgid "latest is: %s"
-msgstr "nejnovìj¹í je: %s"
+#: mup2ly.py:77
+msgid "only pre-process"
+msgstr "pouze pøedzpracuje (pre-process)"
 
-#: update-lily.py:498
-#, c-format
-msgid "relax, %s is up to date"
-msgstr "uvolnìte se, %s je aktuální"
+#. Duh.  Python style portable: cp *.EXT OUTDIR
+#. system ('cp *.%s %s' % (ext, outdir), 1)
+#. Python < 1.5.2 compatibility
+#.
+#. On most platforms, this is equivalent to
+#. `normpath(join(os.getcwd()), PATH)'.  *Added in Python version 1.5.2*
+#. if set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. ###############################################################
+#. END Library
+#.
+#. PMX cut and paste
+#.
+#. if not self.entries:
+#. #return '\n'
+#. #ugh ugh
+#. return '\n%s = {}\n\n' % self.idstring ()
+#. ugh
+#. def set_clef (self, letter):
+#. clstr = clef_table[letter]
+#. self.voices[0].add_nonchord (Clef (clstr))
+#. urg
+#. maybe use import copy?
+#. for i in self.pitches:
+#. ch.pitches.append (i)
+#. for i in self.scripts:
+#. ch.scripts.append (i)
+#. http://www.arkkra.com/doc/uguide/contexts.html
+#. #self.current_staffs = []
+#. duh
+#. FIXME: 1?
+#. FIXME: does key play any role in this?
+#. ch = self.current_voices[0].last_chord ()
+#. ch.basic_duration = self.current_voices[0].last_chord ().basic_duration
+#. ugh
+#. ch = self.current_voices[0].last_chord ()
+#. `;' is not a separator, chords end with ';'
+#. mup resets default duration and pitch each bar
+#. ugh: these (and lots more) should also be parsed in
+#. context staff.  we should have a class Staff_properties
+#. and parse/set all those.
+#. shortcut: set to official mup maximum (duh)
+#. self.set_staffs (40)
+#: mup2ly.py:1076
+#, python-format
+msgid "no such context: %s"
+msgstr "neexistující kontext: %s"
 
-#: update-lily.py:507 update-lily.py:520
-#, c-format
-msgid "Fetching `%s'..."
-msgstr "Stahuje se `%s'..."
+#. hmm
+#. dig this: mup allows ifdefs inside macro bodies
+#. don't do nested multi-line defines
+#. duh: mup is strictly line-based, except for `define',
+#. which is `@' terminated and may span several lines
+#. don't define new macros in unactive areas
+#. To support nested multi-line define's
+#. process_function and macro_name, macro_body
+#. should become lists (stacks)
+#. The mup manual is undetermined on this
+#. and I haven't seen examples doing it.
+#.
+#. don't do nested multi-line define's
+#. writes to stdout for help2man
+#. don't call
+#. identify ()
+#. sys.stdout.flush ()
+#. handy emacs testing
+#. if not files:
+#. files = ['template.mup']
+#: mup2ly.py:1300
+#, python-format
+msgid "Processing `%s'..."
+msgstr "Zpracovávám `%s'..."
 
-#: update-lily.py:529
-#, c-format
-msgid "Building `%s'..."
-msgstr "Sestavuje se `%s'..."
+#: mup2ly.py:1319
+#, python-format
+msgid "Writing `%s'..."
+msgstr "Zapisuji `%s'..."
 
 #: getopt-long.cc:146
 #, c-format
@@ -463,37 +1232,37 @@ msgstr "chyba programr
 msgid "accidental `%s' not found"
 msgstr "Posuvka `%s' nebyla nalezena"
 
-#: accidental-engraver.cc:181 new-accidental-engraver.cc:237
+#: accidental-engraver.cc:171 new-accidental-engraver.cc:238
 #, fuzzy, c-format
 msgid "Accidental typesetting list must begin with context-name: %s"
 msgstr "Sazba posuvek musí zaèínat jménem kontextu: %s"
 
-#: accidental-engraver.cc:206 new-accidental-engraver.cc:262
+#: accidental-engraver.cc:196 new-accidental-engraver.cc:263
 #, fuzzy, c-format
 msgid "unknown accidental typesetting: %s. Ignored"
 msgstr "neznámá sazba posuvek: %s. Ignorováno"
 
-#: accidental-engraver.cc:222 new-accidental-engraver.cc:278
+#: accidental-engraver.cc:212 new-accidental-engraver.cc:279
 #, c-format
 msgid "Symbol is not a parent context: %s. Ignored"
 msgstr "Symbol není otcovským kontextem: %s. Ignorováno"
 
-#: accidental-engraver.cc:225 new-accidental-engraver.cc:281
+#: accidental-engraver.cc:215 new-accidental-engraver.cc:282
 #, fuzzy, c-format
 msgid "Accidental typesetting must be pair or context-name: %s"
 msgstr "Sazba posuvek musí být pár nebo jméno kontextu: %s"
 
-#: afm.cc:60
+#: afm.cc:66
 #, c-format
 msgid "can't find character number: %d"
 msgstr "nelze nalézt znak èíslo: %d"
 
-#: afm.cc:75
+#: afm.cc:81
 #, c-format
 msgid "can't find character called: `%s'"
 msgstr "nelze nalézt znak nazvaný: `%s'"
 
-#: afm.cc:125
+#: afm.cc:142
 #, c-format
 msgid "Error parsing AFM file: `%s'"
 msgstr "Chyba pøi zpracování AFM souboru: `%s'"
@@ -516,48 +1285,54 @@ msgstr ""
 " Znovu sestavte v¹echny .afm soubory a odstraòte v¹echny .pk a .tfm soubory. "
 "Spus»te znovu s parametrem -V k výpisu cest k souborùm fontù."
 
-#: all-font-metrics.cc:168
+#: all-font-metrics.cc:103
+msgid ""
+"A script for removing font-files is delivered with the source-code,\n"
+"in buildscripts/clean-fonts.sh"
+msgstr ""
+
+#: all-font-metrics.cc:169
 #, c-format
 msgid "can't find font: `%s'"
 msgstr "nelze nalézt font: `%s'"
 
-#: all-font-metrics.cc:169
+#: all-font-metrics.cc:170
 msgid "Loading default font"
 msgstr "Nahrávám implicitní font"
 
-#: all-font-metrics.cc:184
+#: all-font-metrics.cc:185
 #, c-format
 msgid "can't find default font: `%s'"
 msgstr "nelze nalézt implicitní font: `%s'"
 
-#: all-font-metrics.cc:185 includable-lexer.cc:51 input-file-results.cc:188
+#: all-font-metrics.cc:186 includable-lexer.cc:59 input-file-results.cc:192
 #, c-format
 msgid "(search path: `%s')"
 msgstr "(vyhledávací cesta: `%s')"
 
-#: all-font-metrics.cc:186
+#: all-font-metrics.cc:187
 msgid "Giving up"
 msgstr "Vzdávám"
 
 #: auto-change-iterator.cc:43 change-iterator.cc:60
-#: part-combine-music-iterator.cc:121
+#: part-combine-music-iterator.cc:120
 msgid "Can't switch translators, I'm there already"
 msgstr "Nelze pøepnout pøekladaèe. Ji¾ jsem tam."
 
-#: bar-check-iterator.cc:58
+#: bar-check-iterator.cc:51
 #, c-format
 msgid "barcheck failed at: %s"
 msgstr "kontrola taktových èar selhala na: %s"
 
-#: beam.cc:143
+#: beam.cc:146
 msgid "beam has less than two visible stems"
 msgstr "trámec má ménì ne¾ dvì viditelné no¾ky"
 
-#: beam.cc:148
+#: beam.cc:151
 msgid "Beam has less than two stems. Removing beam."
 msgstr "Trámec má ménì ne¾ dvì no¾ky. Odstraòuji jej."
 
-#: beam.cc:959
+#: beam.cc:976
 msgid ""
 "Not sure that we can find a nice beam slope (no viable initial configuration "
 "found)."
@@ -565,36 +1340,88 @@ msgstr ""
 "Nejsem si jistý, ¾e pùjde nalézt pìkný sklon trámce (nebyla nalezena ¾ádná "
 "¾ivotaschopná konfigurace)."
 
-#: beam-engraver.cc:167
+#: beam-engraver.cc:176
 msgid "already have a beam"
 msgstr "trámec ji¾ existuje"
 
-#: beam-engraver.cc:234
+#: beam-engraver.cc:259
 msgid "unterminated beam"
 msgstr "neukonèený trámec"
 
-#: beam-engraver.cc:267 chord-tremolo-engraver.cc:175
+#: beam-engraver.cc:292 chord-tremolo-engraver.cc:197
 msgid "stem must have Rhythmic structure"
 msgstr "no¾ka musí mít strukturu Rhythmic"
 
-#: beam-engraver.cc:281
+#: beam-engraver.cc:306
 msgid "stem doesn't fit in beam"
 msgstr "no¾ka se nevejde pod trámec"
 
-#: beam-engraver.cc:282
+#: beam-engraver.cc:307
 msgid "beam was started here"
 msgstr "trámec byl zaèat zde"
 
-#: break-align-interface.cc:165
+#: break-align-interface.cc:173
 #, fuzzy, c-format
 msgid "No spacing entry from %s to `%s'"
 msgstr "Není záznam pro rozestup %s a `%s'"
 
+#: change-iterator.cc:22
+#, c-format
+msgid "can't change `%s' to `%s'"
+msgstr "nelze zmìnit `%s' na `%s'"
+
+#.
+#. We could change the current translator's id, but that would make
+#. errors hard to catch
+#.
+#. last->translator_id_string_  = get_change ()->change_to_id_string_;
+#.
+#: change-iterator.cc:79
+msgid "I'm one myself"
+msgstr "Jsem pouze jediný"
+
+#: change-iterator.cc:82
+msgid "none of these in my family"
+msgstr "¾ádný z tìchto neznám"
+
+#: chord-tremolo-engraver.cc:98
+#, c-format
+msgid "Chord tremolo with %d elements. Must have two elements."
+msgstr ""
+
+#: chord-tremolo-engraver.cc:157
+msgid "unterminated chord tremolo"
+msgstr "neukonèené akordové tremolo"
+
+#: chord-tremolo-iterator.cc:69
+msgid "no one to print a tremolos"
+msgstr "není nikdo, kdo by tiskl tremola"
+
 #: clef.cc:64
 #, c-format
 msgid "clef `%s' not found"
 msgstr "klíè `%s' nebyl nalezen"
 
+#: cluster.cc:131
+#, fuzzy, c-format
+msgid "unknown cluster style `%s'"
+msgstr "neznámý pøekladaè: `%s':"
+
+#: coherent-ligature-engraver.cc:84
+#, c-format
+msgid "gotcha: ptr=%ul"
+msgstr ""
+
+#: coherent-ligature-engraver.cc:96
+#, c-format
+msgid "distance=%f"
+msgstr ""
+
+#: coherent-ligature-engraver.cc:139
+#, c-format
+msgid "Coherent_ligature_engraver: setting `spacing-increment = 0.01': ptr=%ul"
+msgstr ""
+
 #: custos.cc:92
 #, c-format
 msgid "custos `%s' not found"
@@ -604,33 +1431,44 @@ msgstr "kustod `%s' nebyl nalezen"
 msgid "NaN"
 msgstr "NaN"
 
-#: dynamic-engraver.cc:187 span-dynamic-performer.cc:82
+#: dynamic-engraver.cc:204 span-dynamic-performer.cc:82
 msgid "can't find start of (de)crescendo"
 msgstr "nelze nalézt zaèátek (de)crescenda"
 
-#: dynamic-engraver.cc:211
+#: dynamic-engraver.cc:216
 msgid "already have a crescendo"
 msgstr "ji¾ má crescendo"
 
-#: dynamic-engraver.cc:212
+#: dynamic-engraver.cc:217
 msgid "already have a decrescendo"
 msgstr "ji¾ má decrescendo"
 
-#: dynamic-engraver.cc:215
+#: dynamic-engraver.cc:220
 #, fuzzy
 msgid "Cresc started here"
 msgstr "Crescendo zaèalo zde"
 
-#: dynamic-engraver.cc:307
+#: dynamic-engraver.cc:323
 msgid "unterminated (de)crescendo"
 msgstr "neukonèené (de)crescendo"
 
-#: extender-engraver.cc:96
+#: event.cc:49
+#, fuzzy, c-format
+msgid "Transposition by %s makes alteration larger than two"
+msgstr "Transpozice o %s vytváøí více posuvek ne¾ dvì"
+
+#: event-chord-iterator.cc:76 output-property-music-iterator.cc:27
+#, fuzzy, c-format
+msgid "Junking event: `%s'"
+msgstr "Matoucí po¾adavek: `%s'"
+
+#: extender-engraver.cc:94
 msgid "unterminated extender"
 msgstr "neukonené prodlou¾ení"
 
-#: extender-engraver.cc:108
-msgid "Nothing to connect extender to on the left.  Ignoring extender request."
+#: extender-engraver.cc:106
+#, fuzzy
+msgid "Nothing to connect extender to on the left.  Ignoring extender event."
 msgstr ""
 "Prodlou¾ení není vlevo k èemu pøipojit. Ignoruji po¾adavek na prodlou¾ení"
 
@@ -638,10 +1476,15 @@ msgstr ""
 msgid "no one to print a repeat brace"
 msgstr "není nikdo, kdo by tiskl repetièní svorku"
 
-#: font-interface.cc:238
+#: font-interface.cc:239
 msgid "couldn't find any font satisfying "
 msgstr "nelze nalézt ¾ádný vhodný font"
 
+#: glissando-engraver.cc:100
+#, fuzzy
+msgid "Unterminated glissando."
+msgstr "neukonèená ligatura"
+
 #: gourlay-breaking.cc:188
 #, c-format
 msgid "Optimal demerits: %f"
@@ -651,6 +1494,16 @@ msgstr "Optim
 msgid "No feasible line breaking found"
 msgstr "Nebylo nalezeno vhodné místo pro øádkový zlom"
 
+#: gregorian-ligature-engraver.cc:59
+#, fuzzy, c-format
+msgid "\\%s ignored"
+msgstr "(ignorováno)"
+
+#: gregorian-ligature-engraver.cc:64
+#, c-format
+msgid "implied \\%s added"
+msgstr ""
+
 #.
 #. Todo: do something sensible. The grob-pq-engraver is not water
 #. tight, and stuff like tupletSpannerDuration confuses it.
@@ -664,82 +1517,57 @@ msgstr ""
 "Nìco je pøeskoèeno?\n"
 "Grob %s skonèil døíve, ne¾ bylo oèekáváno."
 
-#: hyphen-engraver.cc:89
-msgid "unterminated hyphen"
-msgstr "neukonèený spojovník"
-
-#: hyphen-engraver.cc:101
-msgid "Nothing to connect hyphen to on the left.  Ignoring hyphen request."
-msgstr "Vlevo není k èemu pøipojit spojovník. Ignoruji po¾adavek na spojovník."
-
-#: change-iterator.cc:22
-#, c-format
-msgid "can't change `%s' to `%s'"
-msgstr "nelze zmìnit `%s' na `%s'"
-
-#.
-#. We could change the current translator's id, but that would make
-#. errors hard to catch
-#.
-#. last->translator_id_string_  = get_change ()->change_to_id_string_;
-#.
-#: change-iterator.cc:79
-msgid "I'm one myself"
-msgstr "Jsem pouze jediný"
+#: hairpin.cc:98
+#, fuzzy
+msgid "decrescendo too small"
+msgstr "Text_spanner je pøíli¹ malý"
 
-#: change-iterator.cc:82
-msgid "none of these in my family"
-msgstr "¾ádný z tìchto neznám"
+#: hairpin.cc:99
+#, fuzzy
+msgid "crescendo too small"
+msgstr "Text_spanner je pøíli¹ malý"
 
-#: chord.cc:313
-#, c-format
-msgid "invalid subtraction: not part of chord: %s"
-msgstr "neplatný odeèet: není souèástí akordu: %s"
+#: horizontal-bracket-engraver.cc:64
+msgid "Don't have that many brackets."
+msgstr ""
 
-#: chord.cc:342
-#, c-format
-msgid "invalid inversion pitch: not part of chord: %s"
-msgstr "neplatný inverzní tón: není souèástí akordu: %s"
+#: horizontal-bracket-engraver.cc:73
+#, fuzzy
+msgid "Conflicting note group events."
+msgstr "Nalezeny konfliktní tóniny."
 
-#: chord-tremolo-engraver.cc:137 percent-repeat-engraver.cc:182
-msgid "unterminated chord tremolo"
-msgstr "neukonèené akordové tremolo"
+#: hyphen-engraver.cc:87
+msgid "unterminated hyphen"
+msgstr "neukonèený spojovník"
 
-#: chord-tremolo-iterator.cc:67
-msgid "no one to print a tremolos"
-msgstr "není nikdo, kdo by tiskl tremola"
+#: hyphen-engraver.cc:99
+#, fuzzy
+msgid "Nothing to connect hyphen to on the left.  Ignoring hyphen event."
+msgstr "Vlevo není k èemu pøipojit spojovník. Ignoruji po¾adavek na spojovník."
 
 #: input.cc:99
 msgid "non fatal error: "
 msgstr "nepøíli¹ záva¾ná chyba: "
 
-#: input.cc:107 source-file.cc:148 source-file.cc:241
+#: input.cc:107 source-file.cc:146 source-file.cc:239
 msgid "position unknown"
 msgstr "neznámá pozice"
 
-#: input-file-results.cc:71 source-file.cc:54 streams.cc:38
+#: input-file-results.cc:72 source-file.cc:54 streams.cc:38
 #, c-format
 msgid "can't open file: `%s'"
 msgstr "nelze otevøít soubor: `%s'"
 
-#: input-file-results.cc:131
+#: input-file-results.cc:132
 msgid "Score contains errors; will not process it"
 msgstr "Partitura obsahuje chyby; nebude zpracována"
 
-#: input-file-results.cc:168
+#: input-file-results.cc:172
 #, c-format
 msgid "Now processing: `%s'"
 msgstr "Nyní zpracovávám: `%s'"
 
-#: key-engraver.cc:91
-msgid "Conflicting key signatures found."
-msgstr "Nalezeny konfliktní tóniny."
-
-#: key-engraver.cc:92
-msgid "This was the other key definition."
-msgstr "Toto byla jiná definice tóniny."
-
-#: key-performer.cc:92
+#: key-performer.cc:96
 msgid "FIXME: key change merge"
 msgstr "FIXME: slouèení zmìn tóniny"
 
@@ -748,68 +1576,68 @@ msgstr "FIXME: slou
 msgid "Kpathsea couldn't find TFM file `%s'"
 msgstr "Kpathsea nemù¾e nalézt TFM soubor `%s'"
 
-#: ligature-bracket.cc:105 ligature-bracket.cc:139 ligature-engraver.cc:124
-msgid "no left bound"
-msgstr "chybí levá hranice"
-
-#: ligature-engraver.cc:81
+#: ligature-engraver.cc:159
 #, fuzzy
 msgid "can't find start of ligature"
 msgstr "nelze nalézt zaèátek ligatury"
 
-#: ligature-engraver.cc:86
+#: ligature-engraver.cc:165
 msgid "no right bound"
 msgstr "chybí pravá hranice"
 
-#: ligature-engraver.cc:108
+#: ligature-engraver.cc:191
 #, fuzzy
 msgid "already have a ligature"
 msgstr "ligatura ji¾ existuje"
 
-#: ligature-engraver.cc:166
+#: ligature-engraver.cc:207
+msgid "no left bound"
+msgstr "chybí levá hranice"
+
+#: ligature-engraver.cc:258
 #, fuzzy
 msgid "unterminated ligature"
 msgstr "neukonèená ligatura"
 
-#: ligature-engraver.cc:183
+#: ligature-engraver.cc:282
 msgid "ligature may not contain rest; ignoring rest"
 msgstr "ligatura by nemìla obsahovat pomlku; ignoruji pomlku"
 
-#: ligature-engraver.cc:184
+#: ligature-engraver.cc:283
 #, fuzzy
 msgid "ligature was started here"
 msgstr "ligatura byla zaèata zde"
 
-#: lily-guile.cc:91
+#: lily-guile.cc:88
 #, c-format
 msgid "(load path: `%s')"
 msgstr "(nahrávací cesta: `%s')"
 
-#: lily-guile.cc:566
+#: lily-guile.cc:576
 #, fuzzy, c-format
 msgid "Can't find property type-check for `%s' (%s)."
 msgstr "Nelze nalézt kontrolu typu vlastnosti pro `%s' (%s)."
 
-#: lily-guile.cc:569
+#: lily-guile.cc:579
 msgid "Perhaps you made a typing error?"
 msgstr "Mo¾ná se stal pøeklep?"
 
-#: lily-guile.cc:575
+#: lily-guile.cc:585
 msgid "Doing assignment anyway."
 msgstr "Pøesto pøiøazuji."
 
-#: lily-guile.cc:589
+#: lily-guile.cc:599
 #, c-format
 msgid "Type check for `%s' failed; value `%s' must be of type `%s'"
 msgstr "Kontrola typu `%s' selhala; hodnota `%s' musí být typu `%s'"
 
-#: lookup.cc:141
+#: lookup.cc:173
 msgid "round filled box horizontal extent smaller than blot; decreasing blot"
 msgstr ""
 "¹íøka boxu se zaokrouhlenými rohy je men¹í ne¾ prùmìr zaokrouhlení; sni¾uji "
 "zaokrouhlení"
 
-#: lookup.cc:146
+#: lookup.cc:178
 msgid "round filled box vertical extent smaller than blot; decreasing blot"
 msgstr ""
 "vý¹ka boxu se zaokrouhlenými rohy je men¹í ne¾ prùmìr zaokrouhlení; sni¾uji "
@@ -831,12 +1659,6 @@ msgstr "V
 msgid "set options, use -e '(ly-option-usage)' for help"
 msgstr "nastaví volby, pou¾ijte -e '(ly-option-usage)' pro nápovìdu"
 
-#. another bug in option parser: --output=foe is taken as an abbreviation
-#. for --output-format
-#: main.cc:110
-msgid "EXT"
-msgstr "PØÍP"
-
 #: main.cc:110
 msgid "use output format EXT"
 msgstr "pou¾ije výstupní formát PØÍP"
@@ -897,19 +1719,15 @@ msgid ""
 msgstr ""
 "Toto je svobodný software. Je chránìn GNU General Public License \n"
 "a vy jste vítáni k jeho zmìnì a (nebo) ¹íøení jeho kopií za dodr¾ení\n"
-"urèitých podmínek. Pro více informací spus»te program takto: `%s "
-"--warranty'.\n"
-
-#: main.cc:188 main.cc:200
-#, c-format
-msgid "Copyright (c) %s by"
-msgstr "Copyright (c) %s by"
+"urèitých podmínek. Pro více informací spus»te program takto: `%s --"
+"warranty'.\n"
 
 #: main.cc:198
 msgid "GNU LilyPond -- The music typesetter"
 msgstr "GNU LilyPond -- Sazeè hudby"
 
 #: main.cc:206
+#, fuzzy
 msgid ""
 "    This program is free software; you can redistribute it and/or\n"
 "modify it under the terms of the GNU General Public License version 2\n"
@@ -922,7 +1740,8 @@ msgid ""
 "\n"
 "    You should have received a copy (refer to the file COPYING) of the\n"
 "GNU General Public License along with this program; if not, write to\n"
-"the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,\n"
+"the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA "
+"02111-1307,\n"
 "USA.\n"
 msgstr ""
 "    Tento program je svobodný software; mù¾ete jej distribuovat a (nebo)\n"
@@ -936,83 +1755,80 @@ msgstr ""
 "GNU General Public License. Pokud se tak nestalo, napi¹te Free Software\n"
 "Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139. USA\n"
 
-#: mensural-ligature.cc:152
-#, c-format
-msgid "Mensural_ligature: thickness undefined on flexa %d; assuming 1.4"
+#: mensural-ligature.cc:153
+#, fuzzy, c-format
+msgid "Mensural_ligature:thickness undefined on flexa %d; assuming 1.4"
 msgstr ""
 "Mensural_ligature: tlou¹»ka není definována pro flexu %d; pøedpokládám 1.4"
 
-#: mensural-ligature.cc:166
-#, c-format
-msgid "Mensural_ligature: delta-pitch undefined on flexa %d; assuming 0"
+#: mensural-ligature.cc:169
+#, fuzzy, c-format
+msgid "Mensural_ligature:delta-pitch undefined on flexa %d; assuming 0"
 msgstr ""
 "Mensural_ligature: rozdíl tónù (delta-pitch) není definována pro flexu %d; "
 "pøedpokládám 0"
 
-#: mensural-ligature.cc:177
-#, c-format
-msgid "Mensural_ligature: flexa-width undefined on flexa %d; assuming 2.0"
+#: mensural-ligature.cc:182
+#, fuzzy, c-format
+msgid "Mensural_ligature:flexa-width undefined on flexa %d; assuming 2.0"
 msgstr ""
 "Mensural_ligature: ¹íøka flexy (flexa-width) není definována pro flexu %d; "
 "pøedpokládám 2.0"
 
-#: mensural-ligature.cc:208
-msgid "Mensural_ligature: unexpected case fall-through"
+#: mensural-ligature.cc:215
+#, fuzzy
+msgid "Mensural_ligature:unexpected case fall-through"
 msgstr "Mensural_ligature: neznámý pøípad"
 
-#: mensural-ligature.cc:217
-msgid "Menusral_ligature: (join_left == 0)"
+#: mensural-ligature.cc:225
+#, fuzzy
+msgid "Mensural_ligature: (join_left == 0)"
 msgstr "Mensural_ligature: (join_left == 0)"
 
-#: mensural-ligature-engraver.cc:321 mensural-ligature-engraver.cc:468
+#: mensural-ligature-engraver.cc:248 mensural-ligature-engraver.cc:397
 msgid "unexpected case fall-through"
 msgstr "neznámý pøípad"
 
-#: mensural-ligature-engraver.cc:332
+#: mensural-ligature-engraver.cc:259
 msgid "ligature with less than 2 heads -> skipping"
 msgstr "ligatura s ménì ne¾ dvìma hlavièkami -> vynechávám"
 
-#: mensural-ligature-engraver.cc:347
+#: mensural-ligature-engraver.cc:279
 msgid "can not determine pitch of ligature primitive -> skipping"
 msgstr "nelze urèit vý¹ku poèátku ligatury -> vynechávám"
 
-#: mensural-ligature-engraver.cc:370
+#: mensural-ligature-engraver.cc:302
 msgid "prime interval within ligature -> skipping"
 msgstr "interval ligatury je prima -> vynechávám"
 
-#: mensural-ligature-engraver.cc:380
+#: mensural-ligature-engraver.cc:312
 msgid "mensural ligature: duration none of L, B, S -> skipping"
 msgstr "menzurální ligatura: délka není ani jedna z L, B, S -> vynechávám"
 
-#: midi-item.cc:144
+#: midi-item.cc:148
 #, c-format
 msgid "no such instrument: `%s'"
 msgstr "takový nástroj neexistuje: `%s'"
 
-#: midi-item.cc:234
+#: midi-item.cc:238
 msgid "silly duration"
 msgstr "podivná délka"
 
-#: midi-item.cc:247
+#: midi-item.cc:251
 msgid "silly pitch"
 msgstr "podivná vý¹ka"
 
-#: music.cc:162
-#, c-format
-msgid "Transposition by %s makes accidental larger than two"
-msgstr "Transpozice o %s vytváøí více posuvek ne¾ dvì"
-
-#: music-output-def.cc:113
+#: music-output-def.cc:111
 #, c-format
 msgid "can't find `%s' context"
 msgstr "nelze nalézt kontext `%s'"
 
-#: my-lily-lexer.cc:143
+#: my-lily-lexer.cc:169
 #, c-format
 msgid "Identifier name is a keyword: `%s'"
 msgstr "Název identifikátoru je klíèové slovo: `%s'"
 
-#: my-lily-lexer.cc:163
+#: my-lily-lexer.cc:191
 #, c-format
 msgid "error at EOF: %s"
 msgstr "chyba na konci souboru: %s"
@@ -1025,43 +1841,46 @@ msgstr "Analyzuji..."
 msgid "Braces don't match"
 msgstr "Poèet závorek nesouhlasí"
 
+#.
+#. music for the softenon children?
+#.
+#: new-fingering-engraver.cc:143
+msgid "music for the martians."
+msgstr ""
+
+#: new-tie-engraver.cc:166 tie-engraver.cc:217
+msgid "lonely tie"
+msgstr "osamocená ligatura"
+
 #: note-collision.cc:340
 msgid "Too many clashing notecolumns.  Ignoring them."
 msgstr "Pøíli¹ mnoho kolizí notových sloupcù. Ignoruji je."
 
-#: note-head.cc:130
+#: note-head.cc:127
 #, c-format
 msgid "note head `%s' not found"
 msgstr "notová hlavièka `%s' nebyla nalezena"
 
-#: output-property-music-iterator.cc:20 request-chord-iterator.cc:76
-#, c-format
-msgid "Junking request: `%s'"
-msgstr "Matoucí po¾adavek: `%s'"
-
-#: paper-def.cc:124
+#: paper-def.cc:96
 #, c-format
 msgid "paper output to `%s'..."
 msgstr "tiskový výstup do `%s'..."
 
-#: paper-outputter.cc:57
-msgid ", at "
-msgstr ", v "
-
-#: paper-score.cc:77
+#: paper-score.cc:78
 #, fuzzy, c-format
 msgid "Element count %d (spanners %d) "
 msgstr "Poèet prvkù je %d (pøeklenutí %d) "
 
-#: paper-score.cc:82
-msgid "Preprocessing elements..."
+#: paper-score.cc:83
+#, fuzzy
+msgid "Preprocessing graphical objects..."
 msgstr "Pøedzpracovávám prvky..."
 
-#: paper-score.cc:115
+#: paper-score.cc:116
 msgid "Outputting Score, defined at: "
 msgstr "Vypisuji partituru, definovanou v: "
 
-#: parse-scm.cc:80
+#: parse-scm.cc:79
 msgid "GUILE signaled an error for the expression begining here"
 msgstr "GUILE hlásí chybu ve výrazu, který zaèíná zde"
 
@@ -1071,20 +1890,25 @@ msgstr "GUILE hl
 #.
 #. last->translator_id_string_  = get_change ()->change_to_id_string_;
 #.
-#: part-combine-music-iterator.cc:140
+#: part-combine-music-iterator.cc:139
 #, c-format
 msgid "I'm one myself: `%s'"
 msgstr "Jsem pouze jediný"
 
-#: part-combine-music-iterator.cc:143
+#: part-combine-music-iterator.cc:142
 #, c-format
 msgid "none of these in my family: `%s'"
 msgstr "¾ádný z tìchto neznám"
 
-#: percent-repeat-engraver.cc:116
+#: percent-repeat-engraver.cc:109
 msgid "Don't know how to handle a percent repeat of this length."
 msgstr "Nevím, jak zpracovat procentové opakování této délky."
 
+#: percent-repeat-engraver.cc:163
+#, fuzzy
+msgid "unterminated percent repeat"
+msgstr "neuzavøená pedálová závorka"
+
 #: percent-repeat-iterator.cc:65
 msgid "no one to print a percent"
 msgstr "není nikdo, kdo by tiskl procento"
@@ -1111,115 +1935,83 @@ msgstr "z hudebn
 msgid "MIDI output to `%s'..."
 msgstr "MIDI výstup do `%s'..."
 
-#: phrasing-slur-engraver.cc:117
+#: phrasing-slur-engraver.cc:123
 msgid "unterminated phrasing slur"
 msgstr "neukonèené frázovací legato"
 
-#: phrasing-slur-engraver.cc:132
+#: phrasing-slur-engraver.cc:141
 msgid "can't find start of phrasing slur"
 msgstr "nelze nalézt zaèátek frázovacího legata"
 
-#: piano-pedal-engraver.cc:230 piano-pedal-engraver.cc:245
-#: piano-pedal-engraver.cc:300 piano-pedal-performer.cc:82
+#: piano-pedal-engraver.cc:235 piano-pedal-engraver.cc:250
+#: piano-pedal-engraver.cc:305 piano-pedal-performer.cc:82
 #, c-format
 msgid "can't find start of piano pedal: `%s'"
 msgstr "nelze nalézt zaèátek pedálu piana: `%s'"
 
-#: piano-pedal-engraver.cc:405
+#: piano-pedal-engraver.cc:410
 #, fuzzy
 msgid "unterminated pedal bracket"
 msgstr "neuzavøená pedálová závorka"
 
-#: pitch.cc:25
-msgid "Pitch arguments out of range"
-msgstr "Vý¹kové argumenty jsou mimo rozsah"
-
-#: porrectus.cc:35
-msgid "(left_head == 0)"
-msgstr "(left_head == 0)"
-
-#: porrectus.cc:46
-msgid "undefined left_head"
-msgstr "nedefinované left_head"
-
-#: porrectus.cc:65
-msgid "(right_head == 0)"
-msgstr "(right_head == 0)"
-
-#: porrectus.cc:76
-msgid "undefined right_head"
-msgstr "nedefinované right_head"
-
-#: porrectus.cc:96
-msgid "junking lonely porrectus"
-msgstr "matoucí osamocený porrectus"
-
-#: porrectus.cc:106
-msgid "porrectus style undefined; using mensural"
-msgstr "syyl porrectu není definován; pou¾ívám mensural"
-
-#: porrectus.cc:251
-msgid "ascending vaticana style porrectus"
-msgstr "vzestupný porrectus ve stylu vaticana "
-
-#: property-iterator.cc:93
+#: property-iterator.cc:97
 #, c-format
 msgid "Not a grob name, `%s'."
 msgstr "Není jménem grobu, `%s'."
 
-#: rest.cc:135
+#: rest.cc:139
 #, c-format
 msgid "rest `%s' not found, "
 msgstr "pomlka `%s' nebyla nalezena, "
 
-#: rest-collision.cc:186
+#: rest-collision.cc:199
 msgid "too many colliding rests"
 msgstr "pøíli¹ mnoho kolidujících pomlk"
 
-#: scm-option.cc:44
+#: scm-option.cc:45
 msgid "lilypond -e EXPR means:"
 msgstr "lilypond -e VÝRAZ znamená:"
 
-#: scm-option.cc:46
+#: scm-option.cc:47
 msgid "  Evalute the Scheme EXPR before parsing any .ly files."
 msgstr "  Vyhodnotí VÝRAZ Scheme pøed zpracováním v¹ech souborù .ly."
 
-#: scm-option.cc:48
+#: scm-option.cc:49
 msgid ""
 "  Multiple -e options may be given, they will be evaluated sequentially."
 msgstr "  Voleb -e mù¾e být zadáno více, budou vyhodnoceny postupnì."
 
-#: scm-option.cc:50
+#: scm-option.cc:51
 msgid ""
 "  The function ly-set-option allows for access to some internal variables."
 msgstr "  Funkce ly-set-option dovoluje nastavovat nìkteré interní promìnné."
 
-#: scm-option.cc:52
+#: scm-option.cc:53
 msgid "Usage: lilypond -e \"(ly-set-option SYMBOL VAL)\""
 msgstr "Pou¾ití: lilypond -e \"(ly-set-option SYMBOL HODN)\""
 
-#: scm-option.cc:54
+#: scm-option.cc:55
 msgid "Where SYMBOL VAL pair is any of:"
 msgstr "Kde je dvojice SYMBOL HODN jedna z:"
 
-#: scm-option.cc:122
+#: scm-option.cc:128
 msgid "Unknown internal option!"
 msgstr "Neznámá interní volba!"
 
-#: score.cc:91
+#: score.cc:85
 msgid "Interpreting music..."
 msgstr "Interpretuji hudbu..."
 
-#: score.cc:103
+#: score.cc:97
 msgid "Need music in a score"
 msgstr "V partituøe je tøeba hudby"
 
 #. should we? hampers debugging.
-#: score.cc:117
+#: score.cc:111
 msgid "Errors found/*, not processing score*/"
 msgstr "Nalezeny chyby/*, nezpracovávám partituru*/"
 
-#: score.cc:124
+#: score.cc:118
 #, c-format
 msgid "elapsed time: %.2f seconds"
 msgstr "uplynulý èas: %.2f sekund"
@@ -1238,7 +2030,7 @@ msgstr "P
 msgid "unbound spanner `%s'"
 msgstr "nepøichycené pøeklenutí `%s'"
 
-#: script-engraver.cc:66
+#: script-engraver.cc:90
 #, c-format
 msgid "Don't know how to interpret articulation `%s'"
 msgstr "Nevím, jak interpretovat artikulaèní znaménko `%s'"
@@ -1248,27 +2040,18 @@ msgstr "Nev
 msgid "Separation_item:  I've been drinking too much"
 msgstr "Separation_item: Moc jsem pil"
 
-#: simple-spacer.cc:254
+#: simple-spacer.cc:248
 #, c-format
 msgid "No spring between column %d and next one"
 msgstr "Chybí pru¾ný výplnìk mezi sloupcem %d a následujícím"
 
-#: slur.cc:53
-#, fuzzy
-msgid "Putting slur over rest."
-msgstr "Dávám ligaturu pøes pomlku."
-
-#: slur.cc:424
-msgid "Slur over rest?"
-msgstr "Ligaturu pøes pomlku?"
-
-#: slur-engraver.cc:140
+#: slur-engraver.cc:141
 msgid "unterminated slur"
 msgstr "neukonèená ligatura"
 
 #. How to shut up this warning, when Voice_devnull_engraver has
-#. eaten start request?
-#: slur-engraver.cc:157
+#. eaten start event?
+#: slur-engraver.cc:159
 msgid "can't find start of slur"
 msgstr "nelze nalézt zaèátek ligatury"
 
@@ -1287,7 +2070,7 @@ msgstr "Celkov
 msgid "#<spring smob d= %f>"
 msgstr "#<spring smob d= %f>"
 
-#: staff-symbol.cc:62
+#: staff-symbol.cc:61
 msgid "staff symbol: indentation yields beyond end of line"
 msgstr "Symbol osnovy: odsazení vyná¹í za konec øádku"
 
@@ -1295,25 +2078,29 @@ msgstr "Symbol osnovy: odsazen
 msgid "Weird stem size; check for narrow beams"
 msgstr "Podivná velikost no¾ky; zkontrolujte úzké trámce"
 
-#: stem.cc:603
+#: stem.cc:611
 #, c-format
 msgid "flag `%s' not found"
 msgstr "praporek `%s' nebyl nalezen"
 
-#: stem.cc:616
+#: stem.cc:624
 #, c-format
 msgid "flag stroke `%s' not found"
 msgstr "symbol praporku `%s' nebyl nalezen"
 
-#: stem-engraver.cc:92
+#: stem-engraver.cc:96
 msgid "tremolo duration is too long"
 msgstr "délka tremola je pøíli¹ velká"
 
-#: stem-engraver.cc:120
+#: stem-engraver.cc:124
 #, c-format
 msgid "Adding note head to incompatible stem (type = %d)"
 msgstr "Pøidávám hlavièku k nekompatibilní no¾ce (typ = %d)"
 
+#: stem-engraver.cc:125
+msgid "Don't you want polyphonic voices instead?"
+msgstr ""
+
 #: streams.cc:34
 #, c-format
 msgid "can't create directory: `%s'"
@@ -1328,28 +2115,25 @@ msgstr "Chyba p
 msgid "Element count %d."
 msgstr "Poèet prvkù je %d."
 
-#: system.cc:377
+#: system.cc:372
 #, fuzzy, c-format
 msgid "Grob count %d "
 msgstr "Poèet grobù je %d "
 
-#: system.cc:391
-msgid "Calculating column positions..."
+#: system.cc:386
+#, fuzzy
+msgid "Calculating line breaks..."
 msgstr "Poèítám pozice sloupcù..."
 
-#: text-spanner.cc:130
-msgid "Text_spanner too small"
-msgstr "Text_spanner je pøíli¹ malý"
-
-#: text-spanner-engraver.cc:90
+#: text-spanner-engraver.cc:81
 msgid "can't find start of text spanner"
 msgstr "nelze nalézt zaèátek textového pøeklenutí"
 
-#: text-spanner-engraver.cc:104
+#: text-spanner-engraver.cc:95
 msgid "already have a text spanner"
 msgstr "ji¾ obsahuje textové pøeklenutí"
 
-#: text-spanner-engraver.cc:172
+#: text-spanner-engraver.cc:164
 msgid "unterminated text spanner"
 msgstr "neukonèené textové pøeklenutí"
 
@@ -1371,11 +2155,7 @@ msgid "%s: TFM file has %u parameters, which is more than the %u I can handle"
 msgstr ""
 "%s: TFM soubor má %u parametrù, co¾ je více ne¾ %u, které lze obslou¾it"
 
-#: tie-engraver.cc:216
-msgid "lonely tie"
-msgstr "osamocená ligatura"
-
-#: tie-performer.cc:161
+#: tie-performer.cc:159
 msgid "No ties were created!"
 msgstr "Nebyly vyvoøeny ¾ádné ligatury!"
 
@@ -1383,169 +2163,316 @@ msgstr "Nebyly vyvo
 msgid "no one to print a tuplet start bracket"
 msgstr "není kdo by vytiskl otevírací závorku pro triolu (kvartolu, ...)"
 
-#.
 #. If there is no such symbol, we default to the numbered style.
 #. (Here really with a warning!)
-#.
-#: time-signature.cc:91
+#: time-signature.cc:87
 #, c-format
 msgid "time signature symbol `%s' not found; reverting to numbered style"
 msgstr ""
 "symbol pro znaèení taktu `%s' nebyl nalezen; mìním na znaèení èíslicemi"
 
+#.
+#. Todo: should make typecheck?
+#.
+#. OTOH, Tristan Keuris writes 8/20 in his Intermezzi.
+#.
+#: time-signature-engraver.cc:57
+#, c-format
+msgid "Found strange time signature %d/%d."
+msgstr ""
+
 #: translator-ctors.cc:53
 #, c-format
 msgid "unknown translator: `%s'"
 msgstr "neznámý pøekladaè: `%s':"
 
-#: translator-def.cc:101
+#: translator-def.cc:105
 msgid "Program has no such type"
 msgstr "Program nemá takový typ"
 
-#: translator-def.cc:107
+#: translator-def.cc:111
 #, c-format
 msgid "Already contains: `%s'"
 msgstr "Ji¾ obsahuje: `%s'"
 
-#: translator-def.cc:108
+#: translator-def.cc:112
 #, c-format
 msgid "Not adding translator: `%s'"
 msgstr "Nepøidávám pøekladaè: `%s'"
 
-#: translator-def.cc:223
+#: translator-def.cc:229
 #, c-format
 msgid "can't find: `%s'"
 msgstr "nelze nalézt: `%s'"
 
-#: translator-group.cc:159
+#: translator-group.cc:158
 #, c-format
 msgid "can't find or create `%s' called `%s'"
 msgstr "nelze nalézt nebo vytvoøit `%s' nazvaný `%s'"
 
-#: translator-group.cc:244
+#: translator-group.cc:230
 #, c-format
 msgid "can't find or create: `%s'"
 msgstr "nelze nalézt nebo vytvoøit: `%s'"
 
-#: volta-engraver.cc:111
+#: vaticana-ligature.cc:49
+#, fuzzy
+msgid "ascending vaticana style flexa"
+msgstr "vzestupný porrectus ve stylu vaticana "
+
+#: vaticana-ligature.cc:219
+#, fuzzy
+msgid "Vaticana_ligature:thickness undefined; assuming 1.4"
+msgstr ""
+"Mensural_ligature: tlou¹»ka není definována pro flexu %d; pøedpokládám 1.4"
+
+#: vaticana-ligature.cc:233
+#, fuzzy
+msgid "Vaticana_ligature:x-offset undefined; assuming 0.0"
+msgstr ""
+"Mensural_ligature: ¹íøka flexy (flexa-width) není definována pro flexu %d; "
+"pøedpokládám 2.0"
+
+#: vaticana-ligature.cc:258
+#, fuzzy
+msgid "Vaticana_ligature: (delta_pitch == 0)"
+msgstr "Mensural_ligature: (join_left == 0)"
+
+#: vaticana-ligature.cc:271
+msgid "Vaticana_ligature:delta-pitch -> ignoring join"
+msgstr ""
+
+#: vaticana-ligature-engraver.cc:477
+#, c-format
+msgid "Vaticana_ligature_engraver: setting `spacing-increment = %f': ptr=%ul"
+msgstr ""
+
+#: volta-engraver.cc:112
 msgid "No volta spanner to end"
 msgstr "zde není repetice k ukonèení"
 
-#: volta-engraver.cc:121
+#: volta-engraver.cc:123
 msgid "Already have a volta spanner.  Stopping that one prematurely."
 msgstr "Ji¾ má repetici. Pøedèasnì ji ukonèuji."
 
-#: volta-engraver.cc:125
+#: volta-engraver.cc:127
 msgid "Also have a stopped spanner.  Giving up."
 msgstr "Také má právì ukonèenou repetici. Vzdávám."
 
-#: parser.yy:436
+#: parser.yy:480
 #, fuzzy
 msgid "Identifier should have alphabetic characters only"
 msgstr "Identifikátor by mìl obsahovat pouze písmena"
 
-#: parser.yy:731
+#: parser.yy:779
 msgid "More alternatives than repeats.  Junking excess alternatives."
 msgstr "Více alternativ ne¾ opakování. Zahazuji nadbyteèné alternativy."
 
-#: parser.yy:801
+#: parser.yy:861 parser.yy:868
+msgid "\applycontext takes function argument"
+msgstr ""
+
+#: parser.yy:877
 msgid "Second argument must be a symbol"
 msgstr "Druhý argument musí být symbol"
 
-#: parser.yy:806
+#: parser.yy:882
 #, fuzzy
 msgid "First argument must be a procedure taking one argument"
 msgstr "První argument musí být procedura s jedním parametrem"
 
-#: parser.yy:1428
+#: parser.yy:1009
+msgid "\apply takes function argument"
+msgstr ""
+
+#: parser.yy:1501
 msgid "Expecting string as script definition"
 msgstr "Oèekáván øetìzec jako definice skriptu"
 
-#: parser.yy:1438
-msgid "Can't specify direction for this request"
-msgstr "Nelze urèit smìr pro tento po¾adavek"
-
-#: parser.yy:1564
+#: parser.yy:1598
 msgid "Expecting musical-pitch value"
 msgstr "Oèekávána hodnota musical-pitch"
 
-#: parser.yy:1575
+#: parser.yy:1609
 msgid "Must have duration object"
 msgstr "Musí mít objekt délka"
 
-#: parser.yy:1584 parser.yy:1592
+#: parser.yy:1618 parser.yy:1626
 msgid "Have to be in Lyric mode for lyrics"
 msgstr "Pro zápis textu musíte být v módu Lyric"
 
-#: parser.yy:1763 parser.yy:1816
+#: parser.yy:1798 parser.yy:1853
 #, c-format
 msgid "not a duration: %d"
 msgstr "není délkou: %d"
 
-#: parser.yy:1903
+#: parser.yy:1949
 msgid "Have to be in Note mode for notes"
 msgstr "Pro zápis not musíte být v módu Note"
 
-#: parser.yy:2002
+#: parser.yy:2032
 msgid "Have to be in Chord mode for chords"
 msgstr "Pro zápis akordù musíte být v módu Chord"
 
-#: parser.yy:2182
+#: parser.yy:2171
 msgid "need integer number arg"
 msgstr "argument musí být celé èíslo"
 
-#: parser.yy:2254
+#: parser.yy:2316
 msgid "Suspect duration found following this beam"
 msgstr "Byla oèekávána délka následující za tímto trámcem"
 
-#: lexer.ll:179
+#: lexer.ll:186
 msgid "EOF found inside a comment"
 msgstr "uvnitø poznámky nalezen konec souboru"
 
-#: lexer.ll:193
+#: lexer.ll:200
 msgid "\\maininput disallowed outside init files"
 msgstr "\\maininput není povolen mimo inicializaèní soubory"
 
-#: lexer.ll:217
+#: lexer.ll:224
 #, c-format
 msgid "wrong or undefined identifier: `%s'"
 msgstr "¹patný nebo nedefinovaný identifikátor: `%s'"
 
 #. backup rule
-#: lexer.ll:226
+#: lexer.ll:233
 msgid "Missing end quote"
 msgstr "Chybìjící koncová uvozovka"
 
 #. backup rule
-#: lexer.ll:248 lexer.ll:252
+#: lexer.ll:255 lexer.ll:259
 msgid "white expected"
 msgstr "oèekávána mezera (whitespace)"
 
-#: lexer.ll:261
+#: lexer.ll:268
 msgid "Can't evaluate Scheme in safe mode"
 msgstr "Nelze vvyhodnotit Scheme v bezpeèném módu"
 
-#: lexer.ll:369
+#: lexer.ll:397 lexer.ll:487
 #, fuzzy
 msgid "Brace found at end of lyric.  Did you forget a space?"
 msgstr "Na konci textu byla nalezena závorka. Zapomnìl jste na mezeru?"
 
-#: lexer.ll:490
+#: lexer.ll:574
 #, c-format
 msgid "invalid character: `%c'"
 msgstr "neplatný znak: `%c'"
 
-#: lexer.ll:576
+#: lexer.ll:651
 #, c-format
 msgid "unknown escaped string: `\\%s'"
 msgstr "neznámá escape sekvence: `\\%s'"
 
-#: lexer.ll:667
+#: lexer.ll:742
 #, fuzzy, c-format
 msgid "Incorrect lilypond version: %s (%s, %s)"
 msgstr "Nesprávná verze lilypondu: %s (%s, %s)"
 
-#: lexer.ll:668
+#: lexer.ll:743
 #, fuzzy
 msgid "Consider updating the input with the convert-ly script"
 msgstr "Zva¾te konverzi zdrojového textu pomocí skriptu convert-ly"
+
+#~ msgid "This is the error log:\n"
+#~ msgstr "Toto je záznam chyb:\n"
+
+#~ msgid "Run LilyPond using LaTeX for titling"
+#~ msgstr "Spou¹tí LilyPond a vypomáhá si LaTeXem pro titulky"
+
+#~ msgid "Trying to salvage the rest."
+#~ msgstr "Pokou¹ím se zachránit zbytek."
+
+#~ msgid "Fetch and rebuild from latest source package"
+#~ msgstr "Stáhuje a znovu sestavuje z nejnovìj¹ích zdrojových textù"
+
+#~ msgid "unpack and build in DIR [%s]"
+#~ msgstr "rozbaluje a sestavuje v ADRESÁØi [%s]"
+
+#~ msgid "execute COMMAND, subtitute:"
+#~ msgstr "vykonává PØÍKAZ, nahraï:"
+
+#~ msgid "%b: build root"
+#~ msgstr "%b: sestav koøenový adresáø"
+
+#~ msgid "%n: package name"
+#~ msgstr "%n: jméno balíèku"
+
+#~ msgid "%r: release directory"
+#~ msgstr "%r: adresáø pro výstupní verzi"
+
+#~ msgid "%t: tarball"
+#~ msgstr "%t: tarball (tar.gz)"
+
+#~ msgid "%v: package version"
+#~ msgstr "%v: verze balíèku"
+
+#~ msgid "keep all output, and name the directory %s"
+#~ msgstr "ponechá v¹echny výstupy a pojmenuje adresáø %s"
+
+#~ msgid "upon failure notify EMAIL[,EMAIL]"
+#~ msgstr "pøi chybì informujte EMAIL[,EMAIL]"
+
+#~ msgid "remove previous build"
+#~ msgstr "odstraní soubory z pøedchozího sestavení"
+
+#~ msgid "fetch and build URL [%s]"
+#~ msgstr "stáhne a sestaví URL [%s]"
+
+#~ msgid "Listing `%s'..."
+#~ msgstr "Prohledávám `%s'..."
+
+#~ msgid "latest is: %s"
+#~ msgstr "nejnovìj¹í je: %s"
+
+#~ msgid "relax, %s is up to date"
+#~ msgstr "uvolnìte se, %s je aktuální"
+
+#~ msgid "Fetching `%s'..."
+#~ msgstr "Stahuje se `%s'..."
+
+#~ msgid "Building `%s'..."
+#~ msgstr "Sestavuje se `%s'..."
+
+#~ msgid "invalid subtraction: not part of chord: %s"
+#~ msgstr "neplatný odeèet: není souèástí akordu: %s"
+
+#~ msgid "invalid inversion pitch: not part of chord: %s"
+#~ msgstr "neplatný inverzní tón: není souèástí akordu: %s"
+
+#~ msgid "This was the other key definition."
+#~ msgstr "Toto byla jiná definice tóniny."
+
+#~ msgid ", at "
+#~ msgstr ", v "
+
+#~ msgid "Pitch arguments out of range"
+#~ msgstr "Vý¹kové argumenty jsou mimo rozsah"
+
+#~ msgid "(left_head == 0)"
+#~ msgstr "(left_head == 0)"
+
+#~ msgid "undefined left_head"
+#~ msgstr "nedefinované left_head"
+
+#~ msgid "(right_head == 0)"
+#~ msgstr "(right_head == 0)"
+
+#~ msgid "undefined right_head"
+#~ msgstr "nedefinované right_head"
+
+#~ msgid "junking lonely porrectus"
+#~ msgstr "matoucí osamocený porrectus"
+
+#~ msgid "porrectus style undefined; using mensural"
+#~ msgstr "syyl porrectu není definován; pou¾ívám mensural"
+
+#, fuzzy
+#~ msgid "Putting slur over rest."
+#~ msgstr "Dávám ligaturu pøes pomlku."
+
+#~ msgid "Slur over rest?"
+#~ msgstr "Ligaturu pøes pomlku?"
+
+#~ msgid "Can't specify direction for this request"
+#~ msgstr "Nelze urèit smìr pro tento po¾adavek"
index 2e737d14df7156da7669c6f42ec27adb94578dd1..e97f0d6b362a946a6f1edf46320c352b6475768a 100644 (file)
--- a/po/da.po
+++ b/po/da.po
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: lilypond 1.6.0\n"
-"POT-Creation-Date: 2002-08-18 17:05+0200\n"
+"POT-Creation-Date: 2003-07-18 14:45+0200\n"
 "PO-Revision-Date: 2002-09-07 21:00+0200\n"
 "Last-Translator: Keld Simonsen <keld@dkuug.dk>\n"
 "Language-Team: Danish <dansk@klid.dk>\n"
@@ -14,406 +14,1187 @@ msgstr ""
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: lilypond-book.py:1019 ly2dvi.py:458 ly2dvi.py:491
-#, c-format
-msgid "Running %s..."
-msgstr "Kør %s..."
+#. this is where special info is often stored
+#. ###############################################################
+#. lilylib.py -- options and stuff
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. ##  subst:\(^\|[^._a-z]\)\(abspath\|identify\|warranty\|progress\|warning\|error\|exit\|getopt_args\|option_help_str\|options_help_str\|help\|setup_temp\|read_pipe\|system\|cleanup_temp\|strip_extension\|cp_to_dir\|mkdir_p\|init\) *(
+#. ##  replace:\1ly.\2 (
+#. ## subst: \(help_summary\|keep_temp_dir_p\|option_definitions\|original_dir\|program_name\|pseudo_filter_p\|temp_dir\|verbose_p\)
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. lilylib globals
+#: lilylib.py:60
+msgid "lilylib module"
+msgstr ""
+
+# forklaring af flag -h
+#: lilylib.py:63 lilypond-book.py:131 ly2dvi.py:128 midi2ly.py:100
+#: mup2ly.py:75 main.cc:111
+msgid "this help"
+msgstr "denne hjælp"
 
-#: ly2dvi.py:118
-msgid "Distributed under terms of the GNU General Public License.  It comes with NO WARRANTY."
+#. ###############################################################
+#. Handle bug in Python 1.6-2.1
+#.
+#. there are recursion limits for some patterns in Python 1.6 til 2.1.
+#. fix this by importing pre instead. Fix by Mats.
+#. Attempt to fix problems with limited stack size set by Python!
+#. Sets unlimited stack size. Note that the resource module only
+#. is available on UNIX.
+#: lilylib.py:114 midi2ly.py:136 mup2ly.py:130 main.cc:188 main.cc:200
+#, c-format, python-format
+msgid "Copyright (c) %s by"
+msgstr "Copyright © %s af"
+
+#: lilylib.py:114
+msgid " 1998--2003"
 msgstr ""
 
-#: ly2dvi.py:125 midi2ly.py:148 mup2ly.py:143 update-lily.py:137 input.cc:87
+#: lilylib.py:118
+msgid "Distributed under terms of the GNU General Public License."
+msgstr ""
+
+#: lilylib.py:120
+msgid "It comes with NO WARRANTY."
+msgstr ""
+
+#: lilylib.py:127 midi2ly.py:150 mup2ly.py:144 input.cc:88
 msgid "warning: "
 msgstr "advarsel: "
 
-#: ly2dvi.py:128 ly2dvi.py:143 midi2ly.py:163 midi2ly.py:1012 midi2ly.py:1081
-#: mup2ly.py:146 mup2ly.py:160 update-lily.py:152 update-lily.py:458
-#: input.cc:92
+#. lots of midi files use plain text for lyric events
+#. FIXME: read from stdin when files[0] = '-'
+#: lilylib.py:130 midi2ly.py:165 midi2ly.py:1018 midi2ly.py:1083 mup2ly.py:147
+#: mup2ly.py:161 input.cc:93
 msgid "error: "
 msgstr "fejl: "
 
-#: ly2dvi.py:144 midi2ly.py:164 mup2ly.py:161 update-lily.py:153
-msgid "Exiting ... "
+#: lilylib.py:134
+#, fuzzy, python-format
+msgid "Exiting (%d)..."
 msgstr "Afslutter... "
 
-#: ly2dvi.py:202 midi2ly.py:222 mup2ly.py:219 update-lily.py:211
-#, c-format
+#: lilylib.py:194 midi2ly.py:224 mup2ly.py:220
+#, python-format
 msgid "Usage: %s [OPTION]... FILE"
 msgstr "Brug: %s [FLAG]... FIL"
 
-#: ly2dvi.py:206 midi2ly.py:226 mup2ly.py:223 update-lily.py:215 main.cc:166
+#: lilylib.py:198 midi2ly.py:228 mup2ly.py:224 main.cc:166
 msgid "Options:"
 msgstr "Flag:"
 
-#: ly2dvi.py:210 midi2ly.py:230 mup2ly.py:227 update-lily.py:219 main.cc:172
-#, c-format
+#: lilylib.py:202 midi2ly.py:232 mup2ly.py:228 main.cc:172
+#, c-format, python-format
 msgid "Report bugs to %s"
 msgstr ""
 "Rapportér programfejl til %s\n"
 "Rapportér fejl i oversættelsen til <dansk@klid.dk>"
 
-#: ly2dvi.py:238 midi2ly.py:258 mup2ly.py:255 update-lily.py:247
-#, c-format
+#: lilylib.py:228
+#, fuzzy, python-format
+msgid "Opening pipe `%s'"
+msgstr "Renser \"%s\"..."
+
+#. successful pipe close returns 'None'
+#: lilylib.py:240
+#, python-format
+msgid "`%s' failed (%d)"
+msgstr ""
+
+#: lilylib.py:242 lilylib.py:289 lilypond-book.py:231 ly2dvi.py:512
+msgid "The error log is as follows:"
+msgstr ""
+
+#: lilylib.py:262 midi2ly.py:260 mup2ly.py:256
+#, python-format
 msgid "Invoking `%s'"
 msgstr "Starter \"%s\""
 
-#: ly2dvi.py:243 midi2ly.py:262 mup2ly.py:260 update-lily.py:251
-#, c-format
-msgid "command exited with value %d"
-msgstr "kommandoen afsluttede med værdi %d"
+#: lilylib.py:264
+#, python-format
+msgid "Running %s..."
+msgstr "Kør %s..."
 
-#: ly2dvi.py:246 midi2ly.py:264 mup2ly.py:263 update-lily.py:253
+#: lilylib.py:282
+#, python-format
+msgid "`%s' failed (%s)"
+msgstr ""
+
+#: lilylib.py:285 midi2ly.py:266 mup2ly.py:264
 msgid "(ignored)"
 msgstr "(ignoreret)"
 
 # hær er det spørg om rensning af en temporærkatalog
-#: ly2dvi.py:256 midi2ly.py:274 mup2ly.py:273 update-lily.py:263
-#, c-format
+#: lilylib.py:299 midi2ly.py:276 mup2ly.py:274
+#, python-format
 msgid "Cleaning %s..."
 msgstr "Renser %s..."
 
-#: ly2dvi.py:330
-msgid "Run LilyPond using LaTeX for titling"
+#. Duh.  Python style portable: cp *.EXT OUTDIR
+#. system ('cp *.%s %s' % (ext, outdir), 1)
+#. Python < 1.5.2 compatibility
+#.
+#. On most platforms, this is equivalent to
+#. `normpath(join(os.getcwd()), PATH)'.  *Added in Python version 1.5.2*
+#. tex needs lots of memory, more than it gets by default on Debian
+#. TODO: * prevent multiple addition.
+#. * clean TEXINPUTS, MFINPUTS, TFMFONTS,
+#. as these take prevalence over $TEXMF
+#. and thus may break tex run?
+#. $TEXMF is special, previous value is already taken care of
+#. # -sOutputFile does not work with bbox?
+#. # todo:
+#. # have better algorithm for deciding when to crop page,
+#. # and when to show full page
+#: lilylib.py:458
+msgid "Removing output file"
+msgstr ""
+
+#. !@PYTHON@
+#. once upon a rainy monday afternoon.
+#.
+#. ...
+#.
+#. (not finished.)
+#. ABC standard v1.6:  http://www.gre.ac.uk/~c.walshaw/abc2mtex/abc.txt
+#.
+#. Enhancements  (Roy R. Rankin)
+#.
+#. Header section moved to top of lilypond file
+#. handle treble, treble-8, alto, and bass clef
+#. Handle voices (V: headers) with clef and part names, multiple voices
+#. Handle w: lyrics with multiple verses
+#. Handle key mode names for minor, major, phrygian, ionian, locrian, aeolian,
+#. mixolydian, lydian, dorian
+#. Handle part names from V: header
+#. Tuplets handling fixed up
+#. Lines starting with |: not discarded as header lines
+#. Multiple T: and C: header entries handled
+#. Accidental maintained until next bar check
+#. Silent rests supported
+#. articulations fermata, upbow, downbow, ltoe, accent, tenuto supported
+#. Chord strings([-^]"string") can contain a '#'
+#. Header fields enclosed by [] in notes string processed
+#. W: words output after tune as abc2ps does it (they failed before)
+#. Enhancements (Laura Conrad)
+#.
+#. Barring now preserved between ABC and lilypond
+#. the default placement for text in abc is above the staff.
+#. %%LY now supported.
+#. \breve and \longa supported.
+#. M:none doesn't crash lily.
+#. Limitations
+#.
+#. Multiple tunes in single file not supported
+#. Blank T: header lines should write score and open a new score
+#. Not all header fields supported
+#. ABC line breaks are ignored
+#. Block comments generate error and are ignored
+#. Postscript commands are ignored
+#. lyrics not resynchronized by line breaks (lyrics must fully match notes)
+#. %%LY slyrics can't be directly before a w: line.
+#. ???
+#. TODO:
+#.
+#. Convert to new chord styles.
+#.
+#. UNDEF -> None
+#.
+#. uGUHGUHGHGUGH
+#. UGH
+#. treble8 is used by abctab2ps; -8va is used by barfly,
+#. and by my patch to abc2ps. If there's ever a standard
+#. about this we'll support that.
+#. find keywork
+#. assume that Q takes the form "Q:1/4=120"
+#. There are other possibilities, but they are deprecated
+#. outf.write ("\t\t\\consists Staff_margin_engraver\n")
+#. pitch manipulation. Tuples are (name, alteration).
+#. 0 is (central) C. Alteration -1 is a flat, Alteration +1 is a sharp
+#. pitch in semitones.
+#. abc to lilypond key mode names
+#. semitone shifts for key mode names
+#. latex does not like naked #'s
+#. latex does not like naked "'s
+#. break lyrics to words and put "'s around words containing numbers and '"'s
+#. escape "
+#. _ causes probs inside ""
+#. _ to ' _ '
+#. split words with -
+#. unless \-
+#. ~ to space('_')
+#. * to to space
+#. latex does not like naked #'s
+#. put numbers and " and ( into quoted string
+#. insure space between lines
+#. title
+#. strip trailing blanks
+#. Meter
+#. KEY
+#. seperate clef info
+#. there may or may not be a space
+#. between the key letter and the mode
+#. ugh.
+#. ugh.
+#. Notes
+#. Origin
+#. Reference Number
+#. Area
+#. History
+#. Book
+#. Composer
+#. Default note length
+#. Voice
+#. Words
+#. vocals
+#. tempo
+#. we use in this order specified accidental, active accidental for bar,
+#. active accidental for key
+#. (num /  den)  / defaultlen < 1/base
+#. return (str, num,den,dots)
+#. ignore slide
+#. ignore roll
+#. s7m2 input doesnt care about spaces
+#.
+#. remember accidental for rest of bar
+#.
+#. get accidental set in this bar or UNDEF if not set
+#. WAT IS ABC EEN ONTZETTENDE PROGRAMMEERPOEP  !
+#. failed; not a note!
+#. escape '#'s
+#.
+#. |] thin-thick double bar line
+#. || thin-thin double bar line
+#. [| thick-thin double bar line
+#. :| left repeat
+#. |: right repeat
+#. :: left-right repeat
+#. |1 volta 1
+#. |2 volta 2
+#. first try the longer one
+#. bracket escape
+#. the nobarlines option is necessary for an abc to lilypond translator for
+#. exactly the same reason abc2midi needs it: abc requires the user to enter
+#. the note that will be printed, and MIDI and lilypond expect entry of the
+#. pitch that will be played.
+#.
+#. In standard 19th century musical notation, the algorithm for translating
+#. between printed note and pitch involves using the barlines to determine
+#. the scope of the accidentals.
+#.
+#. Since ABC is frequently used for music in styles that do not use this
+#. convention, such as most music written before 1700, or ethnic music in
+#. non-western scales, it is necessary to be able to tell a translator that
+#. the barlines should not affect its interpretation of the pitch.
+#. write other kinds of appending  if we ever need them.
+#. add comments to current voice
+#. Try nibbling characters off until the line doesn't change.
+#. dump_global (outf)
+#. !@PYTHON@
+#.
+#. convert-ly.py -- Update old LilyPond input files (fix name?)
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. TODO
+#. use -f and -t for -s output
+#. NEWS
+#. 0.2
+#. - rewrite in python
+#. Did we ever have \mudela-version?  I doubt it.
+#. lilypond_version_re_str = '\\\\version *\"(.*)\"'
+#. ###########################
+#. need new a namespace
+#. raise FatalConversionError()
+#. need new a namespace
+#. harmful to current .lys
+#. str = re.sub ('\\\\key([^;]+);', '\\\\accidentals \\1;', str)
+#. raise FatalConversionError()
+#. raise FatalConversionError()
+#. raise FatalConversionError()
+#. TODO: lots of other syntax change should be done here as well
+#. Ugh, but meaning of \stemup changed too
+#. maybe we should do \stemup -> \stemUp\slurUp\tieUp ?
+#. I don't know exactly when these happened...
+#. ugh, we loose context setting here...
+#. (lacks capitalisation slur -> Slur)
+#. # dynamic..
+#. TODO: add lots of these
+#. ugh
+#. old fix
+#. Make sure groups of more than one ; have space before
+#. them, so that non of them gets removed by next rule
+#. Only remove ; that are not after spaces, # or ;
+#. Otherwise  we interfere with Scheme comments,
+#. which is badbadbad.
+#. 40 ?
+#. ###############################
+#. END OF CONVERSIONS
+#. ###############################
+#. !@PYTHON@
+#. info mostly taken from looking at files. See also
+#. http://lilypond.org/wiki/?EnigmaTransportFormat
+#. This supports
+#.
+#. * notes
+#. * rests
+#. * ties
+#. * slurs
+#. * lyrics
+#. * articulation
+#. * grace notes
+#. * tuplets
+#.
+#. todo:
+#. * slur/stem directions
+#. * voices (2nd half of frame?)
+#. * more intelligent lyrics
+#. * beams (better use autobeam?)
+#. * more robust: try entertainer.etf (freenote)
+#. * dynamics
+#. * empty measures (eg. twopt03.etf from freenote)
+#.
+#. uGUHGUHGHGUGH
+#. notename 0 == central C
+#. represent pitches as (notename, alteration), relative to C-major scale
+#. a fifth up
+#. should cache this.
+#. flag1 isn't all that interesting.
+#. 3: '>',
+#. 18: '\arpeggio' ,
+#. do grace notes.
+#. ugh.
+#. we don't attempt voltas since they fail easily.
+#. and g.repeat_bar == '|:' or g.repeat_bar == ':|:' or g.bracket:
+#. 4 layers.
+#. let's not do this: this really confuses when eE happens to be before  a ^text.
+#. if last_tag and last_indices:
+#. etf_file_dict[last_tag][last_indices].append (l)
+#. # do it
+#. staff-spec
+#. should use \addlyrics ?
+#. !@PYTHON@
+#. vim: set noexpandtab:
+#. This is was the idea for handling of comments:
+#. Multiline comments, @ignore .. @end ignore is scanned for
+#. in read_doc_file, and the chunks are marked as 'ignore', so
+#. lilypond-book will not touch them any more. The content of the
+#. chunks are written to the output file. Also 'include' and 'input'
+#. regex has to check if they are commented out.
+#.
+#. Then it is scanned for 'lilypond', 'lilypond-file' and 'lilypond-block'.
+#. These three regex's has to check if they are on a commented line,
+#. % for latex, @c for texinfo.
+#.
+#. Then lines that are commented out with % (latex) and @c (Texinfo)
+#. are put into chunks marked 'ignore'. This cannot be done before
+#. searching for the lilypond-blocks because % is also the comment character
+#. for lilypond.
+#.
+#. The the rest of the rexeces are searched for. They don't have to test
+#. if they are on a commented out line.
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. if __name__ == '__main__':
+#. lilylib globals
+#. temp_dir = os.path.join (original_dir,  '%s.dir' % program_name)
+#. urg
+#. # FIXME
+#. # ly2dvi: silly name?
+#. # do -P or -p by default?
+#. #help_summary = _ ("Run LilyPond using LaTeX for titling")
+#: lilypond-book.py:120
+msgid "Process LilyPond snippets in hybrid html, LaTeX or texinfo document"
+msgstr ""
+
+#. another bug in option parser: --output=foe is taken as an abbreviation
+#. for --output-format
+#: lilypond-book.py:125 main.cc:110
+msgid "EXT"
+msgstr "FMT"
+
+#: lilypond-book.py:125
+msgid "use output format EXT (texi [default], texi-html, latex, html)"
 msgstr ""
 
-#: ly2dvi.py:334 main.cc:115
-msgid "write Makefile dependencies for every input file"
-msgstr "skriv Makefile-afhængigheder for hver inddatafil"
+#: lilypond-book.py:126 lilypond-book.py:127 lilypond-book.py:129
+#: lilypond-book.py:130
+#, fuzzy
+msgid "DIM"
+msgstr "KATALOG"
 
-# forklaring af flag -h
-#: ly2dvi.py:335 midi2ly.py:98 mup2ly.py:74 update-lily.py:87 main.cc:111
-msgid "this help"
-msgstr "denne hjælp"
+#: lilypond-book.py:126
+msgid "default fontsize for music.  DIM is assumed to be in points"
+msgstr ""
 
-#: ly2dvi.py:336 main.cc:113 main.cc:118
+#: lilypond-book.py:127
+msgid "deprecated, use --default-music-fontsize"
+msgstr ""
+
+#: lilypond-book.py:128
+msgid "OPT"
+msgstr ""
+
+#: lilypond-book.py:128
+msgid "pass OPT quoted to the lilypond command line"
+msgstr ""
+
+#: lilypond-book.py:129
+msgid "force fontsize for all inline lilypond. DIM is assumed be to in points"
+msgstr ""
+
+#: lilypond-book.py:130
+msgid "deprecated, use --force-music-fontsize"
+msgstr ""
+
+#: lilypond-book.py:132 ly2dvi.py:130 main.cc:113 main.cc:118
 msgid "DIR"
 msgstr "KATALOG"
 
-#: ly2dvi.py:336
+#: lilypond-book.py:132
+msgid "include path"
+msgstr ""
+
+#: lilypond-book.py:133
+#, fuzzy
+msgid "write dependencies"
+msgstr "tilføj KATALOG efter afhængigheder"
+
+#: lilypond-book.py:134
+msgid "PREF"
+msgstr ""
+
+#: lilypond-book.py:134
+#, fuzzy
+msgid "prepend PREF before each -M dependency"
+msgstr "tilføj KATALOG efter afhængigheder"
+
+#: lilypond-book.py:135
+#, fuzzy
+msgid "don't run lilypond"
+msgstr "kør ikke LilyPond"
+
+#: lilypond-book.py:136
+msgid "don't generate pictures"
+msgstr ""
+
+#: lilypond-book.py:137
+msgid "strip all lilypond blocks from output"
+msgstr ""
+
+#: lilypond-book.py:138 lilypond-book.py:139 ly2dvi.py:135 ly2dvi.py:136
+#: midi2ly.py:102 main.cc:114 main.cc:117
+msgid "FILE"
+msgstr "FIL"
+
+#: lilypond-book.py:138
+msgid "filename main output file"
+msgstr ""
+
+#: lilypond-book.py:139
+msgid "where to place generated files"
+msgstr ""
+
+#: lilypond-book.py:140 ly2dvi.py:137
+msgid "RES"
+msgstr ""
+
+#: lilypond-book.py:141 ly2dvi.py:138
+msgid "set the resolution of the preview to RES"
+msgstr ""
+
+# Førklaring til --verbose (borde være længre)
+#: lilypond-book.py:142 ly2dvi.py:148 midi2ly.py:105 mup2ly.py:78 main.cc:126
+msgid "verbose"
+msgstr "udførlig uddata"
+
+#: lilypond-book.py:143
+#, fuzzy
+msgid "print version information"
+msgstr "vis versionsnummer"
+
+#: lilypond-book.py:144 ly2dvi.py:150 midi2ly.py:107 mup2ly.py:80 main.cc:127
+msgid "show warranty and copyright"
+msgstr "vis garanti og copyright"
+
+#. format specific strings, ie. regex-es for input, and % strings for output
+#. global variables
+#. lilypond_binary = 'valgrind --suppressions=/home/hanwen/usr/src/guile-1.6.supp  --num-callers=10 /home/hanwen/usr/src/lilypond/lily/out/lilypond'
+#. only use installed binary  when we're installed too.
+#. only use installed binary  when we're installed too.
+#. ###############################################################
+#. Dimension handling for LaTeX.
+#.
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#: lilypond-book.py:230
+msgid "LaTeX failed."
+msgstr ""
+
+#. URG see ly2dvi
+#. Convert numeric values, with or without specific dimension, to floats.
+#. Keep other strings
+#. ###############################################################
+#. How to output various structures.
+#. # maybe <hr> ?
+#. Verbatim text is always finished with \n.  FIXME: For HTML,
+#. this newline should be removed.
+#. Verbatim text is always finished with \n.  FIXME: For HTML,
+#. this newline should be removed.
+#. # Ugh we need to differentiate on origin:
+#. # lilypond-block origin wants an extra <p>, but
+#. # inline music doesn't.
+#. # possibly other center options?
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. do some tweaking: @ is needed in some ps stuff.
+#.
+#. ugh, the <p> below breaks inline images...
+#. clumsy workaround for python 2.2 pre bug.
+#. ###############################################################
+#. Recognize special sequences in the input
+#. Warning: This uses extended regular expressions.  Tread with care.
+#.
+#. legenda
+#.
+#. (?P<name>regex) -- assign result of REGEX to NAME
+#. *? -- match non-greedily.
+#. (?m) -- multiline regex: make ^ and $ match at each line
+#. (?s) -- make the dot match all characters including newline
+#. why do we have distinction between @mbinclude and @include?
+#. # we'd like to catch and reraise a more
+#. # detailed error, but alas, the exceptions
+#. # changed across the 1.5/2.1 boundary.
+#. ughUGH not original options
+#. First we want to scan the \documentclass line
+#. it should be the first non-comment line.
+#. The only thing we really need to know about the \documentclass line
+#. is if there are one or two columns to begin with.
+#. Then we add everything before \begin{document} to
+#. paperguru.m_document_preamble so that we can later write this header
+#. to a temporary file in find_latex_dims() to find textwidth.
+#. this is not bulletproof..., it checks the first 10 chunks
+#. newchunks.extend (func (m))
+#. python 1.5 compatible:
+#. we have to check for verbatim before doing include,
+#. because we don't want to include files that are mentioned
+#. inside a verbatim environment
+#. ugh fix input
+#. # Hmm, we should hash only lilypond source, and skip the
+#. # %options are ...
+#. # comment line
+#. # todo: include path, but strip
+#. # first part of the path.
+#. format == 'html'
+#. ugh rename
+#. Count sections/chapters.
+#. # TODO: do something like
+#. # this for texinfo/latex as well ?
+#. ugh
+#. fixme: be sys-independent.
+#.
+#. Ugh, fixing up dependencies for .tex generation
+#.
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#. # There used to be code to write .tex dependencies, but
+#. # that is silly: lilypond-book has its own dependency scheme
+#. # to ensure that all lily-XXX.tex files are there
+#. # TODO: put file name in front of texidoc.
+#. #
+#. # what's this? Docme --hwn
+#. #
+#. #docme: why global?
+#. Do It.
+#. should chmod -w
+#: lilypond-book.py:1557 ly2dvi.py:673 midi2ly.py:1018
+#, python-format
+msgid "getopt says: `%s'"
+msgstr "getopt siger: '%s'"
+
+#. HACK
+#. status = os.system ('lilypond -w')
+#: lilypond-book.py:1630 ly2dvi.py:777
+msgid "no files specified on command line"
+msgstr "ingen filer angivne på kommandolinjen."
+
+#.
+#. Petr, ik zou willen dat ik iets zinvoller deed,
+#. maar wat ik kan ik doen, het verandert toch niets?
+#. --hwn 20/aug/99
+#. !@PYTHON@
+#.
+#. ly2dvi.py -- Run LilyPond, add titles to bare score, generate printable
+#. document
+#. Invokes: lilypond, latex (or pdflatex), dvips, ps2pdf, gs
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. This is the third incarnation of ly2dvi.
+#.
+#. Earlier incarnations of ly2dvi were written by
+#. Jeffrey B. Reed<daboys@austin.rr.com> (Python version)
+#. Jan Arne Fagertun <Jan.A.Fagertun@@energy.sintef.no> (Bourne shell script)
+#.
+#. Note: gettext work best if we use ' for docstrings and "
+#. for gettextable strings.
+#. --> DO NOT USE ''' for docstrings.
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. if __name__ == '__main__':
+#. lilylib globals
+#. # FIXME
+#. # ly2dvi: silly name?
+#. # do -P or -p by default?
+#. #help_summary = _ ("Run LilyPond using LaTeX for titling")
+#: ly2dvi.py:121
+msgid "Run LilyPond, add titles, generate printable document"
+msgstr ""
+
+#: ly2dvi.py:127 main.cc:115
+msgid "write Makefile dependencies for every input file"
+msgstr "skriv Makefile-afhængigheder for hver inddatafil"
+
+#: ly2dvi.py:129
+msgid "print even more output"
+msgstr ""
+
+#: ly2dvi.py:130
 msgid "add DIR to LilyPond's search path"
 msgstr "tilføj KATALOG til LilyPonds søgesti"
 
 # %s er programmets navn
-#: ly2dvi.py:338
-#, c-format
+#: ly2dvi.py:132
+#, python-format
 msgid "keep all output, output to directory %s.dir"
 msgstr "behold al uddata, udskrivo i kataloget %s.dir"
 
-#: ly2dvi.py:339
+#: ly2dvi.py:133
 msgid "don't run LilyPond"
 msgstr "kør ikke LilyPond"
 
-#: ly2dvi.py:340 main.cc:116
+#: ly2dvi.py:134 main.cc:116
 msgid "produce MIDI output only"
 msgstr "lav kun MIDI-uddata"
 
-#: ly2dvi.py:341 ly2dvi.py:342 midi2ly.py:100 main.cc:114 main.cc:117
-msgid "FILE"
-msgstr "FIL"
-
-#: ly2dvi.py:341 midi2ly.py:100
+#: ly2dvi.py:135 midi2ly.py:102
 msgid "write ouput to FILE"
 msgstr "skriv uddata til FIL"
 
-#: ly2dvi.py:342
+#: ly2dvi.py:136
 msgid "find pfa fonts used in FILE"
 msgstr "find pfa-skrifttyper brugt i FIL"
 
-#: ly2dvi.py:344
-msgid "set the resolution of the preview to RES"
-msgstr ""
-
-#: ly2dvi.py:345
+#: ly2dvi.py:139
 msgid "generate PostScript output"
 msgstr "lav PostScript-uddata"
 
-#: ly2dvi.py:346
+#: ly2dvi.py:140
+msgid "generate PNG page images"
+msgstr ""
+
+#: ly2dvi.py:141
+#, fuzzy
+msgid "generate PS.GZ"
+msgstr "lav PDF-uddata"
+
+#: ly2dvi.py:142
 msgid "generate PDF output"
 msgstr "lav PDF-uddata"
 
-#: ly2dvi.py:347
+#: ly2dvi.py:143
 msgid "use pdflatex to generate a PDF output"
 msgstr ""
 
-#: ly2dvi.py:349
+#. FIXME: preview, picture; to indicate creation of a PNG?
+#: ly2dvi.py:145
 msgid "make a picture of the first system"
 msgstr ""
 
-#: ly2dvi.py:350
+#: ly2dvi.py:146
+msgid "make HTML file with links to all output"
+msgstr ""
+
+#: ly2dvi.py:147
 msgid "KEY=VAL"
 msgstr "NØGLE=VÆRDI"
 
-#: ly2dvi.py:350
+#: ly2dvi.py:147
 msgid "change global setting KEY to VAL"
 msgstr "ændr global indstilling NØGLE til VÆRDI"
 
-# Førklaring til --verbose (borde være længre)
-#: ly2dvi.py:351 midi2ly.py:103 mup2ly.py:77 update-lily.py:91 main.cc:126
-msgid "verbose"
-msgstr "udførlig uddata"
-
-#: ly2dvi.py:352 midi2ly.py:104 mup2ly.py:78 update-lily.py:92 main.cc:125
+#: ly2dvi.py:149 midi2ly.py:106 mup2ly.py:79 main.cc:125
 msgid "print version number"
 msgstr "vis versionsnummer"
 
-#: ly2dvi.py:353 midi2ly.py:105 mup2ly.py:79 update-lily.py:94 main.cc:127
-msgid "show warranty and copyright"
-msgstr "vis garanti og copyright"
-
-#: ly2dvi.py:448
-#, c-format
+#. other globals
+#. Pdftex support
+#. # yuk.
+#. lilypond_binary = 'valgrind --suppressions=%(home)s/usr/src/guile-1.6.supp --num-callers=10 %(home)s/usr/src/lilypond/lily/out/lilypond '% { 'home' : '/home/hanwen' }
+#. only use installed binary  when we're installed too.
+#. init to empty; values here take precedence over values in the file
+#. # TODO: change name.
+#. for geometry v3
+#. Output formats that ly2dvi should create
+#. what a name.
+#. ly.warning (_ ("invalid value: %s") % `val`)
+#. ly.warning (_ ("invalid value: %s") % `val`)
+#: ly2dvi.py:232
+#, python-format
 msgid "no such setting: `%s'"
 msgstr "indstillingen findes ikke: '%s'"
 
-#: ly2dvi.py:508
-#, c-format
+#. 2 == user interrupt.
+#: ly2dvi.py:274
+#, python-format
 msgid "LilyPond crashed (signal %d)."
 msgstr "LilyPond gik ned (signal %d)."
 
-#: ly2dvi.py:509
+#: ly2dvi.py:275
 msgid "Please submit a bug report to bug-lilypond@gnu.org"
 msgstr ""
 
-#: ly2dvi.py:513
-#, c-format
-msgid "LilyPond failed on the input file (exit status %d)."
+#: ly2dvi.py:281
+#, python-format
+msgid "LilyPond failed on input file %s (exit status %d)"
 msgstr ""
 
-#: ly2dvi.py:522
-#, c-format
+#: ly2dvi.py:284
+#, python-format
+msgid "LilyPond failed on an input file (exit status %d)"
+msgstr ""
+
+#: ly2dvi.py:285
+#, fuzzy
+msgid "Continuing..."
+msgstr "Kør %s..."
+
+#. urg
+#: ly2dvi.py:296
+#, python-format
 msgid "Analyzing %s..."
 msgstr "Analyserer %s..."
 
-#: ly2dvi.py:578
-#, c-format
+#. search only the first 10k
+#: ly2dvi.py:354
+#, python-format
 msgid "no LilyPond output found for `%s'"
 msgstr "ingen lilyponduddata fundet for '%s'"
 
-#: ly2dvi.py:618
-#, c-format
+#. The final \n seems important here. It ensures that the footers and taglines end up on the right page.
+#. TODO: should set textheight (enlarge) depending on papersize.
+#: ly2dvi.py:397
+#, python-format
 msgid "invalid value: `%s'"
 msgstr "ugyldig værdi: '%s'"
 
-#: ly2dvi.py:724
+#. set sane geometry width (a4-width) for linewidth = -1.
+#. who the hell is 597 ?
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#: ly2dvi.py:511
 msgid "LaTeX failed on the output file."
 msgstr ""
 
-#: ly2dvi.py:726
-msgid "The error log is as follows:"
+#. make a preview by rendering only the 1st line
+#. of each score
+#: ly2dvi.py:568
+msgid ""
+"Trying create PDF, but no PFA fonts found.\n"
+"Using bitmap fonts instead. This will look bad."
 msgstr ""
 
-#: ly2dvi.py:849
-#, c-format
+#. ugh. Different targets?
+#. Added as functionality to ly2dvi, because ly2dvi may well need to do this
+#. in future too.
+#. no ps header?
+#: ly2dvi.py:615
+#, python-format
 msgid "not a PostScript file: `%s'"
 msgstr "ikke en PostScript fil: '%s'"
 
-#: ly2dvi.py:865 midi2ly.py:1012 update-lily.py:458
-#, c-format
-msgid "getopt says: `%s'"
-msgstr "getopt siger: '%s'"
+#. todo
+#: ly2dvi.py:660
+#, fuzzy, python-format
+msgid "Writing HTML menu `%s'"
+msgstr "Skriver \"%s\"..."
 
-#: ly2dvi.py:948
+#. signal programming error
+#. Don't convert input files to abspath, rather prepend '.' to include
+#. path.
+#. As a neat trick, add directory part of first input file
+#. to include path.  That way you can do without the clumsy -I in:
+#. ly2dvi -I foe/bar/baz foo/bar/baz/baz.ly
+#: ly2dvi.py:769
 msgid "pseudo filter"
 msgstr ""
 
-#: ly2dvi.py:951
+#: ly2dvi.py:772
 msgid "pseudo filter only for single input file"
 msgstr ""
 
-#: ly2dvi.py:980
-#, c-format
+#. Ugh, maybe make a setup () function
+#. hmmm. Wish I'd 've written comments when I wrote this.
+#. now it looks complicated.
+#: ly2dvi.py:806
+#, python-format
 msgid "filename should not contain spaces: `%s'"
 msgstr "filnavn bør ikke indeholde mellemrum: '%s'"
 
+#. to be sure, add tmpdir *in front* of inclusion path.
+#. os.environ['TEXINPUTS'] =  tmpdir + ':' + os.environ['TEXINPUTS']
+#. We catch all exceptions, because we need to do stuff at exit:
+#. * copy any successfully generated stuff from tempdir and
+#. notify user of that
+#. * cleanout tempdir
+#. ## ARGH. This also catches python programming errors.
+#. ## this should only catch lilypond nonzero exit  status
+#. ## --hwn
+#. TODO: friendly message about LilyPond setup/failing?
+#.
+#: ly2dvi.py:845
+msgid "Running LilyPond failed. Rerun with --verbose for a trace."
+msgstr ""
+
+#. Our LilyPond pseudo filter always outputs to 'lelie'
+#. have subsequent stages and use 'lelie' output.
+#. unless: add --tex, or --latex?
+#. TODO: friendly message about TeX/LaTeX setup,
+#. trying to run tex/latex by hand
+#: ly2dvi.py:886
+msgid "Failed to make PS file. Rerun with --verbose for a trace."
+msgstr ""
+
+#. unless: add --tex, or --latex?
+#. TODO: friendly message about TeX/LaTeX setup,
+#. trying to run tex/latex by hand
+#: ly2dvi.py:916
+msgid "Running LaTeX falied. Rerun with --verbose for a trace."
+msgstr ""
+
 # hær er det spørg om skrivning til en fil
-#: ly2dvi.py:1076 input-file-results.cc:67
-#, c-format
+#. add DEP to targets?
+#: ly2dvi.py:926 input-file-results.cc:68
+#, c-format, python-format
 msgid "dependencies output to `%s'..."
 msgstr "afhængigheder udskrevet til \"%s\"..."
 
-#: ly2dvi.py:1090 ly2dvi.py:1104 includable-lexer.cc:49
-#: input-file-results.cc:187 input-file-results.cc:193 lily-guile.cc:97
-#, c-format
+# hær er det spørg om skrivning til en fil (første parametern er t.ex
+# DVI, LATEX, MIDI, TEX)
+#: ly2dvi.py:937
+#, fuzzy, python-format
+msgid "%s output to <stdout>..."
+msgstr "%s udskrevet til \"%s\"..."
+
+#: ly2dvi.py:942 ly2dvi.py:968 includable-lexer.cc:57
+#: input-file-results.cc:191 input-file-results.cc:197 lily-guile.cc:86
+#, c-format, python-format
 msgid "can't find file: `%s'"
 msgstr "kan ikke finde fil: \"%s\""
 
 # hær er det spørg om skrivning til en fil (første parametern er t.ex
 # DVI, LATEX, MIDI, TEX)
-#: ly2dvi.py:1102 midi2ly.py:996
-#, c-format
-msgid "%s output to `%s'..."
+#. Hmm, if this were a function, we could call it the except: clauses
+#: ly2dvi.py:965
+#, fuzzy, python-format
+msgid "%s output to %s..."
 msgstr "%s udskrevet til \"%s\"..."
 
-#: ly2dvi.py:1111
-msgid "no files specified on command line"
-msgstr "ingen filer angivne på kommandolinjen."
-
-#: midi2ly.py:92
+#. !@PYTHON@
+#.
+#. midi2ly.py -- LilyPond midi import script
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. ###############################################################
+#. Users of python modules should include this snippet.
+#.
+#. This soon to be removed for: import lilypond.lilylib as ly
+#. ###############################################################
+#. ###############################################################
+#. ############### CONSTANTS
+#. ###############################################################
+#. temp_dir = os.path.join (original_dir,  '%s.dir' % program_name)
+#. original_dir = os.getcwd ()
+#. keep_temp_dir_p = 0
+#: midi2ly.py:94
 msgid "Convert MIDI to LilyPond source"
 msgstr "Konvertér MIDI til LilyPond-klide"
 
-#: midi2ly.py:95
+#: midi2ly.py:97
 msgid "print absolute pitches"
 msgstr ""
 
-#: midi2ly.py:96 midi2ly.py:101
+#: midi2ly.py:98 midi2ly.py:103
 msgid "DUR"
 msgstr "LÆNGDE"
 
-#: midi2ly.py:96
+#: midi2ly.py:98
 msgid "quantise note durations on DUR"
 msgstr ""
 
-#: midi2ly.py:97
+#: midi2ly.py:99
 msgid "print explicit durations"
 msgstr "udskriv eksplicitte længder"
 
-#: midi2ly.py:99
+#: midi2ly.py:101
 msgid "ALT[:MINOR]"
 msgstr ""
 
-#: midi2ly.py:99
+#: midi2ly.py:101
 #, fuzzy
 msgid "set key: ALT=+sharps|-flats; MINOR=1"
 msgstr "sæt toneart: TONE +forhøjelser/-sænkninger; :1 mol"
 
-#: midi2ly.py:101
+#: midi2ly.py:103
 msgid "quantise note starts on DUR"
 msgstr ""
 
-#: midi2ly.py:102
+#: midi2ly.py:104
 msgid "DUR*NUM/DEN"
 msgstr ""
 
-#: midi2ly.py:102
+#: midi2ly.py:104
 msgid "allow tuplet durations DUR*NUM/DEN"
 msgstr ""
 
-#: midi2ly.py:106
+#: midi2ly.py:108
 msgid "treat every text as a lyric"
 msgstr ""
 
-#: midi2ly.py:1027
+#: midi2ly.py:136 mup2ly.py:130
+msgid " 2001--2003"
+msgstr ""
+
+#: midi2ly.py:141 mup2ly.py:135
+msgid ""
+"\n"
+"Distributed under terms of the GNU General Public License. It comes with\n"
+"NO WARRANTY."
+msgstr ""
+
+#: midi2ly.py:166 mup2ly.py:162
+msgid "Exiting ... "
+msgstr "Afslutter... "
+
+#: midi2ly.py:264 mup2ly.py:261
+#, python-format
+msgid "command exited with value %d"
+msgstr "kommandoen afsluttede med værdi %d"
+
+# hær er det spørg om skrivning til en fil (første parametern er t.ex
+# DVI, LATEX, MIDI, TEX)
+#. ###############################################################
+#. END Library
+#. ###############################################################
+#. hmm
+#. major scale: do-do
+#. minor scale: la-la  (= + 5) '''
+#. By tradition, all scales now consist of a sequence
+#. of 7 notes each with a distinct name, from amongst
+#. a b c d e f g.  But, minor scales have a wide
+#. second interval at the top - the 'leading note' is
+#. sharped. (Why? it just works that way! Anything
+#. else doesn't sound as good and isn't as flexible at
+#. saying things. In medieval times, scales only had 6
+#. notes to avoid this problem - the hexachords.)
+#. So, the d minor scale is d e f g a b-flat c-sharp d
+#. - using d-flat for the leading note would skip the
+#. name c and duplicate the name d.  Why isn't c-sharp
+#. put in the key signature? Tradition. (It's also
+#. supposedly based on the Pythagorean theory of the
+#. cycle of fifths, but that really only applies to
+#. major scales...)  Anyway, g minor is g a b-flat c d
+#. e-flat f-sharp g, and all the other flat minor keys
+#. end up with a natural leading note. And there you
+#. have it.
+#. John Sankey <bf250@freenet.carleton.ca>
+#.
+#. Let's also do a-minor: a b c d e f gis a
+#.
+#. --jcn
+#. as -> gis
+#. des -> cis
+#. ges -> fis
+#. g -> fisis
+#. d -> cisis
+#. a -> gisis
+#. b -> ces
+#. e -> fes
+#. f -> eis
+#. c -> bis
+#. # FIXME: compile fix --jcn
+#. TODO: move space
+#. fis cis gis dis ais eis bis
+#. bes es as des ges ces fes
+#. urg, we should be sure that we're in a lyrics staff
+#. all include ALL_NOTES_OFF
+#. ugh, must set key while parsing
+#. because Note init uses key
+#. Better do Note.calc () at dump time?
+#. last_lyric.clocks = t - last_time
+#. hmm
+#. urg, this will barf at meter changes
+#. urg LilyPond doesn't start at c4, but
+#. remembers from previous tracks!
+#. reference_note = Note (clocks_per_4, 4*12, 0)
+#. must be in \notes mode for parsing \skip
+#: midi2ly.py:1002
+#, python-format
+msgid "%s output to `%s'..."
+msgstr "%s udskrevet til \"%s\"..."
+
+#: midi2ly.py:1033
 msgid "Example:"
 msgstr "Eksempel:"
 
-#: midi2ly.py:1081
+#: midi2ly.py:1083
 msgid "no files specified on command line."
 msgstr "ingen filer angivne på kommandolinjen."
 
-#: mup2ly.py:69
+#. !@PYTHON@
+#. mup2ly.py -- mup input converter
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c) 2001
+#. if set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#: mup2ly.py:70
 msgid "Convert mup to LilyPond source"
 msgstr "Konvertér mup til LilyPond-kilde"
 
-#: mup2ly.py:72
+#: mup2ly.py:73
 msgid "debug"
 msgstr "fejlsøgningsuddata"
 
-#: mup2ly.py:73
+#: mup2ly.py:74
 msgid "define macro NAME [optional expansion EXP]"
 msgstr "definér makro NAVN [valfri makroudvidelse EXP]"
 
-#: mup2ly.py:75 main.cc:117
+#: mup2ly.py:76 main.cc:117
 msgid "write output to FILE"
 msgstr "skriv uddata til FIL"
 
-#: mup2ly.py:76
+#: mup2ly.py:77
 msgid "only pre-process"
 msgstr "kun forbehandling"
 
-#: mup2ly.py:1073
-#, c-format
+#. Duh.  Python style portable: cp *.EXT OUTDIR
+#. system ('cp *.%s %s' % (ext, outdir), 1)
+#. Python < 1.5.2 compatibility
+#.
+#. On most platforms, this is equivalent to
+#. `normpath(join(os.getcwd()), PATH)'.  *Added in Python version 1.5.2*
+#. if set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. ###############################################################
+#. END Library
+#.
+#. PMX cut and paste
+#.
+#. if not self.entries:
+#. #return '\n'
+#. #ugh ugh
+#. return '\n%s = {}\n\n' % self.idstring ()
+#. ugh
+#. def set_clef (self, letter):
+#. clstr = clef_table[letter]
+#. self.voices[0].add_nonchord (Clef (clstr))
+#. urg
+#. maybe use import copy?
+#. for i in self.pitches:
+#. ch.pitches.append (i)
+#. for i in self.scripts:
+#. ch.scripts.append (i)
+#. http://www.arkkra.com/doc/uguide/contexts.html
+#. #self.current_staffs = []
+#. duh
+#. FIXME: 1?
+#. FIXME: does key play any role in this?
+#. ch = self.current_voices[0].last_chord ()
+#. ch.basic_duration = self.current_voices[0].last_chord ().basic_duration
+#. ugh
+#. ch = self.current_voices[0].last_chord ()
+#. `;' is not a separator, chords end with ';'
+#. mup resets default duration and pitch each bar
+#. ugh: these (and lots more) should also be parsed in
+#. context staff.  we should have a class Staff_properties
+#. and parse/set all those.
+#. shortcut: set to official mup maximum (duh)
+#. self.set_staffs (40)
+#: mup2ly.py:1076
+#, python-format
 msgid "no such context: %s"
 msgstr "omgivelse findes ikke: %s"
 
-#: mup2ly.py:1297
-#, c-format
+#. hmm
+#. dig this: mup allows ifdefs inside macro bodies
+#. don't do nested multi-line defines
+#. duh: mup is strictly line-based, except for `define',
+#. which is `@' terminated and may span several lines
+#. don't define new macros in unactive areas
+#. To support nested multi-line define's
+#. process_function and macro_name, macro_body
+#. should become lists (stacks)
+#. The mup manual is undetermined on this
+#. and I haven't seen examples doing it.
+#.
+#. don't do nested multi-line define's
+#. writes to stdout for help2man
+#. don't call
+#. identify ()
+#. sys.stdout.flush ()
+#. handy emacs testing
+#. if not files:
+#. files = ['template.mup']
+#: mup2ly.py:1300
+#, python-format
 msgid "Processing `%s'..."
 msgstr "Behandler \"%s\"..."
 
-#: mup2ly.py:1316
-#, c-format
+#: mup2ly.py:1319
+#, python-format
 msgid "Writing `%s'..."
 msgstr "Skriver \"%s\"..."
 
-#: update-lily.py:76
-msgid "Fetch and rebuild from latest source package"
-msgstr "Hent og byg om fra seneste kildekodepakke"
-
-#: update-lily.py:79
-#, c-format
-msgid "unpack and build in DIR [%s]"
-msgstr "udpak og byg i DIR [%s]"
-
-#: update-lily.py:80
-msgid "execute COMMAND, subtitute:"
-msgstr "kør COMMAND, erstat:"
-
-#: update-lily.py:81
-msgid "%b: build root"
-msgstr "%b: rod for opbygning"
-
-#: update-lily.py:82
-#, c-format
-msgid "%n: package name"
-msgstr "%n: pakkenavn"
-
-#: update-lily.py:83
-msgid "%r: release directory"
-msgstr "%r: katalog for programudgivelse"
-
-#: update-lily.py:84
-msgid "%t: tarball"
-msgstr "%t: tarball"
-
-#: update-lily.py:85
-msgid "%v: package version"
-msgstr "%v: pakkeversion"
-
-#: update-lily.py:88
-#, c-format
-msgid "keep all output, and name the directory %s"
-msgstr "behold al uddata, og døb kataloget til %s"
-
-#: update-lily.py:89
-msgid "upon failure notify EMAIL[,EMAIL]"
-msgstr "ved fejl, underret EMAIL[,EMAIL]"
-
-#: update-lily.py:90
-msgid "remove previous build"
-msgstr "fjern foregående bygning"
-
-#: update-lily.py:93
-#, c-format
-msgid "fetch and build URL [%s]"
-msgstr "hent og byg URL [%s]"
-
-#: update-lily.py:429
-#, c-format
-msgid "Listing `%s'..."
-msgstr "Lister \"%s\"..."
-
-#: update-lily.py:497
-#, c-format
-msgid "latest is: %s"
-msgstr "seneste er: %s"
-
-#: update-lily.py:498
-#, c-format
-msgid "relax, %s is up to date"
-msgstr "slap af, %s er seneste version"
-
-#: update-lily.py:507 update-lily.py:520
-#, c-format
-msgid "Fetching `%s'..."
-msgstr "Henter \"%s\"..."
-
-#: update-lily.py:529
-#, c-format
-msgid "Building `%s'..."
-msgstr "Bygger \"%s\"..."
-
 #: getopt-long.cc:146
 #, c-format
 msgid "option `%s' requires an argument"
@@ -434,52 +1215,57 @@ msgstr "ukendt flag: \"%s\""
 msgid "invalid argument `%s' to option `%s'"
 msgstr "ugyldigt argument \"%s\" til flag \"%s\""
 
-#: warn.cc:24
+#: warn.cc:25
 #, c-format
 msgid "warning: %s\n"
 msgstr "advarsel: %s\n"
 
-#: warn.cc:30
+#: warn.cc:31
 #, c-format
 msgid "error: %s\n"
 msgstr "fejl: %s\n"
 
-#: warn.cc:43
+#: warn.cc:44
 #, c-format
 msgid "programming error: %s (Continuing; cross thumbs)\n"
 msgstr "programfejl: %s (Fortsætter, kryds fingrene)\n"
 
-#: accidental-engraver.cc:181 new-accidental-engraver.cc:237
+#: accidental.cc:202 key-signature-interface.cc:137
+#, c-format
+msgid "accidental `%s' not found"
+msgstr ""
+
+#: accidental-engraver.cc:171 new-accidental-engraver.cc:238
 #, c-format
 msgid "Accidental typesetting list must begin with context-name: %s"
 msgstr ""
 
-#: accidental-engraver.cc:206 new-accidental-engraver.cc:262
+#: accidental-engraver.cc:196 new-accidental-engraver.cc:263
 #, c-format
 msgid "unknown accidental typesetting: %s. Ignored"
 msgstr ""
 
-#: accidental-engraver.cc:222 new-accidental-engraver.cc:278
+#: accidental-engraver.cc:212 new-accidental-engraver.cc:279
 #, c-format
 msgid "Symbol is not a parent context: %s. Ignored"
 msgstr ""
 
-#: accidental-engraver.cc:225 new-accidental-engraver.cc:281
+#: accidental-engraver.cc:215 new-accidental-engraver.cc:282
 #, c-format
 msgid "Accidental typesetting must be pair or context-name: %s"
 msgstr ""
 
-#: afm.cc:60
+#: afm.cc:66
 #, c-format
 msgid "can't find character number: %d"
 msgstr "kan ikke finde tegnnummer: %d"
 
-#: afm.cc:75
+#: afm.cc:81
 #, c-format
 msgid "can't find character called: `%s'"
 msgstr "kan ikke finde tegn som hedder: \"%s\""
 
-#: afm.cc:125
+#: afm.cc:142
 #, c-format
 msgid "Error parsing AFM file: `%s'"
 msgstr "Fejl ved tolkning af AFM-fil: \"%s\""
@@ -495,75 +1281,89 @@ msgid "does not match: `%s'"
 msgstr "matcher ikke: \"%s\""
 
 #: all-font-metrics.cc:102
-msgid " Rebuild all .afm files, and remove all .pk and .tfm files.  Rerun with -V to show font paths."
-msgstr " Genopbyg alle .afm-filer, og fjern alle .pk- og .tfm-filer. Kør igen med -V for at vise skrifttypesøgestier."
+msgid ""
+" Rebuild all .afm files, and remove all .pk and .tfm files.  Rerun with -V "
+"to show font paths."
+msgstr ""
+" Genopbyg alle .afm-filer, og fjern alle .pk- og .tfm-filer. Kør igen med -V "
+"for at vise skrifttypesøgestier."
 
-#: all-font-metrics.cc:167
+#: all-font-metrics.cc:103
+msgid ""
+"A script for removing font-files is delivered with the source-code,\n"
+"in buildscripts/clean-fonts.sh"
+msgstr ""
+
+#: all-font-metrics.cc:169
 #, c-format
 msgid "can't find font: `%s'"
 msgstr "kan ikke finde skrifttype: \"%s\""
 
-#: all-font-metrics.cc:168
+#: all-font-metrics.cc:170
 msgid "Loading default font"
 msgstr "Indlæser standardskrifttype"
 
-#: all-font-metrics.cc:183
+#: all-font-metrics.cc:185
 #, c-format
 msgid "can't find default font: `%s'"
 msgstr "kan ikke finde standardskrifttype: \"%s\""
 
-#: all-font-metrics.cc:184 includable-lexer.cc:51 input-file-results.cc:188
+#: all-font-metrics.cc:186 includable-lexer.cc:59 input-file-results.cc:192
 #, c-format
 msgid "(search path: `%s')"
 msgstr "(søgesti: \"%s\")"
 
-#: all-font-metrics.cc:185
+#: all-font-metrics.cc:187
 msgid "Giving up"
 msgstr "Giver op"
 
 #: auto-change-iterator.cc:43 change-iterator.cc:60
-#: part-combine-music-iterator.cc:97
+#: part-combine-music-iterator.cc:120
 msgid "Can't switch translators, I'm there already"
 msgstr "Kan ikke skifte oversætter, jeg er her allerede"
 
-#: bar-check-iterator.cc:58
+#: bar-check-iterator.cc:51
 #, c-format
 msgid "barcheck failed at: %s"
 msgstr "taktkontrol mislykkedes ved: %s"
 
-#: beam-engraver.cc:167
+#: beam.cc:146
+msgid "beam has less than two visible stems"
+msgstr "bjælke har mindre end to synlige nodehalse"
+
+#: beam.cc:151
+msgid "Beam has less than two stems. Removing beam."
+msgstr "Bjælke har mindre end to nodehalse. Fjerner bjælke."
+
+#: beam.cc:976
+msgid ""
+"Not sure that we can find a nice beam slope (no viable initial configuration "
+"found)."
+msgstr ""
+"Ikke sikker på at vi kan finde en pæn hældning på bjælken (ingen brugelig "
+"initiel konfiguration fundet)."
+
+#: beam-engraver.cc:176
 msgid "already have a beam"
 msgstr "har allerede en bjælke"
 
-#: beam-engraver.cc:234
+#: beam-engraver.cc:259
 msgid "unterminated beam"
 msgstr "uafsluttet bjælke"
 
-#: beam-engraver.cc:267 chord-tremolo-engraver.cc:175
+#: beam-engraver.cc:292 chord-tremolo-engraver.cc:197
 msgid "stem must have Rhythmic structure"
 msgstr "nodehals skal have en rytmisk struktur"
 
-#: beam-engraver.cc:281
+#: beam-engraver.cc:306
 msgid "stem doesn't fit in beam"
 msgstr "nodehalsen passer ikke i bjælke"
 
-#: beam-engraver.cc:282
-msgid "beam was started here"
-msgstr "bjælken startede her"
-
-#: beam.cc:134
-msgid "beam has less than two visible stems"
-msgstr "bjælke har mindre end to synlige nodehalse"
-
-#: beam.cc:139
-msgid "Beam has less than two stems. Removing beam."
-msgstr "Bjælke har mindre end to nodehalse. Fjerner bjælke."
-
-#: beam.cc:951
-msgid "Not sure that we can find a nice beam slope (no viable initial configuration found)."
-msgstr "Ikke sikker på at vi kan finde en pæn hældning på bjælken (ingen brugelig initiel konfiguration fundet)."
+#: beam-engraver.cc:307
+msgid "beam was started here"
+msgstr "bjælken startede her"
 
-#: break-align-interface.cc:166
+#: break-align-interface.cc:173
 #, c-format
 msgid "No spacing entry from %s to `%s'"
 msgstr "Ingen mellemrums-indgang fra %s til `%s'"
@@ -587,65 +1387,107 @@ msgstr "Jeg er selv 
 msgid "none of these in my family"
 msgstr "ingen af disse i min familie"
 
-#: chord-tremolo-engraver.cc:137 percent-repeat-engraver.cc:182
+#: chord-tremolo-engraver.cc:98
+#, c-format
+msgid "Chord tremolo with %d elements. Must have two elements."
+msgstr ""
+
+#: chord-tremolo-engraver.cc:157
 msgid "unterminated chord tremolo"
 msgstr "ikke-afsluttet akkordtremolo"
 
-#: chord-tremolo-iterator.cc:50
+#: chord-tremolo-iterator.cc:69
 msgid "no one to print a tremolos"
 msgstr "der er ingen som kan skrive en tremolo"
 
-#: chord.cc:313
+#: clef.cc:64
 #, c-format
-msgid "invalid subtraction: not part of chord: %s"
-msgstr "ugyldig subtraktion: ikke del af akkord: %s"
+msgid "clef `%s' not found"
+msgstr ""
 
-# "pitch" hær skal alltså være en ton i et akkord
-#: chord.cc:342
+#: cluster.cc:131
+#, fuzzy, c-format
+msgid "unknown cluster style `%s'"
+msgstr "ukendt oversætter: \"%s\""
+
+#: coherent-ligature-engraver.cc:84
+#, c-format
+msgid "gotcha: ptr=%ul"
+msgstr ""
+
+#: coherent-ligature-engraver.cc:96
+#, c-format
+msgid "distance=%f"
+msgstr ""
+
+#: coherent-ligature-engraver.cc:139
 #, c-format
-msgid "invalid inversion pitch: not part of chord: %s"
-msgstr "ugyldig tone for inversion: ikke del af en akkord: %s"
+msgid "Coherent_ligature_engraver: setting `spacing-increment = 0.01': ptr=%ul"
+msgstr ""
+
+#: custos.cc:92
+#, c-format
+msgid "custos `%s' not found"
+msgstr ""
 
 #: dimensions.cc:13
 msgid "NaN"
 msgstr "-"
 
-#: dynamic-engraver.cc:187 span-dynamic-performer.cc:82
+#: dynamic-engraver.cc:204 span-dynamic-performer.cc:82
 msgid "can't find start of (de)crescendo"
 msgstr "kan ikke finde starten på crescendo/diminuendo"
 
-#: dynamic-engraver.cc:211
+#: dynamic-engraver.cc:216
 msgid "already have a crescendo"
 msgstr "har allerede et crescendo"
 
-#: dynamic-engraver.cc:212
+#: dynamic-engraver.cc:217
 msgid "already have a decrescendo"
 msgstr "har allerede et diminuendo"
 
-#: dynamic-engraver.cc:215
+#: dynamic-engraver.cc:220
 msgid "Cresc started here"
 msgstr "Cresc startede her"
 
-#: dynamic-engraver.cc:307
+#: dynamic-engraver.cc:323
 msgid "unterminated (de)crescendo"
 msgstr "uafsluttet crescendo/diminuendo"
 
-#: extender-engraver.cc:96
+#: event.cc:49
+#, fuzzy, c-format
+msgid "Transposition by %s makes alteration larger than two"
+msgstr "Transponering med %s medfører løst fortegn større end to"
+
+#: event-chord-iterator.cc:76 output-property-music-iterator.cc:27
+#, fuzzy, c-format
+msgid "Junking event: `%s'"
+msgstr "Stryger forespørgslen: \"%s\""
+
+#: extender-engraver.cc:94
 msgid "unterminated extender"
 msgstr "uafsluttet udvider"
 
-#: extender-engraver.cc:108
-msgid "Nothing to connect extender to on the left.  Ignoring extender request."
-msgstr "Der er ingenting at forbinde udvideren mod til venstre. Ignorerer ønsket om udvider"
+#: extender-engraver.cc:106
+#, fuzzy
+msgid "Nothing to connect extender to on the left.  Ignoring extender event."
+msgstr ""
+"Der er ingenting at forbinde udvideren mod til venstre. Ignorerer ønsket om "
+"udvider"
 
-#: folded-repeat-iterator.cc:78
+#: folded-repeat-iterator.cc:88
 msgid "no one to print a repeat brace"
 msgstr "der er ingen som kan skrive et gentagelsestegn"
 
-#: font-interface.cc:238
+#: font-interface.cc:239
 msgid "couldn't find any font satisfying "
 msgstr "kunne ikke finde nogen skrifttype som opfylder "
 
+#: glissando-engraver.cc:100
+#, fuzzy
+msgid "Unterminated glissando."
+msgstr "uafsluttet legatobue"
+
 #: gourlay-breaking.cc:188
 #, c-format
 msgid "Optimal demerits: %f"
@@ -655,6 +1497,27 @@ msgstr ""
 msgid "No feasible line breaking found"
 msgstr "Ingen mulig linjebrydning fandtes"
 
+#: gregorian-ligature-engraver.cc:59
+#, fuzzy, c-format
+msgid "\\%s ignored"
+msgstr "(ignoreret)"
+
+#: gregorian-ligature-engraver.cc:64
+#, c-format
+msgid "implied \\%s added"
+msgstr ""
+
+#.
+#. Todo: do something sensible. The grob-pq-engraver is not water
+#. tight, and stuff like tupletSpannerDuration confuses it.
+#.
+#: grob-pq-engraver.cc:130
+#, c-format
+msgid ""
+"Skipped something?\n"
+"Grob %s ended before I expected it to end."
+msgstr ""
+
 #: hairpin.cc:98
 msgid "decrescendo too small"
 msgstr "diminuendo for lille"
@@ -663,113 +1526,118 @@ msgstr "diminuendo for lille"
 msgid "crescendo too small"
 msgstr "crescendo for lille"
 
-#: hyphen-engraver.cc:89
+#: horizontal-bracket-engraver.cc:64
+msgid "Don't have that many brackets."
+msgstr ""
+
+#: horizontal-bracket-engraver.cc:73
+#, fuzzy
+msgid "Conflicting note group events."
+msgstr "Konfliktende tonartssignaturer fundet."
+
+#: hyphen-engraver.cc:87
 msgid "unterminated hyphen"
 msgstr "uafsluttet bindestreg"
 
-#: hyphen-engraver.cc:101
-msgid "Nothing to connect hyphen to on the left.  Ignoring hyphen request."
-msgstr "Der er ingenting at forbinde bindestregen med til venstre. Ignorerer bindestregsforespørgslen."
+#: hyphen-engraver.cc:99
+#, fuzzy
+msgid "Nothing to connect hyphen to on the left.  Ignoring hyphen event."
+msgstr ""
+"Der er ingenting at forbinde bindestregen med til venstre. Ignorerer "
+"bindestregsforespørgslen."
+
+#: input.cc:99
+msgid "non fatal error: "
+msgstr "ikke-fatal fejl: "
+
+#: input.cc:107 source-file.cc:146 source-file.cc:239
+msgid "position unknown"
+msgstr "ukendt position"
 
-#: input-file-results.cc:71 source-file.cc:52 streams.cc:38
+#: input-file-results.cc:72 source-file.cc:54 streams.cc:38
 #, c-format
 msgid "can't open file: `%s'"
 msgstr "kan ikke åbne fil: \"%s\""
 
-#: input-file-results.cc:131
+#: input-file-results.cc:132
 msgid "Score contains errors; will not process it"
 msgstr "Partitur indholder fejl; vil ikke behandle det"
 
-#: input-file-results.cc:168
+#: input-file-results.cc:172
 #, c-format
 msgid "Now processing: `%s'"
 msgstr "Behandler nu: \"%s\""
 
-#: input.cc:98
-msgid "non fatal error: "
-msgstr "ikke-fatal fejl: "
-
-#: input.cc:106 source-file.cc:147 source-file.cc:240
-msgid "position unknown"
-msgstr "ukendt position"
-
-#: key-engraver.cc:91
-msgid "Conflicting key signatures found."
-msgstr "Konfliktende tonartssignaturer fundet."
-
-#: key-engraver.cc:92
-msgid "This was the other key definition."
-msgstr "Dette var den anden tonartsdefinition."
-
-#: key-performer.cc:92
+#: key-performer.cc:96
 msgid "FIXME: key change merge"
 msgstr "FIX: tonartsskiftsfletning"
 
-#: kpath.cc:64
+#: kpath.cc:76
 #, c-format
 msgid "Kpathsea couldn't find TFM file `%s'"
 msgstr "Kpathsea kunne ikke finde TMF-fil: \"%s\""
 
-#: ligature-bracket.cc:105 ligature-bracket.cc:139 ligature-engraver.cc:124
-msgid "no left bound"
-msgstr "Ingen venstrekant"
-
-#: ligature-engraver.cc:81
+#: ligature-engraver.cc:159
 #, fuzzy
 msgid "can't find start of ligature"
 msgstr "kan ikke finde start på legatobue"
 
-#: ligature-engraver.cc:86
+#: ligature-engraver.cc:165
 msgid "no right bound"
 msgstr "Ingen højrekant"
 
-#: ligature-engraver.cc:108
+#: ligature-engraver.cc:191
 #, fuzzy
 msgid "already have a ligature"
 msgstr "har allerede en bjælke"
 
-#: ligature-engraver.cc:166
+#: ligature-engraver.cc:207
+msgid "no left bound"
+msgstr "Ingen venstrekant"
+
+#: ligature-engraver.cc:258
 #, fuzzy
 msgid "unterminated ligature"
 msgstr "uafsluttet legatobue"
 
-#: ligature-engraver.cc:183
+#: ligature-engraver.cc:282
 msgid "ligature may not contain rest; ignoring rest"
 msgstr ""
 
-#: ligature-engraver.cc:184
+#: ligature-engraver.cc:283
 #, fuzzy
 msgid "ligature was started here"
 msgstr "bjælken startede her"
 
-#: lily-guile.cc:99
+#: lily-guile.cc:88
 #, c-format
 msgid "(load path: `%s')"
 msgstr "(indlæsningssøgesti: \"%s\")"
 
-#: lily-guile.cc:582
+#: lily-guile.cc:576
 #, c-format
 msgid "Can't find property type-check for `%s' (%s)."
 msgstr "Kan ikke finde typetjek for egenskab af '%s' (%s)."
 
-#: lily-guile.cc:585
+#: lily-guile.cc:579
 msgid "Perhaps you made a typing error?"
 msgstr "Måske lavede du en tastefejl?"
 
-#: lily-guile.cc:591
+#: lily-guile.cc:585
 msgid "Doing assignment anyway."
 msgstr "Laver tildeling aligevel."
 
-#: lily-guile.cc:605
+#: lily-guile.cc:599
 #, c-format
 msgid "Type check for `%s' failed; value `%s' must be of type `%s'"
-msgstr "Typekontrol for \"%s\" mislykkedes; værdi \"%s\" skal have typen \"%s\""
+msgstr ""
+"Typekontrol for \"%s\" mislykkedes; værdi \"%s\" skal have typen \"%s\""
 
-#: lookup.cc:141
+#: lookup.cc:173
 msgid "round filled box horizontal extent smaller than blot; decreasing blot"
 msgstr ""
 
-#: lookup.cc:146
+#: lookup.cc:178
 msgid "round filled box vertical extent smaller than blot; decreasing blot"
 msgstr ""
 
@@ -789,12 +1657,6 @@ msgstr "UDTR"
 msgid "set options, use -e '(ly-option-usage)' for help"
 msgstr "sæt alternativer, brug -e '(ly-option-usage)' for hjælp"
 
-#. another bug in option parser: --output=foe is taken as an abbreviation
-#. for --output-format
-#: main.cc:110
-msgid "EXT"
-msgstr "FMT"
-
 #: main.cc:110
 #, fuzzy
 msgid "use output format EXT"
@@ -858,16 +1720,12 @@ msgstr ""
 "og du må ændre og/eller distribuere kopier af det under visse\n"
 "betingelser. Kør \"%s --warranty\" for mere information.\n"
 
-#: main.cc:188 main.cc:200
-#, c-format
-msgid "Copyright (c) %s by"
-msgstr "Copyright © %s af"
-
 #: main.cc:198
 msgid "GNU LilyPond -- The music typesetter"
 msgstr "GNU Lilypond -- Musiktypesætteren"
 
 #: main.cc:206
+#, fuzzy
 msgid ""
 "    This program is free software; you can redistribute it and/or\n"
 "modify it under the terms of the GNU General Public License version 2\n"
@@ -880,7 +1738,8 @@ msgid ""
 "\n"
 "    You should have received a copy (refer to the file COPYING) of the\n"
 "GNU General Public License along with this program; if not, write to\n"
-"the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,\n"
+"the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA "
+"02111-1307,\n"
 "USA.\n"
 msgstr ""
 "Dette program er frit programmel. Du kan distribuere det og/eller\n"
@@ -896,78 +1755,73 @@ msgstr ""
 "dette program. Hvis ikke, skriv til Free Software Foundation, Inc., 59\n"
 "Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
 
-#: mensural-ligature-engraver.cc:321 mensural-ligature-engraver.cc:483
-msgid "unexpected case fall-through"
+#: mensural-ligature.cc:153
+#, c-format
+msgid "Mensural_ligature:thickness undefined on flexa %d; assuming 1.4"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:332
-msgid "ligature with less than 2 heads -> skipping"
+#: mensural-ligature.cc:169
+#, c-format
+msgid "Mensural_ligature:delta-pitch undefined on flexa %d; assuming 0"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:347
-msgid "can not determine pitch of ligature primitive -> skipping"
+#: mensural-ligature.cc:182
+#, c-format
+msgid "Mensural_ligature:flexa-width undefined on flexa %d; assuming 2.0"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:370
-msgid "prime interval within ligature -> skipping"
+#: mensural-ligature.cc:215
+msgid "Mensural_ligature:unexpected case fall-through"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:380
-msgid "mensural ligature: duration none of L, B, S -> skipping"
+#: mensural-ligature.cc:225
+msgid "Mensural_ligature: (join_left == 0)"
 msgstr ""
 
-#: mensural-ligature.cc:152
-#, c-format
-msgid "Mensural_ligature: thickness undefined on flexa %d; assuming 1.4"
+#: mensural-ligature-engraver.cc:248 mensural-ligature-engraver.cc:397
+msgid "unexpected case fall-through"
 msgstr ""
 
-#: mensural-ligature.cc:166
-#, c-format
-msgid "Mensural_ligature: delta-pitch undefined on flexa %d; assuming 0"
+#: mensural-ligature-engraver.cc:259
+msgid "ligature with less than 2 heads -> skipping"
 msgstr ""
 
-#: mensural-ligature.cc:177
-#, c-format
-msgid "Mensural_ligature: flexa-width undefined on flexa %d; assuming 2.0"
+#: mensural-ligature-engraver.cc:279
+msgid "can not determine pitch of ligature primitive -> skipping"
 msgstr ""
 
-#: mensural-ligature.cc:208
-msgid "Mensural_ligature: unexpected case fall-through"
+#: mensural-ligature-engraver.cc:302
+msgid "prime interval within ligature -> skipping"
 msgstr ""
 
-#: mensural-ligature.cc:217
-msgid "Menusral_ligature: (join_left == 0)"
+#: mensural-ligature-engraver.cc:312
+msgid "mensural ligature: duration none of L, B, S -> skipping"
 msgstr ""
 
-#: midi-item.cc:144
+#: midi-item.cc:148
 #, c-format
 msgid "no such instrument: `%s'"
 msgstr "instrumentet findes ikke: \"%s\""
 
-#: midi-item.cc:234
+#: midi-item.cc:238
 msgid "silly duration"
 msgstr "tåbelig længde"
 
-#: midi-item.cc:247
+#: midi-item.cc:251
 msgid "silly pitch"
 msgstr "tåbelig tone"
 
-#: music-output-def.cc:113
+#: music-output-def.cc:111
 #, c-format
 msgid "can't find `%s' context"
 msgstr "kan ikke finde omgivelsen \"%s\""
 
-#: music.cc:159
-#, c-format
-msgid "Transposition by %s makes accidental larger than two"
-msgstr "Transponering med %s medfører løst fortegn større end to"
-
-#: my-lily-lexer.cc:142
+#: my-lily-lexer.cc:169
 #, c-format
 msgid "Identifier name is a keyword: `%s'"
 msgstr "Identificerernavn er et nøgleord: \"%s\""
 
-#: my-lily-lexer.cc:162
+#: my-lily-lexer.cc:191
 #, c-format
 msgid "error at EOF: %s"
 msgstr "fejl ved filslutning: %s"
@@ -980,42 +1834,46 @@ msgstr "Tolker..."
 msgid "Braces don't match"
 msgstr "Klammer passer ikke"
 
+#.
+#. music for the softenon children?
+#.
+#: new-fingering-engraver.cc:143
+msgid "music for the martians."
+msgstr ""
+
+#: new-tie-engraver.cc:166 tie-engraver.cc:217
+msgid "lonely tie"
+msgstr "ensom bindebue"
+
 #: note-collision.cc:340
 msgid "Too many clashing notecolumns.  Ignoring them."
 msgstr "For mange overlappende nodekolonner. Ignorerer dem."
 
-#: note-head.cc:134
-msgid "Symbol not found, "
-msgstr "Symbol ikke fundet, "
-
-#: output-property-music-iterator.cc:20 request-chord-iterator.cc:76
+#: note-head.cc:127
 #, c-format
-msgid "Junking request: `%s'"
-msgstr "Stryger forespørgslen: \"%s\""
+msgid "note head `%s' not found"
+msgstr ""
 
-#: paper-def.cc:122
+#: paper-def.cc:96
 #, c-format
 msgid "paper output to `%s'..."
 msgstr "papirsuddata til \"%s\"..."
 
-#: paper-outputter.cc:57
-msgid ", at "
-msgstr ", ved "
-
-#: paper-score.cc:77
+#: paper-score.cc:78
 #, c-format
 msgid "Element count %d (spanners %d) "
 msgstr ""
 
-#: paper-score.cc:82
-msgid "Preprocessing elements..."
+#: paper-score.cc:83
+#, fuzzy
+msgid "Preprocessing graphical objects..."
 msgstr "Forbehandler element..."
 
-#: paper-score.cc:115
+#: paper-score.cc:116
 msgid "Outputting Score, defined at: "
 msgstr "Udskriver partitur, defineret ved: "
 
-#: parse-scm.cc:80
+#: parse-scm.cc:79
 msgid "GUILE signaled an error for the expression begining here"
 msgstr "GUILE signalerede en fejl for udtrykket, der begynder her"
 
@@ -1025,21 +1883,28 @@ msgstr "GUILE signalerede en fejl for udtrykket, der begynder her"
 #.
 #. last->translator_id_string_  = get_change ()->change_to_id_string_;
 #.
-#: part-combine-music-iterator.cc:116
+#: part-combine-music-iterator.cc:139
 #, c-format
 msgid "I'm one myself: `%s'"
 msgstr "Jeg er selv én: \"%s\""
 
-#: part-combine-music-iterator.cc:119
+#: part-combine-music-iterator.cc:142
 #, c-format
 msgid "none of these in my family: `%s'"
 msgstr "ingen af disse i min familie: \"%s\""
 
-#: percent-repeat-engraver.cc:116
+#: percent-repeat-engraver.cc:109
 msgid "Don't know how to handle a percent repeat of this length."
-msgstr "Véd ikke hvordan en procenttegnsgentagelse (percent) af denne længde skal håndteres."
+msgstr ""
+"Véd ikke hvordan en procenttegnsgentagelse (percent) af denne længde skal "
+"håndteres."
+
+#: percent-repeat-engraver.cc:163
+#, fuzzy
+msgid "unterminated percent repeat"
+msgstr "uafsluttet udvider"
 
-#: percent-repeat-iterator.cc:53
+#: percent-repeat-iterator.cc:65
 msgid "no one to print a percent"
 msgstr "der er ingen som kan skrive et procent-tegn"
 
@@ -1065,131 +1930,101 @@ msgstr "fra musikdefinition: %s"
 msgid "MIDI output to `%s'..."
 msgstr "MIDI-uddata til \"%s\"..."
 
-#: phrasing-slur-engraver.cc:117
+#: phrasing-slur-engraver.cc:123
 msgid "unterminated phrasing slur"
 msgstr "uafsluttet fraseringsbue"
 
-#: phrasing-slur-engraver.cc:132
+#: phrasing-slur-engraver.cc:141
 msgid "can't find start of phrasing slur"
 msgstr "kan ikke finde start på fraseringsbue"
 
-#: piano-pedal-engraver.cc:230 piano-pedal-engraver.cc:245
-#: piano-pedal-engraver.cc:300 piano-pedal-performer.cc:82
+#: piano-pedal-engraver.cc:235 piano-pedal-engraver.cc:250
+#: piano-pedal-engraver.cc:305 piano-pedal-performer.cc:82
 #, c-format
 msgid "can't find start of piano pedal: `%s'"
 msgstr "kan ikke finde start på pianopedal: \"%s\""
 
-#: piano-pedal-engraver.cc:405
+#: piano-pedal-engraver.cc:410
 msgid "unterminated pedal bracket"
 msgstr ""
 
-#: pitch.cc:25
-msgid "Pitch arguments out of range"
-msgstr "Toneargument udenfor intervallet"
-
-#: porrectus.cc:35
-msgid "(left_head == 0)"
-msgstr ""
-
-#: porrectus.cc:46
-msgid "undefined left_head"
-msgstr ""
-
-#: porrectus.cc:65
-msgid "(right_head == 0)"
-msgstr ""
-
-#: porrectus.cc:76
-msgid "undefined right_head"
-msgstr ""
-
-#: porrectus.cc:96
-msgid "junking lonely porrectus"
-msgstr ""
-
-#: porrectus.cc:106
-msgid "porrectus style undefined; using mensural"
-msgstr ""
-
-#: porrectus.cc:251
-msgid "ascending vaticana style porrectus"
-msgstr ""
-
-#: property-iterator.cc:64
+#: property-iterator.cc:97
 #, c-format
 msgid "Not a grob name, `%s'."
 msgstr ""
 
-#: rest-collision.cc:186
+#: rest.cc:139
+#, fuzzy, c-format
+msgid "rest `%s' not found, "
+msgstr "Symbol ikke fundet, "
+
+#: rest-collision.cc:199
 msgid "too many colliding rests"
 msgstr "for mange kolliderende pauser"
 
-#: scm-option.cc:44
+#: scm-option.cc:45
 msgid "lilypond -e EXPR means:"
 msgstr ""
 
-#: scm-option.cc:46
+#: scm-option.cc:47
 msgid "  Evalute the Scheme EXPR before parsing any .ly files."
 msgstr ""
 
-#: scm-option.cc:48
-msgid "  Multiple -e options may be given, they will be evaluated sequentially."
+#: scm-option.cc:49
+msgid ""
+"  Multiple -e options may be given, they will be evaluated sequentially."
 msgstr ""
 
-#: scm-option.cc:50
-msgid "  The function ly-set-option allows for access to some internal variables."
+#: scm-option.cc:51
+msgid ""
+"  The function ly-set-option allows for access to some internal variables."
 msgstr ""
 
-#: scm-option.cc:52
+#: scm-option.cc:53
 msgid "Usage: lilypond -e \"(ly-set-option SYMBOL VAL)\""
 msgstr ""
 
-#: scm-option.cc:54
+#: scm-option.cc:55
 msgid "Where SYMBOL VAL pair is any of:"
 msgstr ""
 
-#: scm-option.cc:122
+#: scm-option.cc:128
 msgid "Unknown internal option!"
 msgstr ""
 
-#: score-engraver.cc:102
-#, c-format
-msgid "can't find `%s'"
-msgstr "kan ikke finde: '%s'"
-
-#: score-engraver.cc:103
-msgid "Fonts have not been installed properly.  Aborting"
-msgstr ""
-
-#: score-engraver.cc:207
-#, c-format
-msgid "unbound spanner `%s'"
-msgstr "ubunden bro \"%s\""
-
-#: score.cc:92
-#, c-format
-msgid "stack size cur %d, max %d\n"
-msgstr ""
-
-#: score.cc:109
+#: score.cc:85
 msgid "Interpreting music..."
 msgstr "Tolker musik..."
 
-#: score.cc:122
+#: score.cc:97
 msgid "Need music in a score"
 msgstr "Behøver musik i partitur"
 
 #. should we? hampers debugging.
-#: score.cc:135
+#: score.cc:111
 msgid "Errors found/*, not processing score*/"
 msgstr "Fejl fundne/*, behandler ikke partitur*/"
 
-#: score.cc:142
+#: score.cc:118
 #, c-format
 msgid "elapsed time: %.2f seconds"
 msgstr "tidsforbrug: %.2f sekunder"
 
-#: script-engraver.cc:66
+#: score-engraver.cc:99
+#, c-format
+msgid "can't find `%s'"
+msgstr "kan ikke finde: '%s'"
+
+#: score-engraver.cc:100
+msgid "Fonts have not been installed properly.  Aborting"
+msgstr ""
+
+#: score-engraver.cc:205
+#, c-format
+msgid "unbound spanner `%s'"
+msgstr "ubunden bro \"%s\""
+
+#: script-engraver.cc:90
 #, c-format
 msgid "Don't know how to interpret articulation `%s'"
 msgstr "Kan ikke tolke artikulering \"%s\""
@@ -1199,30 +2034,22 @@ msgstr "Kan ikke tolke artikulering \"%s\""
 msgid "Separation_item:  I've been drinking too much"
 msgstr "Separation_item: Jeg har drukket for meget"
 
-#: simple-spacer.cc:254
+#: simple-spacer.cc:248
 #, c-format
 msgid "No spring between column %d and next one"
 msgstr ""
 
-#: slur-engraver.cc:140
+#: slur-engraver.cc:141
 msgid "unterminated slur"
 msgstr "uafsluttet legatobue"
 
 #. How to shut up this warning, when Voice_devnull_engraver has
-#. eaten start request?
-#: slur-engraver.cc:157
+#. eaten start event?
+#: slur-engraver.cc:159
 msgid "can't find start of slur"
 msgstr "kan ikke finde start på legatobue"
 
-#: slur.cc:53
-msgid "Putting slur over rest."
-msgstr "Sætter legatobue over pause."
-
-#: slur.cc:424
-msgid "Slur over rest?"
-msgstr "Legatobue over pause?"
-
-#: source-file.cc:65
+#: source-file.cc:67
 #, c-format
 msgid "Huh?  Got %d, expected %d characters"
 msgstr "Øh? Fik %d, forventede %d tegn"
@@ -1237,18 +2064,36 @@ msgstr ""
 msgid "#<spring smob d= %f>"
 msgstr ""
 
-#: staff-symbol.cc:62
+#: staff-symbol.cc:61
 msgid "staff symbol: indentation yields beyond end of line"
 msgstr ""
 
-#: stem-engraver.cc:117
+#: stem.cc:118
+msgid "Weird stem size; check for narrow beams"
+msgstr "Mærkelig nodehalsstørrelse; tjek for smalle bjælker"
+
+#: stem.cc:611
+#, c-format
+msgid "flag `%s' not found"
+msgstr ""
+
+#: stem.cc:624
+#, c-format
+msgid "flag stroke `%s' not found"
+msgstr ""
+
+#: stem-engraver.cc:96
+msgid "tremolo duration is too long"
+msgstr ""
+
+#: stem-engraver.cc:124
 #, c-format
 msgid "Adding note head to incompatible stem (type = %d)"
 msgstr "Tilføjer nodehoved til inkompatibel nodehals (type = %d)"
 
-#: stem.cc:118
-msgid "Weird stem size; check for narrow beams"
-msgstr "Mærkelig nodehalsstørrelse; tjek for smalle bjælker"
+#: stem-engraver.cc:125
+msgid "Don't you want polyphonic voices instead?"
+msgstr ""
 
 #: streams.cc:34
 #, c-format
@@ -1264,30 +2109,32 @@ msgstr "Fejl ved synkning af fil (disken fuld?)"
 msgid "Element count %d."
 msgstr "Elementantal %d."
 
-#: system.cc:377
+#: system.cc:372
 #, fuzzy, c-format
 msgid "Grob count %d "
 msgstr "Elementantal %d "
 
-#: system.cc:391
-msgid "Calculating column positions..."
+#: system.cc:386
+#, fuzzy
+msgid "Calculating line breaks..."
 msgstr "Beregner kolonnepositioner..."
 
-#: text-spanner-engraver.cc:92
+#: text-spanner-engraver.cc:81
 msgid "can't find start of text spanner"
 msgstr "kan ikke finde start på tekstbro"
 
-#: text-spanner-engraver.cc:112
+#: text-spanner-engraver.cc:95
 msgid "already have a text spanner"
 msgstr "har allerede en tekstbro"
 
-#: text-spanner-engraver.cc:167
+#: text-spanner-engraver.cc:164
 msgid "unterminated text spanner"
 msgstr "uafsluttet tekstbro"
 
-#: text-spanner.cc:130
-msgid "Text_spanner too small"
-msgstr "Tekst_bro for lille"
+#: tfm.cc:83
+#, c-format
+msgid "can't find ascii character: %d"
+msgstr "kan ikke finde ASCII-tegn: %d"
 
 #. Not using ngettext's plural feature here, as this message is
 #. more of a programming error.
@@ -1299,18 +2146,10 @@ msgstr "TFM-rubrik i \"%s\" har kun %u ord"
 #: tfm-reader.cc:142
 #, c-format
 msgid "%s: TFM file has %u parameters, which is more than the %u I can handle"
-msgstr "%s: TFM-fil har %u parametre, hvilket er mere end de %u jeg kan håndtere"
-
-#: tfm.cc:83
-#, c-format
-msgid "can't find ascii character: %d"
-msgstr "kan ikke finde ASCII-tegn: %d"
-
-#: tie-engraver.cc:216
-msgid "lonely tie"
-msgstr "ensom bindebue"
+msgstr ""
+"%s: TFM-fil har %u parametre, hvilket er mere end de %u jeg kan håndtere"
 
-#: tie-performer.cc:161
+#: tie-performer.cc:159
 msgid "No ties were created!"
 msgstr "Ingen bindebuer blev lavet!"
 
@@ -1318,163 +2157,289 @@ msgstr "Ingen bindebuer blev lavet!"
 msgid "no one to print a tuplet start bracket"
 msgstr "der findes ingen som kan skrive en startklamme for tuppel"
 
+#. If there is no such symbol, we default to the numbered style.
+#. (Here really with a warning!)
+#: time-signature.cc:87
+#, c-format
+msgid "time signature symbol `%s' not found; reverting to numbered style"
+msgstr ""
+
+#.
+#. Todo: should make typecheck?
+#.
+#. OTOH, Tristan Keuris writes 8/20 in his Intermezzi.
+#.
+#: time-signature-engraver.cc:57
+#, c-format
+msgid "Found strange time signature %d/%d."
+msgstr ""
+
 #: translator-ctors.cc:53
 #, c-format
 msgid "unknown translator: `%s'"
 msgstr "ukendt oversætter: \"%s\""
 
-#: translator-def.cc:87
+#: translator-def.cc:105
 msgid "Program has no such type"
 msgstr "Programmet har ingen sådan type"
 
-#: translator-def.cc:93
+#: translator-def.cc:111
 #, c-format
 msgid "Already contains: `%s'"
 msgstr "Indholder allerede: \"%s\""
 
-#: translator-def.cc:94
+#: translator-def.cc:112
 #, c-format
 msgid "Not adding translator: `%s'"
 msgstr "Tilføjer ikke oversætter: \"%s\""
 
-#: translator-def.cc:209
+#: translator-def.cc:229
 #, c-format
 msgid "can't find: `%s'"
 msgstr "kan ikke finde: \"%s\""
 
-#: translator-group.cc:159
+#: translator-group.cc:158
 #, c-format
 msgid "can't find or create `%s' called `%s'"
 msgstr "kan ikke finde eller oprette \"%s\" kaldet \"%s\""
 
-#: translator-group.cc:244
+#: translator-group.cc:230
 #, c-format
 msgid "can't find or create: `%s'"
 msgstr "kan ikke finde eller oprette: \"%s\""
 
-#: volta-engraver.cc:111
+#: vaticana-ligature.cc:49
+msgid "ascending vaticana style flexa"
+msgstr ""
+
+#: vaticana-ligature.cc:219
+msgid "Vaticana_ligature:thickness undefined; assuming 1.4"
+msgstr ""
+
+#: vaticana-ligature.cc:233
+msgid "Vaticana_ligature:x-offset undefined; assuming 0.0"
+msgstr ""
+
+#: vaticana-ligature.cc:258
+msgid "Vaticana_ligature: (delta_pitch == 0)"
+msgstr ""
+
+#: vaticana-ligature.cc:271
+msgid "Vaticana_ligature:delta-pitch -> ignoring join"
+msgstr ""
+
+#: vaticana-ligature-engraver.cc:477
+#, c-format
+msgid "Vaticana_ligature_engraver: setting `spacing-increment = %f': ptr=%ul"
+msgstr ""
+
+#: volta-engraver.cc:112
 msgid "No volta spanner to end"
 msgstr "Ingen volte-bro at afslutte"
 
-#: volta-engraver.cc:121
+#: volta-engraver.cc:123
 msgid "Already have a volta spanner.  Stopping that one prematurely."
 msgstr "Har allerede en volte-bro. Stopper denne for tidligt."
 
-#: volta-engraver.cc:125
+#: volta-engraver.cc:127
 msgid "Also have a stopped spanner.  Giving up."
 msgstr "Har også en stoppet bro. Giver op."
 
-#: parser.yy:434
+#: parser.yy:480
 #, fuzzy
 msgid "Identifier should have alphabetic characters only"
 msgstr "Identificerer må kun indeholde alfabetiske tegn"
 
-#: parser.yy:729
+#: parser.yy:779
 msgid "More alternatives than repeats.  Junking excess alternatives."
-msgstr "Flere alternativer end gentagelser. Stryger tiloversblevne alternativer."
+msgstr ""
+"Flere alternativer end gentagelser. Stryger tiloversblevne alternativer."
+
+#: parser.yy:861 parser.yy:868
+msgid "\applycontext takes function argument"
+msgstr ""
 
-#: parser.yy:798
+#: parser.yy:877
 msgid "Second argument must be a symbol"
 msgstr "Andet argument skal være et symbol"
 
-#: parser.yy:803
+#: parser.yy:882
 #, fuzzy
 msgid "First argument must be a procedure taking one argument"
 msgstr "Første argument skal være en procedure som tager 1 argument"
 
-#: parser.yy:1380
+#: parser.yy:1009
+msgid "\apply takes function argument"
+msgstr ""
+
+#: parser.yy:1501
 msgid "Expecting string as script definition"
 msgstr "Forventer streng som skriptdefinition"
 
-#: parser.yy:1390
-msgid "Can't specify direction for this request"
-msgstr "Kan ikke angive retning for denne forespørgsel"
-
-#: parser.yy:1516
+#: parser.yy:1598
 msgid "Expecting musical-pitch value"
 msgstr "Forventer nodeværdi"
 
-#: parser.yy:1527
+#: parser.yy:1609
 msgid "Must have duration object"
 msgstr "Skal have tidslængdeobjekt"
 
-#: parser.yy:1536 parser.yy:1544
+#: parser.yy:1618 parser.yy:1626
 msgid "Have to be in Lyric mode for lyrics"
 msgstr "Skal være i teksttilstand (Lyric mode) for tekst"
 
-#: parser.yy:1715 parser.yy:1768
+#: parser.yy:1798 parser.yy:1853
 #, c-format
 msgid "not a duration: %d"
 msgstr "ikke en tidslængde: %d"
 
-#: parser.yy:1855
+#: parser.yy:1949
 msgid "Have to be in Note mode for notes"
 msgstr "Skal være i nodetilstand (Note mode) for noder"
 
-#: parser.yy:1954
+#: parser.yy:2032
 msgid "Have to be in Chord mode for chords"
 msgstr "Skal være i akkordtilstand (Chord mode) for akkord"
 
-#: parser.yy:2134
+#: parser.yy:2171
 msgid "need integer number arg"
 msgstr "behøver heltalsargument"
 
-#: parser.yy:2206
+#: parser.yy:2316
 msgid "Suspect duration found following this beam"
 msgstr ""
 
-#: lexer.ll:178
+#: lexer.ll:186
 msgid "EOF found inside a comment"
 msgstr "filslutning fundet inden i en kommentar"
 
-#: lexer.ll:192
+#: lexer.ll:200
 msgid "\\maininput disallowed outside init files"
 msgstr "\\maininput forbudt udenfor init-filer"
 
-#: lexer.ll:216
+#: lexer.ll:224
 #, c-format
 msgid "wrong or undefined identifier: `%s'"
 msgstr "fejlagtig eller udefineret identificerer: \"%s\""
 
 #. backup rule
-#: lexer.ll:225
+#: lexer.ll:233
 msgid "Missing end quote"
 msgstr "Mangler slutcitationstegn"
 
 #. backup rule
-#: lexer.ll:247 lexer.ll:251
+#: lexer.ll:255 lexer.ll:259
 msgid "white expected"
 msgstr "forventede mellemrum"
 
-#: lexer.ll:260
+#: lexer.ll:268
 msgid "Can't evaluate Scheme in safe mode"
 msgstr "Kan ikke evaluere Scheme i sikker tilstand"
 
-#: lexer.ll:364
+#: lexer.ll:397 lexer.ll:487
 #, fuzzy
 msgid "Brace found at end of lyric.  Did you forget a space?"
 msgstr "Krølleparentes fundet i slutning af tekst. Glemte du et mellemrum?"
 
-#: lexer.ll:480
+#: lexer.ll:574
 #, c-format
 msgid "invalid character: `%c'"
 msgstr "ugyldigt tegn: \"%c\""
 
-#: lexer.ll:566
+#: lexer.ll:651
 #, c-format
 msgid "unknown escaped string: `\\%s'"
 msgstr "ukendt \"escaped\" streng: \"\\%s\""
 
-#: lexer.ll:657
+#: lexer.ll:742
 #, fuzzy, c-format
 msgid "Incorrect lilypond version: %s (%s, %s)"
 msgstr "fejlagtig lilypond-version: %s (%s, %s)"
 
-#: lexer.ll:658
+#: lexer.ll:743
 #, fuzzy
 msgid "Consider updating the input with the convert-ly script"
 msgstr "Overvej at konvertere inddata med skriptet \"convert-ly\""
 
+#~ msgid "Fetch and rebuild from latest source package"
+#~ msgstr "Hent og byg om fra seneste kildekodepakke"
+
+#~ msgid "unpack and build in DIR [%s]"
+#~ msgstr "udpak og byg i DIR [%s]"
+
+#~ msgid "execute COMMAND, subtitute:"
+#~ msgstr "kør COMMAND, erstat:"
+
+#~ msgid "%b: build root"
+#~ msgstr "%b: rod for opbygning"
+
+#~ msgid "%n: package name"
+#~ msgstr "%n: pakkenavn"
+
+#~ msgid "%r: release directory"
+#~ msgstr "%r: katalog for programudgivelse"
+
+#~ msgid "%t: tarball"
+#~ msgstr "%t: tarball"
+
+#~ msgid "%v: package version"
+#~ msgstr "%v: pakkeversion"
+
+#~ msgid "keep all output, and name the directory %s"
+#~ msgstr "behold al uddata, og døb kataloget til %s"
+
+#~ msgid "upon failure notify EMAIL[,EMAIL]"
+#~ msgstr "ved fejl, underret EMAIL[,EMAIL]"
+
+#~ msgid "remove previous build"
+#~ msgstr "fjern foregående bygning"
+
+#~ msgid "fetch and build URL [%s]"
+#~ msgstr "hent og byg URL [%s]"
+
+#~ msgid "Listing `%s'..."
+#~ msgstr "Lister \"%s\"..."
+
+#~ msgid "latest is: %s"
+#~ msgstr "seneste er: %s"
+
+#~ msgid "relax, %s is up to date"
+#~ msgstr "slap af, %s er seneste version"
+
+#~ msgid "Fetching `%s'..."
+#~ msgstr "Henter \"%s\"..."
+
+#~ msgid "Building `%s'..."
+#~ msgstr "Bygger \"%s\"..."
+
+#~ msgid "invalid subtraction: not part of chord: %s"
+#~ msgstr "ugyldig subtraktion: ikke del af akkord: %s"
+
+# "pitch" hær skal alltså være en ton i et akkord
+#~ msgid "invalid inversion pitch: not part of chord: %s"
+#~ msgstr "ugyldig tone for inversion: ikke del af en akkord: %s"
+
+#~ msgid "This was the other key definition."
+#~ msgstr "Dette var den anden tonartsdefinition."
+
+#~ msgid ", at "
+#~ msgstr ", ved "
+
+#~ msgid "Pitch arguments out of range"
+#~ msgstr "Toneargument udenfor intervallet"
+
+#~ msgid "Putting slur over rest."
+#~ msgstr "Sætter legatobue over pause."
+
+#~ msgid "Slur over rest?"
+#~ msgstr "Legatobue over pause?"
+
+#~ msgid "Text_spanner too small"
+#~ msgstr "Tekst_bro for lille"
+
+#~ msgid "Can't specify direction for this request"
+#~ msgstr "Kan ikke angive retning for denne forespørgsel"
+
 #~ msgid "Generate .dvi with LaTeX for LilyPond"
 #~ msgstr "Generér .dvi med LaTeX for LilyPond"
 
@@ -1482,9 +2447,6 @@ msgstr "Overvej at konvertere inddata med skriptet \"convert-ly\""
 #~ msgid "%s is far from completed.  Not all constructs are recognised."
 #~ msgstr "%s er langt fra færdig, og kan ikke genkende alle konstruktioner."
 
-#~ msgid "Cleaning `%s'..."
-#~ msgstr "Renser \"%s\"..."
-
 #~ msgid "EOF in a string"
 #~ msgstr "EOF i en streng"
 
@@ -1553,8 +2515,12 @@ msgstr "Overvej at konvertere inddata med skriptet \"convert-ly\""
 #~ msgid "Scheme options:"
 #~ msgstr "Scheme-flag:"
 
-#~ msgid "Can't find property type-check for `%s'.  Perhaps you made a typing error? Doing assignment anyway."
-#~ msgstr "Kan ikke finde egenskabstypekontrol for \"%s\". Måske har du lavet en tastefejl? Laver tildeling alligevel."
+#~ msgid ""
+#~ "Can't find property type-check for `%s'.  Perhaps you made a typing "
+#~ "error? Doing assignment anyway."
+#~ msgstr ""
+#~ "Kan ikke finde egenskabstypekontrol for \"%s\". Måske har du lavet en "
+#~ "tastefejl? Laver tildeling alligevel."
 
 #~ msgid "ly-get-trans-property: expecting a Translator_group argument"
 #~ msgstr "ly-get-trans-property: forventede et Translator_group-argument"
index 5ffaa146e79de34f87a54cb9ab17ae646cf658ae..1a9ee848c37f261ebac854b86eeaf12ee74e043b 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -7,7 +7,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: lilypond 1.6.0\n"
-"POT-Creation-Date: 2002-08-18 17:05+0200\n"
+"POT-Creation-Date: 2003-07-18 14:45+0200\n"
 "PO-Revision-Date: 2003-07-10 11:47+0200\n"
 "Last-Translator: Roland Stigge <stigge@antcom.de>\n"
 "Language-Team: German <de@li.org>\n"
@@ -15,397 +15,1181 @@ msgstr ""
 "Content-Type: text/plain; charset=ISO-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: lilypond-book.py:1019 ly2dvi.py:458 ly2dvi.py:491
-#, c-format
-msgid "Running %s..."
-msgstr "Starte %s..."
+#. this is where special info is often stored
+#. ###############################################################
+#. lilylib.py -- options and stuff
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. ##  subst:\(^\|[^._a-z]\)\(abspath\|identify\|warranty\|progress\|warning\|error\|exit\|getopt_args\|option_help_str\|options_help_str\|help\|setup_temp\|read_pipe\|system\|cleanup_temp\|strip_extension\|cp_to_dir\|mkdir_p\|init\) *(
+#. ##  replace:\1ly.\2 (
+#. ## subst: \(help_summary\|keep_temp_dir_p\|option_definitions\|original_dir\|program_name\|pseudo_filter_p\|temp_dir\|verbose_p\)
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. lilylib globals
+#: lilylib.py:60
+msgid "lilylib module"
+msgstr ""
+
+#: lilylib.py:63 lilypond-book.py:131 ly2dvi.py:128 midi2ly.py:100
+#: mup2ly.py:75 main.cc:111
+msgid "this help"
+msgstr "diese Hilfe"
 
-#: ly2dvi.py:118
-msgid "Distributed under terms of the GNU General Public License.  It comes with NO WARRANTY."
-msgstr "Vertrieben unter den Bedingungen der GNU General Public License und ohne GEWÄHRLEISTUNG."
+#. ###############################################################
+#. Handle bug in Python 1.6-2.1
+#.
+#. there are recursion limits for some patterns in Python 1.6 til 2.1.
+#. fix this by importing pre instead. Fix by Mats.
+#. Attempt to fix problems with limited stack size set by Python!
+#. Sets unlimited stack size. Note that the resource module only
+#. is available on UNIX.
+#: lilylib.py:114 midi2ly.py:136 mup2ly.py:130 main.cc:188 main.cc:200
+#, c-format, python-format
+msgid "Copyright (c) %s by"
+msgstr "Copyright (c) %s bei"
+
+#: lilylib.py:114
+msgid " 1998--2003"
+msgstr ""
+
+#: lilylib.py:118
+#, fuzzy
+msgid "Distributed under terms of the GNU General Public License."
+msgstr ""
+"Vertrieben unter den Bedingungen der GNU General Public License und ohne "
+"GEWÄHRLEISTUNG."
+
+#: lilylib.py:120
+msgid "It comes with NO WARRANTY."
+msgstr ""
 
-#: ly2dvi.py:125 midi2ly.py:148 mup2ly.py:143 update-lily.py:137 input.cc:87
+#: lilylib.py:127 midi2ly.py:150 mup2ly.py:144 input.cc:88
 msgid "warning: "
 msgstr "Warnung: "
 
-#: ly2dvi.py:128 ly2dvi.py:143 midi2ly.py:163 midi2ly.py:1012 midi2ly.py:1081
-#: mup2ly.py:146 mup2ly.py:160 update-lily.py:152 update-lily.py:458
-#: input.cc:92
+#. lots of midi files use plain text for lyric events
+#. FIXME: read from stdin when files[0] = '-'
+#: lilylib.py:130 midi2ly.py:165 midi2ly.py:1018 midi2ly.py:1083 mup2ly.py:147
+#: mup2ly.py:161 input.cc:93
 msgid "error: "
 msgstr "Fehler: "
 
-#: ly2dvi.py:144 midi2ly.py:164 mup2ly.py:161 update-lily.py:153
-msgid "Exiting ... "
+#: lilylib.py:134
+#, fuzzy, python-format
+msgid "Exiting (%d)..."
 msgstr "Beenden ... "
 
-#: ly2dvi.py:202 midi2ly.py:222 mup2ly.py:219 update-lily.py:211
-#, c-format
+#: lilylib.py:194 midi2ly.py:224 mup2ly.py:220
+#, python-format
 msgid "Usage: %s [OPTION]... FILE"
 msgstr "Aufruf: %s [OPTION]... DATEI"
 
-#: ly2dvi.py:206 midi2ly.py:226 mup2ly.py:223 update-lily.py:215 main.cc:166
+#: lilylib.py:198 midi2ly.py:228 mup2ly.py:224 main.cc:166
 msgid "Options:"
 msgstr "Optionen:"
 
-#: ly2dvi.py:210 midi2ly.py:230 mup2ly.py:227 update-lily.py:219 main.cc:172
-#, c-format
+#: lilylib.py:202 midi2ly.py:232 mup2ly.py:228 main.cc:172
+#, c-format, python-format
 msgid "Report bugs to %s"
 msgstr "Melden Sie Fehler an %s"
 
-#: ly2dvi.py:238 midi2ly.py:258 mup2ly.py:255 update-lily.py:247
-#, c-format
+#: lilylib.py:228
+#, python-format
+msgid "Opening pipe `%s'"
+msgstr ""
+
+#. successful pipe close returns 'None'
+#: lilylib.py:240
+#, python-format
+msgid "`%s' failed (%d)"
+msgstr ""
+
+#: lilylib.py:242 lilylib.py:289 lilypond-book.py:231 ly2dvi.py:512
+msgid "The error log is as follows:"
+msgstr "Das Fehlerprotokoll lautet wie folgt:"
+
+#: lilylib.py:262 midi2ly.py:260 mup2ly.py:256
+#, python-format
 msgid "Invoking `%s'"
 msgstr "Rufe `%s' auf"
 
-#: ly2dvi.py:243 midi2ly.py:262 mup2ly.py:260 update-lily.py:251
-#, c-format
-msgid "command exited with value %d"
-msgstr "Kommando mit Rückgabewert %d beendet"
+#: lilylib.py:264
+#, python-format
+msgid "Running %s..."
+msgstr "Starte %s..."
+
+#: lilylib.py:282
+#, python-format
+msgid "`%s' failed (%s)"
+msgstr ""
 
-#: ly2dvi.py:246 midi2ly.py:264 mup2ly.py:263 update-lily.py:253
+#: lilylib.py:285 midi2ly.py:266 mup2ly.py:264
 msgid "(ignored)"
 msgstr "(ignoriert)"
 
-#: ly2dvi.py:256 midi2ly.py:274 mup2ly.py:273 update-lily.py:263
-#, c-format
+#: lilylib.py:299 midi2ly.py:276 mup2ly.py:274
+#, python-format
 msgid "Cleaning %s..."
 msgstr "Räume %s auf..."
 
-#: ly2dvi.py:330
-msgid "Run LilyPond using LaTeX for titling"
-msgstr "LilyPond zum Kacheln mit LaTeX aufrufen"
+#. Duh.  Python style portable: cp *.EXT OUTDIR
+#. system ('cp *.%s %s' % (ext, outdir), 1)
+#. Python < 1.5.2 compatibility
+#.
+#. On most platforms, this is equivalent to
+#. `normpath(join(os.getcwd()), PATH)'.  *Added in Python version 1.5.2*
+#. tex needs lots of memory, more than it gets by default on Debian
+#. TODO: * prevent multiple addition.
+#. * clean TEXINPUTS, MFINPUTS, TFMFONTS,
+#. as these take prevalence over $TEXMF
+#. and thus may break tex run?
+#. $TEXMF is special, previous value is already taken care of
+#. # -sOutputFile does not work with bbox?
+#. # todo:
+#. # have better algorithm for deciding when to crop page,
+#. # and when to show full page
+#: lilylib.py:458
+msgid "Removing output file"
+msgstr ""
 
-#: ly2dvi.py:334 main.cc:115
-msgid "write Makefile dependencies for every input file"
-msgstr "Makefile-Abhängigkeiten für jede Eingabedatei schreiben"
+#. !@PYTHON@
+#. once upon a rainy monday afternoon.
+#.
+#. ...
+#.
+#. (not finished.)
+#. ABC standard v1.6:  http://www.gre.ac.uk/~c.walshaw/abc2mtex/abc.txt
+#.
+#. Enhancements  (Roy R. Rankin)
+#.
+#. Header section moved to top of lilypond file
+#. handle treble, treble-8, alto, and bass clef
+#. Handle voices (V: headers) with clef and part names, multiple voices
+#. Handle w: lyrics with multiple verses
+#. Handle key mode names for minor, major, phrygian, ionian, locrian, aeolian,
+#. mixolydian, lydian, dorian
+#. Handle part names from V: header
+#. Tuplets handling fixed up
+#. Lines starting with |: not discarded as header lines
+#. Multiple T: and C: header entries handled
+#. Accidental maintained until next bar check
+#. Silent rests supported
+#. articulations fermata, upbow, downbow, ltoe, accent, tenuto supported
+#. Chord strings([-^]"string") can contain a '#'
+#. Header fields enclosed by [] in notes string processed
+#. W: words output after tune as abc2ps does it (they failed before)
+#. Enhancements (Laura Conrad)
+#.
+#. Barring now preserved between ABC and lilypond
+#. the default placement for text in abc is above the staff.
+#. %%LY now supported.
+#. \breve and \longa supported.
+#. M:none doesn't crash lily.
+#. Limitations
+#.
+#. Multiple tunes in single file not supported
+#. Blank T: header lines should write score and open a new score
+#. Not all header fields supported
+#. ABC line breaks are ignored
+#. Block comments generate error and are ignored
+#. Postscript commands are ignored
+#. lyrics not resynchronized by line breaks (lyrics must fully match notes)
+#. %%LY slyrics can't be directly before a w: line.
+#. ???
+#. TODO:
+#.
+#. Convert to new chord styles.
+#.
+#. UNDEF -> None
+#.
+#. uGUHGUHGHGUGH
+#. UGH
+#. treble8 is used by abctab2ps; -8va is used by barfly,
+#. and by my patch to abc2ps. If there's ever a standard
+#. about this we'll support that.
+#. find keywork
+#. assume that Q takes the form "Q:1/4=120"
+#. There are other possibilities, but they are deprecated
+#. outf.write ("\t\t\\consists Staff_margin_engraver\n")
+#. pitch manipulation. Tuples are (name, alteration).
+#. 0 is (central) C. Alteration -1 is a flat, Alteration +1 is a sharp
+#. pitch in semitones.
+#. abc to lilypond key mode names
+#. semitone shifts for key mode names
+#. latex does not like naked #'s
+#. latex does not like naked "'s
+#. break lyrics to words and put "'s around words containing numbers and '"'s
+#. escape "
+#. _ causes probs inside ""
+#. _ to ' _ '
+#. split words with -
+#. unless \-
+#. ~ to space('_')
+#. * to to space
+#. latex does not like naked #'s
+#. put numbers and " and ( into quoted string
+#. insure space between lines
+#. title
+#. strip trailing blanks
+#. Meter
+#. KEY
+#. seperate clef info
+#. there may or may not be a space
+#. between the key letter and the mode
+#. ugh.
+#. ugh.
+#. Notes
+#. Origin
+#. Reference Number
+#. Area
+#. History
+#. Book
+#. Composer
+#. Default note length
+#. Voice
+#. Words
+#. vocals
+#. tempo
+#. we use in this order specified accidental, active accidental for bar,
+#. active accidental for key
+#. (num /  den)  / defaultlen < 1/base
+#. return (str, num,den,dots)
+#. ignore slide
+#. ignore roll
+#. s7m2 input doesnt care about spaces
+#.
+#. remember accidental for rest of bar
+#.
+#. get accidental set in this bar or UNDEF if not set
+#. WAT IS ABC EEN ONTZETTENDE PROGRAMMEERPOEP  !
+#. failed; not a note!
+#. escape '#'s
+#.
+#. |] thin-thick double bar line
+#. || thin-thin double bar line
+#. [| thick-thin double bar line
+#. :| left repeat
+#. |: right repeat
+#. :: left-right repeat
+#. |1 volta 1
+#. |2 volta 2
+#. first try the longer one
+#. bracket escape
+#. the nobarlines option is necessary for an abc to lilypond translator for
+#. exactly the same reason abc2midi needs it: abc requires the user to enter
+#. the note that will be printed, and MIDI and lilypond expect entry of the
+#. pitch that will be played.
+#.
+#. In standard 19th century musical notation, the algorithm for translating
+#. between printed note and pitch involves using the barlines to determine
+#. the scope of the accidentals.
+#.
+#. Since ABC is frequently used for music in styles that do not use this
+#. convention, such as most music written before 1700, or ethnic music in
+#. non-western scales, it is necessary to be able to tell a translator that
+#. the barlines should not affect its interpretation of the pitch.
+#. write other kinds of appending  if we ever need them.
+#. add comments to current voice
+#. Try nibbling characters off until the line doesn't change.
+#. dump_global (outf)
+#. !@PYTHON@
+#.
+#. convert-ly.py -- Update old LilyPond input files (fix name?)
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. TODO
+#. use -f and -t for -s output
+#. NEWS
+#. 0.2
+#. - rewrite in python
+#. Did we ever have \mudela-version?  I doubt it.
+#. lilypond_version_re_str = '\\\\version *\"(.*)\"'
+#. ###########################
+#. need new a namespace
+#. raise FatalConversionError()
+#. need new a namespace
+#. harmful to current .lys
+#. str = re.sub ('\\\\key([^;]+);', '\\\\accidentals \\1;', str)
+#. raise FatalConversionError()
+#. raise FatalConversionError()
+#. raise FatalConversionError()
+#. TODO: lots of other syntax change should be done here as well
+#. Ugh, but meaning of \stemup changed too
+#. maybe we should do \stemup -> \stemUp\slurUp\tieUp ?
+#. I don't know exactly when these happened...
+#. ugh, we loose context setting here...
+#. (lacks capitalisation slur -> Slur)
+#. # dynamic..
+#. TODO: add lots of these
+#. ugh
+#. old fix
+#. Make sure groups of more than one ; have space before
+#. them, so that non of them gets removed by next rule
+#. Only remove ; that are not after spaces, # or ;
+#. Otherwise  we interfere with Scheme comments,
+#. which is badbadbad.
+#. 40 ?
+#. ###############################
+#. END OF CONVERSIONS
+#. ###############################
+#. !@PYTHON@
+#. info mostly taken from looking at files. See also
+#. http://lilypond.org/wiki/?EnigmaTransportFormat
+#. This supports
+#.
+#. * notes
+#. * rests
+#. * ties
+#. * slurs
+#. * lyrics
+#. * articulation
+#. * grace notes
+#. * tuplets
+#.
+#. todo:
+#. * slur/stem directions
+#. * voices (2nd half of frame?)
+#. * more intelligent lyrics
+#. * beams (better use autobeam?)
+#. * more robust: try entertainer.etf (freenote)
+#. * dynamics
+#. * empty measures (eg. twopt03.etf from freenote)
+#.
+#. uGUHGUHGHGUGH
+#. notename 0 == central C
+#. represent pitches as (notename, alteration), relative to C-major scale
+#. a fifth up
+#. should cache this.
+#. flag1 isn't all that interesting.
+#. 3: '>',
+#. 18: '\arpeggio' ,
+#. do grace notes.
+#. ugh.
+#. we don't attempt voltas since they fail easily.
+#. and g.repeat_bar == '|:' or g.repeat_bar == ':|:' or g.bracket:
+#. 4 layers.
+#. let's not do this: this really confuses when eE happens to be before  a ^text.
+#. if last_tag and last_indices:
+#. etf_file_dict[last_tag][last_indices].append (l)
+#. # do it
+#. staff-spec
+#. should use \addlyrics ?
+#. !@PYTHON@
+#. vim: set noexpandtab:
+#. This is was the idea for handling of comments:
+#. Multiline comments, @ignore .. @end ignore is scanned for
+#. in read_doc_file, and the chunks are marked as 'ignore', so
+#. lilypond-book will not touch them any more. The content of the
+#. chunks are written to the output file. Also 'include' and 'input'
+#. regex has to check if they are commented out.
+#.
+#. Then it is scanned for 'lilypond', 'lilypond-file' and 'lilypond-block'.
+#. These three regex's has to check if they are on a commented line,
+#. % for latex, @c for texinfo.
+#.
+#. Then lines that are commented out with % (latex) and @c (Texinfo)
+#. are put into chunks marked 'ignore'. This cannot be done before
+#. searching for the lilypond-blocks because % is also the comment character
+#. for lilypond.
+#.
+#. The the rest of the rexeces are searched for. They don't have to test
+#. if they are on a commented out line.
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. if __name__ == '__main__':
+#. lilylib globals
+#. temp_dir = os.path.join (original_dir,  '%s.dir' % program_name)
+#. urg
+#. # FIXME
+#. # ly2dvi: silly name?
+#. # do -P or -p by default?
+#. #help_summary = _ ("Run LilyPond using LaTeX for titling")
+#: lilypond-book.py:120
+msgid "Process LilyPond snippets in hybrid html, LaTeX or texinfo document"
+msgstr ""
 
-#: ly2dvi.py:335 midi2ly.py:98 mup2ly.py:74 update-lily.py:87 main.cc:111
-msgid "this help"
-msgstr "diese Hilfe"
+#. another bug in option parser: --output=foe is taken as an abbreviation
+#. for --output-format
+#: lilypond-book.py:125 main.cc:110
+msgid "EXT"
+msgstr "EXT"
+
+#: lilypond-book.py:125
+msgid "use output format EXT (texi [default], texi-html, latex, html)"
+msgstr ""
+
+#: lilypond-book.py:126 lilypond-book.py:127 lilypond-book.py:129
+#: lilypond-book.py:130
+#, fuzzy
+msgid "DIM"
+msgstr "VERZ"
+
+#: lilypond-book.py:126
+msgid "default fontsize for music.  DIM is assumed to be in points"
+msgstr ""
+
+#: lilypond-book.py:127
+msgid "deprecated, use --default-music-fontsize"
+msgstr ""
+
+#: lilypond-book.py:128
+msgid "OPT"
+msgstr ""
 
-#: ly2dvi.py:336 main.cc:113 main.cc:118
+#: lilypond-book.py:128
+msgid "pass OPT quoted to the lilypond command line"
+msgstr ""
+
+#: lilypond-book.py:129
+msgid "force fontsize for all inline lilypond. DIM is assumed be to in points"
+msgstr ""
+
+#: lilypond-book.py:130
+msgid "deprecated, use --force-music-fontsize"
+msgstr ""
+
+#: lilypond-book.py:132 ly2dvi.py:130 main.cc:113 main.cc:118
 msgid "DIR"
 msgstr "VERZ"
 
-#: ly2dvi.py:336
+#: lilypond-book.py:132
+msgid "include path"
+msgstr ""
+
+#: lilypond-book.py:133
+#, fuzzy
+msgid "write dependencies"
+msgstr "stelle VERZ den Abhängigkeiten voran"
+
+#: lilypond-book.py:134
+msgid "PREF"
+msgstr ""
+
+#: lilypond-book.py:134
+#, fuzzy
+msgid "prepend PREF before each -M dependency"
+msgstr "stelle VERZ den Abhängigkeiten voran"
+
+#: lilypond-book.py:135
+#, fuzzy
+msgid "don't run lilypond"
+msgstr "LilyPond nicht aufrufen"
+
+#: lilypond-book.py:136
+msgid "don't generate pictures"
+msgstr ""
+
+#: lilypond-book.py:137
+msgid "strip all lilypond blocks from output"
+msgstr ""
+
+#: lilypond-book.py:138 lilypond-book.py:139 ly2dvi.py:135 ly2dvi.py:136
+#: midi2ly.py:102 main.cc:114 main.cc:117
+msgid "FILE"
+msgstr "DATEI"
+
+#: lilypond-book.py:138
+#, fuzzy
+msgid "filename main output file"
+msgstr "LaTeX scheiterte an der Ausgabedatei"
+
+#: lilypond-book.py:139
+msgid "where to place generated files"
+msgstr ""
+
+#: lilypond-book.py:140 ly2dvi.py:137
+msgid "RES"
+msgstr ""
+
+#: lilypond-book.py:141 ly2dvi.py:138
+msgid "set the resolution of the preview to RES"
+msgstr "Auflösung der Vorschau auf RES setzen"
+
+#: lilypond-book.py:142 ly2dvi.py:148 midi2ly.py:105 mup2ly.py:78 main.cc:126
+msgid "verbose"
+msgstr "wortreich"
+
+#: lilypond-book.py:143
+#, fuzzy
+msgid "print version information"
+msgstr "Versionsnummer ausgeben"
+
+#: lilypond-book.py:144 ly2dvi.py:150 midi2ly.py:107 mup2ly.py:80 main.cc:127
+msgid "show warranty and copyright"
+msgstr "Gewährleistung und Copyright zeigen"
+
+#. format specific strings, ie. regex-es for input, and % strings for output
+#. global variables
+#. lilypond_binary = 'valgrind --suppressions=/home/hanwen/usr/src/guile-1.6.supp  --num-callers=10 /home/hanwen/usr/src/lilypond/lily/out/lilypond'
+#. only use installed binary  when we're installed too.
+#. only use installed binary  when we're installed too.
+#. ###############################################################
+#. Dimension handling for LaTeX.
+#.
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#: lilypond-book.py:230
+msgid "LaTeX failed."
+msgstr ""
+
+#. URG see ly2dvi
+#. Convert numeric values, with or without specific dimension, to floats.
+#. Keep other strings
+#. ###############################################################
+#. How to output various structures.
+#. # maybe <hr> ?
+#. Verbatim text is always finished with \n.  FIXME: For HTML,
+#. this newline should be removed.
+#. Verbatim text is always finished with \n.  FIXME: For HTML,
+#. this newline should be removed.
+#. # Ugh we need to differentiate on origin:
+#. # lilypond-block origin wants an extra <p>, but
+#. # inline music doesn't.
+#. # possibly other center options?
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. do some tweaking: @ is needed in some ps stuff.
+#.
+#. ugh, the <p> below breaks inline images...
+#. clumsy workaround for python 2.2 pre bug.
+#. ###############################################################
+#. Recognize special sequences in the input
+#. Warning: This uses extended regular expressions.  Tread with care.
+#.
+#. legenda
+#.
+#. (?P<name>regex) -- assign result of REGEX to NAME
+#. *? -- match non-greedily.
+#. (?m) -- multiline regex: make ^ and $ match at each line
+#. (?s) -- make the dot match all characters including newline
+#. why do we have distinction between @mbinclude and @include?
+#. # we'd like to catch and reraise a more
+#. # detailed error, but alas, the exceptions
+#. # changed across the 1.5/2.1 boundary.
+#. ughUGH not original options
+#. First we want to scan the \documentclass line
+#. it should be the first non-comment line.
+#. The only thing we really need to know about the \documentclass line
+#. is if there are one or two columns to begin with.
+#. Then we add everything before \begin{document} to
+#. paperguru.m_document_preamble so that we can later write this header
+#. to a temporary file in find_latex_dims() to find textwidth.
+#. this is not bulletproof..., it checks the first 10 chunks
+#. newchunks.extend (func (m))
+#. python 1.5 compatible:
+#. we have to check for verbatim before doing include,
+#. because we don't want to include files that are mentioned
+#. inside a verbatim environment
+#. ugh fix input
+#. # Hmm, we should hash only lilypond source, and skip the
+#. # %options are ...
+#. # comment line
+#. # todo: include path, but strip
+#. # first part of the path.
+#. format == 'html'
+#. ugh rename
+#. Count sections/chapters.
+#. # TODO: do something like
+#. # this for texinfo/latex as well ?
+#. ugh
+#. fixme: be sys-independent.
+#.
+#. Ugh, fixing up dependencies for .tex generation
+#.
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#. # There used to be code to write .tex dependencies, but
+#. # that is silly: lilypond-book has its own dependency scheme
+#. # to ensure that all lily-XXX.tex files are there
+#. # TODO: put file name in front of texidoc.
+#. #
+#. # what's this? Docme --hwn
+#. #
+#. #docme: why global?
+#. Do It.
+#. should chmod -w
+#: lilypond-book.py:1557 ly2dvi.py:673 midi2ly.py:1018
+#, python-format
+msgid "getopt says: `%s'"
+msgstr "getopt sagt: `%s'"
+
+#. HACK
+#. status = os.system ('lilypond -w')
+#: lilypond-book.py:1630 ly2dvi.py:777
+msgid "no files specified on command line"
+msgstr "Keine Dateien auf der Kommandozeile angegeben"
+
+#.
+#. Petr, ik zou willen dat ik iets zinvoller deed,
+#. maar wat ik kan ik doen, het verandert toch niets?
+#. --hwn 20/aug/99
+#. !@PYTHON@
+#.
+#. ly2dvi.py -- Run LilyPond, add titles to bare score, generate printable
+#. document
+#. Invokes: lilypond, latex (or pdflatex), dvips, ps2pdf, gs
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. This is the third incarnation of ly2dvi.
+#.
+#. Earlier incarnations of ly2dvi were written by
+#. Jeffrey B. Reed<daboys@austin.rr.com> (Python version)
+#. Jan Arne Fagertun <Jan.A.Fagertun@@energy.sintef.no> (Bourne shell script)
+#.
+#. Note: gettext work best if we use ' for docstrings and "
+#. for gettextable strings.
+#. --> DO NOT USE ''' for docstrings.
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. if __name__ == '__main__':
+#. lilylib globals
+#. # FIXME
+#. # ly2dvi: silly name?
+#. # do -P or -p by default?
+#. #help_summary = _ ("Run LilyPond using LaTeX for titling")
+#: ly2dvi.py:121
+msgid "Run LilyPond, add titles, generate printable document"
+msgstr ""
+
+#: ly2dvi.py:127 main.cc:115
+msgid "write Makefile dependencies for every input file"
+msgstr "Makefile-Abhängigkeiten für jede Eingabedatei schreiben"
+
+#: ly2dvi.py:129
+msgid "print even more output"
+msgstr ""
+
+#: ly2dvi.py:130
 msgid "add DIR to LilyPond's search path"
 msgstr "VERZ zu LilyPond's Suchpfad hinzufügen"
 
-#: ly2dvi.py:338
-#, c-format
+#: ly2dvi.py:132
+#, python-format
 msgid "keep all output, output to directory %s.dir"
 msgstr "Alle Ausgaben aufbewahren, ins Verzeichnis %s.dir ausgeben"
 
-#: ly2dvi.py:339
+#: ly2dvi.py:133
 msgid "don't run LilyPond"
 msgstr "LilyPond nicht aufrufen"
 
-#: ly2dvi.py:340 main.cc:116
+#: ly2dvi.py:134 main.cc:116
 msgid "produce MIDI output only"
 msgstr "nur MIDI-Ausgabe erzeugen"
 
-#: ly2dvi.py:341 ly2dvi.py:342 midi2ly.py:100 main.cc:114 main.cc:117
-msgid "FILE"
-msgstr "DATEI"
-
-#: ly2dvi.py:341 midi2ly.py:100
+#: ly2dvi.py:135 midi2ly.py:102
 msgid "write ouput to FILE"
 msgstr "Ausgabe in DATEI schreiben"
 
-#: ly2dvi.py:342
+#: ly2dvi.py:136
 msgid "find pfa fonts used in FILE"
 msgstr "PFA-Schriftarten, welche in DATEI verwendet werden, finden"
 
-#: ly2dvi.py:344
-msgid "set the resolution of the preview to RES"
-msgstr "Auflösung der Vorschau auf RES setzen"
-
-#: ly2dvi.py:345
+#: ly2dvi.py:139
 msgid "generate PostScript output"
 msgstr "PostScript-Ausgabe erzeugen"
 
-#: ly2dvi.py:346
+#: ly2dvi.py:140
+msgid "generate PNG page images"
+msgstr ""
+
+#: ly2dvi.py:141
+#, fuzzy
+msgid "generate PS.GZ"
+msgstr "PDF-Ausgabe erzeugen"
+
+#: ly2dvi.py:142
 msgid "generate PDF output"
 msgstr "PDF-Ausgabe erzeugen"
 
-#: ly2dvi.py:347
+#: ly2dvi.py:143
 msgid "use pdflatex to generate a PDF output"
 msgstr "pdflatex verwenden, um PDF-Ausgabe zu erzeugen"
 
-#: ly2dvi.py:349
+#. FIXME: preview, picture; to indicate creation of a PNG?
+#: ly2dvi.py:145
 msgid "make a picture of the first system"
 msgstr "ein Bild des ersten Systems erzeugen"
 
-#: ly2dvi.py:350
+#: ly2dvi.py:146
+msgid "make HTML file with links to all output"
+msgstr ""
+
+#: ly2dvi.py:147
 msgid "KEY=VAL"
 msgstr "KEY=VAL"
 
-#: ly2dvi.py:350
+#: ly2dvi.py:147
 msgid "change global setting KEY to VAL"
 msgstr "globale Einstellung von KEY auf VAL setzen"
 
-#: ly2dvi.py:351 midi2ly.py:103 mup2ly.py:77 update-lily.py:91 main.cc:126
-msgid "verbose"
-msgstr "wortreich"
-
-#: ly2dvi.py:352 midi2ly.py:104 mup2ly.py:78 update-lily.py:92 main.cc:125
+#: ly2dvi.py:149 midi2ly.py:106 mup2ly.py:79 main.cc:125
 msgid "print version number"
 msgstr "Versionsnummer ausgeben"
 
-#: ly2dvi.py:353 midi2ly.py:105 mup2ly.py:79 update-lily.py:94 main.cc:127
-msgid "show warranty and copyright"
-msgstr "Gewährleistung und Copyright zeigen"
-
-#: ly2dvi.py:448
-#, c-format
+#. other globals
+#. Pdftex support
+#. # yuk.
+#. lilypond_binary = 'valgrind --suppressions=%(home)s/usr/src/guile-1.6.supp --num-callers=10 %(home)s/usr/src/lilypond/lily/out/lilypond '% { 'home' : '/home/hanwen' }
+#. only use installed binary  when we're installed too.
+#. init to empty; values here take precedence over values in the file
+#. # TODO: change name.
+#. for geometry v3
+#. Output formats that ly2dvi should create
+#. what a name.
+#. ly.warning (_ ("invalid value: %s") % `val`)
+#. ly.warning (_ ("invalid value: %s") % `val`)
+#: ly2dvi.py:232
+#, python-format
 msgid "no such setting: `%s'"
 msgstr "keine solche Einstellung: `%s'"
 
-#: ly2dvi.py:508
-#, c-format
+#. 2 == user interrupt.
+#: ly2dvi.py:274
+#, python-format
 msgid "LilyPond crashed (signal %d)."
 msgstr "LilyPond abgestürzt (Signal %d)."
 
-#: ly2dvi.py:509
+#: ly2dvi.py:275
 msgid "Please submit a bug report to bug-lilypond@gnu.org"
 msgstr "Bitte senden Sie einen Fehlerbericht an bug-lilypond@gnu.org"
 
-#: ly2dvi.py:513
-#, c-format
-msgid "LilyPond failed on the input file (exit status %d)."
+#: ly2dvi.py:281
+#, fuzzy, python-format
+msgid "LilyPond failed on input file %s (exit status %d)"
 msgstr "LilyPond scheiterte an der Eingabedatei (Rückgabewert %d)."
 
-#: ly2dvi.py:522
-#, c-format
+#: ly2dvi.py:284
+#, fuzzy, python-format
+msgid "LilyPond failed on an input file (exit status %d)"
+msgstr "LilyPond scheiterte an der Eingabedatei (Rückgabewert %d)."
+
+#: ly2dvi.py:285
+#, fuzzy
+msgid "Continuing..."
+msgstr "Starte %s..."
+
+#. urg
+#: ly2dvi.py:296
+#, python-format
 msgid "Analyzing %s..."
 msgstr "Analysiere %s..."
 
-#: ly2dvi.py:578
-#, c-format
+#. search only the first 10k
+#: ly2dvi.py:354
+#, python-format
 msgid "no LilyPond output found for `%s'"
 msgstr "keine LilyPond-Ausgabe für `%s' gefunden"
 
-#: ly2dvi.py:618
-#, c-format
+#. The final \n seems important here. It ensures that the footers and taglines end up on the right page.
+#. TODO: should set textheight (enlarge) depending on papersize.
+#: ly2dvi.py:397
+#, python-format
 msgid "invalid value: `%s'"
 msgstr "ungültiger Wert: `%s'"
 
-#: ly2dvi.py:724
+#. set sane geometry width (a4-width) for linewidth = -1.
+#. who the hell is 597 ?
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#: ly2dvi.py:511
 msgid "LaTeX failed on the output file."
 msgstr "LaTeX scheiterte an der Ausgabedatei"
 
-#: ly2dvi.py:726
-msgid "The error log is as follows:"
-msgstr "Das Fehlerprotokoll lautet wie folgt:"
+#. make a preview by rendering only the 1st line
+#. of each score
+#: ly2dvi.py:568
+msgid ""
+"Trying create PDF, but no PFA fonts found.\n"
+"Using bitmap fonts instead. This will look bad."
+msgstr ""
 
-#: ly2dvi.py:849
-#, c-format
+#. ugh. Different targets?
+#. Added as functionality to ly2dvi, because ly2dvi may well need to do this
+#. in future too.
+#. no ps header?
+#: ly2dvi.py:615
+#, python-format
 msgid "not a PostScript file: `%s'"
 msgstr "Keine PostScript-Datei: `%s'"
 
-#: ly2dvi.py:865 midi2ly.py:1012 update-lily.py:458
-#, c-format
-msgid "getopt says: `%s'"
-msgstr "getopt sagt: `%s'"
+#. todo
+#: ly2dvi.py:660
+#, fuzzy, python-format
+msgid "Writing HTML menu `%s'"
+msgstr "Schreibe `%s'..."
 
-#: ly2dvi.py:948
+#. signal programming error
+#. Don't convert input files to abspath, rather prepend '.' to include
+#. path.
+#. As a neat trick, add directory part of first input file
+#. to include path.  That way you can do without the clumsy -I in:
+#. ly2dvi -I foe/bar/baz foo/bar/baz/baz.ly
+#: ly2dvi.py:769
 msgid "pseudo filter"
 msgstr "Pseudo-Filter"
 
-#: ly2dvi.py:951
+#: ly2dvi.py:772
 msgid "pseudo filter only for single input file"
 msgstr "Pseudo-Filter nur für einzelne Eingabedatei"
 
-#: ly2dvi.py:980
-#, c-format
+#. Ugh, maybe make a setup () function
+#. hmmm. Wish I'd 've written comments when I wrote this.
+#. now it looks complicated.
+#: ly2dvi.py:806
+#, python-format
 msgid "filename should not contain spaces: `%s'"
 msgstr "Dateiname sollte keine Leerzeichen enthalten: `%s'"
 
-#: ly2dvi.py:1076 input-file-results.cc:67
-#, c-format
+#. to be sure, add tmpdir *in front* of inclusion path.
+#. os.environ['TEXINPUTS'] =  tmpdir + ':' + os.environ['TEXINPUTS']
+#. We catch all exceptions, because we need to do stuff at exit:
+#. * copy any successfully generated stuff from tempdir and
+#. notify user of that
+#. * cleanout tempdir
+#. ## ARGH. This also catches python programming errors.
+#. ## this should only catch lilypond nonzero exit  status
+#. ## --hwn
+#. TODO: friendly message about LilyPond setup/failing?
+#.
+#: ly2dvi.py:845
+msgid "Running LilyPond failed. Rerun with --verbose for a trace."
+msgstr ""
+
+#. Our LilyPond pseudo filter always outputs to 'lelie'
+#. have subsequent stages and use 'lelie' output.
+#. unless: add --tex, or --latex?
+#. TODO: friendly message about TeX/LaTeX setup,
+#. trying to run tex/latex by hand
+#: ly2dvi.py:886
+msgid "Failed to make PS file. Rerun with --verbose for a trace."
+msgstr ""
+
+#. unless: add --tex, or --latex?
+#. TODO: friendly message about TeX/LaTeX setup,
+#. trying to run tex/latex by hand
+#: ly2dvi.py:916
+msgid "Running LaTeX falied. Rerun with --verbose for a trace."
+msgstr ""
+
+#. add DEP to targets?
+#: ly2dvi.py:926 input-file-results.cc:68
+#, c-format, python-format
 msgid "dependencies output to `%s'..."
 msgstr "Abhängigkeiten-Ausgabe nach `%s'..."
 
-#: ly2dvi.py:1090 ly2dvi.py:1104 includable-lexer.cc:49
-#: input-file-results.cc:187 input-file-results.cc:193 lily-guile.cc:97
-#, c-format
+#: ly2dvi.py:937
+#, fuzzy, python-format
+msgid "%s output to <stdout>..."
+msgstr "%s nach `%s' ausgeben..."
+
+#: ly2dvi.py:942 ly2dvi.py:968 includable-lexer.cc:57
+#: input-file-results.cc:191 input-file-results.cc:197 lily-guile.cc:86
+#, c-format, python-format
 msgid "can't find file: `%s'"
 msgstr "Kann Datei nicht finden: `%s'"
 
-#: ly2dvi.py:1102 midi2ly.py:996
-#, c-format
-msgid "%s output to `%s'..."
+#. Hmm, if this were a function, we could call it the except: clauses
+#: ly2dvi.py:965
+#, fuzzy, python-format
+msgid "%s output to %s..."
 msgstr "%s nach `%s' ausgeben..."
 
-#: ly2dvi.py:1111
-msgid "no files specified on command line"
-msgstr "Keine Dateien auf der Kommandozeile angegeben"
-
-#: midi2ly.py:92
+#. !@PYTHON@
+#.
+#. midi2ly.py -- LilyPond midi import script
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. ###############################################################
+#. Users of python modules should include this snippet.
+#.
+#. This soon to be removed for: import lilypond.lilylib as ly
+#. ###############################################################
+#. ###############################################################
+#. ############### CONSTANTS
+#. ###############################################################
+#. temp_dir = os.path.join (original_dir,  '%s.dir' % program_name)
+#. original_dir = os.getcwd ()
+#. keep_temp_dir_p = 0
+#: midi2ly.py:94
 msgid "Convert MIDI to LilyPond source"
 msgstr "MIDI nach LilyPond-Quelltext konvertieren"
 
-#: midi2ly.py:95
+#: midi2ly.py:97
 msgid "print absolute pitches"
 msgstr "Absolute Tonhöhen ausgeben"
 
-#: midi2ly.py:96 midi2ly.py:101
+#: midi2ly.py:98 midi2ly.py:103
 msgid "DUR"
 msgstr "DAUER"
 
-#: midi2ly.py:96
+#: midi2ly.py:98
 msgid "quantise note durations on DUR"
 msgstr "Notenlängen auf DAUER quantisieren"
 
-#: midi2ly.py:97
+#: midi2ly.py:99
 msgid "print explicit durations"
 msgstr "Explizite Notenlängen ausgeben"
 
-#: midi2ly.py:99
+#: midi2ly.py:101
 msgid "ALT[:MINOR]"
 msgstr "VORZ[:MOLL]"
 
-#: midi2ly.py:99
+#: midi2ly.py:101
 msgid "set key: ALT=+sharps|-flats; MINOR=1"
 msgstr "Tonart setzen: VORZ=+Kreuze|-B's; MOLL=1"
 
-#: midi2ly.py:101
+#: midi2ly.py:103
 msgid "quantise note starts on DUR"
 msgstr "Notenanfänge auf DAUER quantisieren"
 
-#: midi2ly.py:102
+#: midi2ly.py:104
 msgid "DUR*NUM/DEN"
 msgstr "DAUER*ZÄHLER/NENNER"
 
 # tuplet = Wertaufteilung nach: Peter Giger: Die Kunst des Rhythmus, Seite 25
-#: midi2ly.py:102
+#: midi2ly.py:104
 msgid "allow tuplet durations DUR*NUM/DEN"
 msgstr "Wertaufteilungsdauern DAUER*ZÄHLER/NENNER erlauben"
 
-#: midi2ly.py:106
+#: midi2ly.py:108
 msgid "treat every text as a lyric"
 msgstr "Jeden Text als Liedtext behandeln"
 
-#: midi2ly.py:1027
+#: midi2ly.py:136 mup2ly.py:130
+msgid " 2001--2003"
+msgstr ""
+
+#: midi2ly.py:141 mup2ly.py:135
+#, fuzzy
+msgid ""
+"\n"
+"Distributed under terms of the GNU General Public License. It comes with\n"
+"NO WARRANTY."
+msgstr ""
+"Vertrieben unter den Bedingungen der GNU General Public License und ohne "
+"GEWÄHRLEISTUNG."
+
+#: midi2ly.py:166 mup2ly.py:162
+msgid "Exiting ... "
+msgstr "Beenden ... "
+
+#: midi2ly.py:264 mup2ly.py:261
+#, python-format
+msgid "command exited with value %d"
+msgstr "Kommando mit Rückgabewert %d beendet"
+
+#. ###############################################################
+#. END Library
+#. ###############################################################
+#. hmm
+#. major scale: do-do
+#. minor scale: la-la  (= + 5) '''
+#. By tradition, all scales now consist of a sequence
+#. of 7 notes each with a distinct name, from amongst
+#. a b c d e f g.  But, minor scales have a wide
+#. second interval at the top - the 'leading note' is
+#. sharped. (Why? it just works that way! Anything
+#. else doesn't sound as good and isn't as flexible at
+#. saying things. In medieval times, scales only had 6
+#. notes to avoid this problem - the hexachords.)
+#. So, the d minor scale is d e f g a b-flat c-sharp d
+#. - using d-flat for the leading note would skip the
+#. name c and duplicate the name d.  Why isn't c-sharp
+#. put in the key signature? Tradition. (It's also
+#. supposedly based on the Pythagorean theory of the
+#. cycle of fifths, but that really only applies to
+#. major scales...)  Anyway, g minor is g a b-flat c d
+#. e-flat f-sharp g, and all the other flat minor keys
+#. end up with a natural leading note. And there you
+#. have it.
+#. John Sankey <bf250@freenet.carleton.ca>
+#.
+#. Let's also do a-minor: a b c d e f gis a
+#.
+#. --jcn
+#. as -> gis
+#. des -> cis
+#. ges -> fis
+#. g -> fisis
+#. d -> cisis
+#. a -> gisis
+#. b -> ces
+#. e -> fes
+#. f -> eis
+#. c -> bis
+#. # FIXME: compile fix --jcn
+#. TODO: move space
+#. fis cis gis dis ais eis bis
+#. bes es as des ges ces fes
+#. urg, we should be sure that we're in a lyrics staff
+#. all include ALL_NOTES_OFF
+#. ugh, must set key while parsing
+#. because Note init uses key
+#. Better do Note.calc () at dump time?
+#. last_lyric.clocks = t - last_time
+#. hmm
+#. urg, this will barf at meter changes
+#. urg LilyPond doesn't start at c4, but
+#. remembers from previous tracks!
+#. reference_note = Note (clocks_per_4, 4*12, 0)
+#. must be in \notes mode for parsing \skip
+#: midi2ly.py:1002
+#, python-format
+msgid "%s output to `%s'..."
+msgstr "%s nach `%s' ausgeben..."
+
+#: midi2ly.py:1033
 msgid "Example:"
 msgstr "Beispiel:"
 
-#: midi2ly.py:1081
+#: midi2ly.py:1083
 msgid "no files specified on command line."
 msgstr "Keine Dateien auf der Kommandozeile angegeben."
 
-#: mup2ly.py:69
+#. !@PYTHON@
+#. mup2ly.py -- mup input converter
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c) 2001
+#. if set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#: mup2ly.py:70
 msgid "Convert mup to LilyPond source"
 msgstr "mup nach LilyPond-Quelltext konvertieren"
 
-#: mup2ly.py:72
+#: mup2ly.py:73
 msgid "debug"
 msgstr "austesten"
 
-#: mup2ly.py:73
+#: mup2ly.py:74
 msgid "define macro NAME [optional expansion EXP]"
 msgstr "Makro NAME [optionale Erweiterung EXP] definieren"
 
-#: mup2ly.py:75 main.cc:117
+#: mup2ly.py:76 main.cc:117
 msgid "write output to FILE"
 msgstr "Ausgabe in DATEI schreiben"
 
-#: mup2ly.py:76
+#: mup2ly.py:77
 msgid "only pre-process"
 msgstr "nur vorverarbeiten"
 
-#: mup2ly.py:1073
-#, c-format
+#. Duh.  Python style portable: cp *.EXT OUTDIR
+#. system ('cp *.%s %s' % (ext, outdir), 1)
+#. Python < 1.5.2 compatibility
+#.
+#. On most platforms, this is equivalent to
+#. `normpath(join(os.getcwd()), PATH)'.  *Added in Python version 1.5.2*
+#. if set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. ###############################################################
+#. END Library
+#.
+#. PMX cut and paste
+#.
+#. if not self.entries:
+#. #return '\n'
+#. #ugh ugh
+#. return '\n%s = {}\n\n' % self.idstring ()
+#. ugh
+#. def set_clef (self, letter):
+#. clstr = clef_table[letter]
+#. self.voices[0].add_nonchord (Clef (clstr))
+#. urg
+#. maybe use import copy?
+#. for i in self.pitches:
+#. ch.pitches.append (i)
+#. for i in self.scripts:
+#. ch.scripts.append (i)
+#. http://www.arkkra.com/doc/uguide/contexts.html
+#. #self.current_staffs = []
+#. duh
+#. FIXME: 1?
+#. FIXME: does key play any role in this?
+#. ch = self.current_voices[0].last_chord ()
+#. ch.basic_duration = self.current_voices[0].last_chord ().basic_duration
+#. ugh
+#. ch = self.current_voices[0].last_chord ()
+#. `;' is not a separator, chords end with ';'
+#. mup resets default duration and pitch each bar
+#. ugh: these (and lots more) should also be parsed in
+#. context staff.  we should have a class Staff_properties
+#. and parse/set all those.
+#. shortcut: set to official mup maximum (duh)
+#. self.set_staffs (40)
+#: mup2ly.py:1076
+#, python-format
 msgid "no such context: %s"
 msgstr "kein solcher Kontext: %s"
 
-#: mup2ly.py:1297
-#, c-format
+#. hmm
+#. dig this: mup allows ifdefs inside macro bodies
+#. don't do nested multi-line defines
+#. duh: mup is strictly line-based, except for `define',
+#. which is `@' terminated and may span several lines
+#. don't define new macros in unactive areas
+#. To support nested multi-line define's
+#. process_function and macro_name, macro_body
+#. should become lists (stacks)
+#. The mup manual is undetermined on this
+#. and I haven't seen examples doing it.
+#.
+#. don't do nested multi-line define's
+#. writes to stdout for help2man
+#. don't call
+#. identify ()
+#. sys.stdout.flush ()
+#. handy emacs testing
+#. if not files:
+#. files = ['template.mup']
+#: mup2ly.py:1300
+#, python-format
 msgid "Processing `%s'..."
 msgstr "Verarbeite `%s'..."
 
-#: mup2ly.py:1316
-#, c-format
+#: mup2ly.py:1319
+#, python-format
 msgid "Writing `%s'..."
 msgstr "Schreibe `%s'..."
 
-#: update-lily.py:76
-msgid "Fetch and rebuild from latest source package"
-msgstr "Hole neuestes Quelltextpaket und baue neu"
-
-#: update-lily.py:79
-#, c-format
-msgid "unpack and build in DIR [%s]"
-msgstr "Auspacken und bauen in VERZ [%s]"
-
-#: update-lily.py:80
-msgid "execute COMMAND, subtitute:"
-msgstr "KOMMANDO ausführen, ersetzen:"
-
-#: update-lily.py:81
-msgid "%b: build root"
-msgstr "%b: Arbeitsverzeichnis"
-
-#: update-lily.py:82
-#, c-format
-msgid "%n: package name"
-msgstr "%n: Paketname"
-
-#: update-lily.py:83
-msgid "%r: release directory"
-msgstr "%r: Ausgabeverzeichnis"
-
-#: update-lily.py:84
-msgid "%t: tarball"
-msgstr "%t: Tarball"
-
-#: update-lily.py:85
-msgid "%v: package version"
-msgstr "%v: Paketversion"
-
-#: update-lily.py:88
-#, c-format
-msgid "keep all output, and name the directory %s"
-msgstr "alle Ausgaben aufbewahren, und das Verzeichnis %s nennen"
-
-#: update-lily.py:89
-msgid "upon failure notify EMAIL[,EMAIL]"
-msgstr "Bei Misserfolg EMAIL[,EMAIL] benachrichtgen"
-
-#: update-lily.py:90
-msgid "remove previous build"
-msgstr "Vorheriges Kompilat löschen"
-
-#: update-lily.py:93
-#, c-format
-msgid "fetch and build URL [%s]"
-msgstr "Hole und baue URL [%s]"
-
-#: update-lily.py:429
-#, c-format
-msgid "Listing `%s'..."
-msgstr "Liste `%s' auf..."
-
-#: update-lily.py:497
-#, c-format
-msgid "latest is: %s"
-msgstr "Neuestes ist: %s"
-
-#: update-lily.py:498
-#, c-format
-msgid "relax, %s is up to date"
-msgstr "Seien Sie unbesorgt, %s ist auf dem neuesten Stand"
-
-#: update-lily.py:507 update-lily.py:520
-#, c-format
-msgid "Fetching `%s'..."
-msgstr "Hole `%s'..."
-
-#: update-lily.py:529
-#, c-format
-msgid "Building `%s'..."
-msgstr "Baue `%s'..."
-
 #: getopt-long.cc:146
 #, c-format
 msgid "option `%s' requires an argument"
@@ -426,52 +1210,57 @@ msgstr "unerkannte Option: `%s'"
 msgid "invalid argument `%s' to option `%s'"
 msgstr "ungültiges Argument `%s' für Option `%s'"
 
-#: warn.cc:24
+#: warn.cc:25
 #, c-format
 msgid "warning: %s\n"
 msgstr "Warnung: %s\n"
 
-#: warn.cc:30
+#: warn.cc:31
 #, c-format
 msgid "error: %s\n"
 msgstr "Fehler: %s\n"
 
-#: warn.cc:43
+#: warn.cc:44
 #, c-format
 msgid "programming error: %s (Continuing; cross thumbs)\n"
 msgstr "Programmierfehler: %s (setze fort; kreuze die Finger)\n"
 
-#: accidental-engraver.cc:181 new-accidental-engraver.cc:237
+#: accidental.cc:202 key-signature-interface.cc:137
+#, c-format
+msgid "accidental `%s' not found"
+msgstr ""
+
+#: accidental-engraver.cc:171 new-accidental-engraver.cc:238
 #, c-format
 msgid "Accidental typesetting list must begin with context-name: %s"
 msgstr "Vorzeichensatzliste muss mit Kontextnamen beginnen: %s"
 
-#: accidental-engraver.cc:206 new-accidental-engraver.cc:262
+#: accidental-engraver.cc:196 new-accidental-engraver.cc:263
 #, c-format
 msgid "unknown accidental typesetting: %s. Ignored"
 msgstr "Unbekanntes Vorzeichen: %s. Ignoriert"
 
-#: accidental-engraver.cc:222 new-accidental-engraver.cc:278
+#: accidental-engraver.cc:212 new-accidental-engraver.cc:279
 #, c-format
 msgid "Symbol is not a parent context: %s. Ignored"
 msgstr "Symbol ist kein Elternkontext: %s. Ignoriert"
 
-#: accidental-engraver.cc:225 new-accidental-engraver.cc:281
+#: accidental-engraver.cc:215 new-accidental-engraver.cc:282
 #, c-format
 msgid "Accidental typesetting must be pair or context-name: %s"
 msgstr "Vorzeichensatz paarweise oder mit Kontextname erwartet: %s"
 
-#: afm.cc:60
+#: afm.cc:66
 #, c-format
 msgid "can't find character number: %d"
 msgstr "Kann Zeichennummer nicht finden: %d"
 
-#: afm.cc:75
+#: afm.cc:81
 #, c-format
 msgid "can't find character called: `%s'"
 msgstr "Kann Zeichen nicht finden: `%s'"
 
-#: afm.cc:125
+#: afm.cc:142
 #, c-format
 msgid "Error parsing AFM file: `%s'"
 msgstr "Fehler beim Analysieren der AFM-Datei: `%s'"
@@ -487,75 +1276,89 @@ msgid "does not match: `%s'"
 msgstr "Passt nicht: `%s'"
 
 #: all-font-metrics.cc:102
-msgid " Rebuild all .afm files, and remove all .pk and .tfm files.  Rerun with -V to show font paths."
-msgstr " Bauen Sie alle .afm-Dateien neu, und löschen Sie alle .pk- und .tfm-Dateien. Starten sie erneut mit -V um die Schriftartverzeichnisse zu zeigen."
+msgid ""
+" Rebuild all .afm files, and remove all .pk and .tfm files.  Rerun with -V "
+"to show font paths."
+msgstr ""
+" Bauen Sie alle .afm-Dateien neu, und löschen Sie alle .pk- und .tfm-"
+"Dateien. Starten sie erneut mit -V um die Schriftartverzeichnisse zu zeigen."
 
-#: all-font-metrics.cc:167
+#: all-font-metrics.cc:103
+msgid ""
+"A script for removing font-files is delivered with the source-code,\n"
+"in buildscripts/clean-fonts.sh"
+msgstr ""
+
+#: all-font-metrics.cc:169
 #, c-format
 msgid "can't find font: `%s'"
 msgstr "Kann Schriftart nicht finden: `%s'"
 
-#: all-font-metrics.cc:168
+#: all-font-metrics.cc:170
 msgid "Loading default font"
 msgstr "Lade Standardschriftart"
 
-#: all-font-metrics.cc:183
+#: all-font-metrics.cc:185
 #, c-format
 msgid "can't find default font: `%s'"
 msgstr "Kann Standardschriftart nicht finden: `%s'"
 
-#: all-font-metrics.cc:184 includable-lexer.cc:51 input-file-results.cc:188
+#: all-font-metrics.cc:186 includable-lexer.cc:59 input-file-results.cc:192
 #, c-format
 msgid "(search path: `%s')"
 msgstr "(Suchpfad: `%s')"
 
-#: all-font-metrics.cc:185
+#: all-font-metrics.cc:187
 msgid "Giving up"
 msgstr "Gebe auf"
 
 #: auto-change-iterator.cc:43 change-iterator.cc:60
-#: part-combine-music-iterator.cc:97
+#: part-combine-music-iterator.cc:120
 msgid "Can't switch translators, I'm there already"
 msgstr "Kann Übersetzer nicht ändern, ist bereits geschehen"
 
-#: bar-check-iterator.cc:58
+#: bar-check-iterator.cc:51
 #, c-format
 msgid "barcheck failed at: %s"
 msgstr "Taktüberprüfung gescheitert bei: `%s'"
 
-#: beam-engraver.cc:167
+#: beam.cc:146
+msgid "beam has less than two visible stems"
+msgstr "Balken hat weniger als zwei sichtbare Notenhälse"
+
+#: beam.cc:151
+msgid "Beam has less than two stems. Removing beam."
+msgstr "Balken hat weniger als zwei Notenhälse. Entferne Notenhals."
+
+#: beam.cc:976
+msgid ""
+"Not sure that we can find a nice beam slope (no viable initial configuration "
+"found)."
+msgstr ""
+"Kann wahrscheinlich keine optimale Balkenneigung ermitteln (keine "
+"funktionsfähige Anfangskonfiguration gefunden)"
+
+#: beam-engraver.cc:176
 msgid "already have a beam"
 msgstr "habe bereits einen Balken"
 
-#: beam-engraver.cc:234
+#: beam-engraver.cc:259
 msgid "unterminated beam"
 msgstr "unbegrenzter Balken"
 
-#: beam-engraver.cc:267 chord-tremolo-engraver.cc:175
+#: beam-engraver.cc:292 chord-tremolo-engraver.cc:197
 msgid "stem must have Rhythmic structure"
 msgstr "Notenhals muss rhythmische Struktur aufweisen"
 
-#: beam-engraver.cc:281
+#: beam-engraver.cc:306
 msgid "stem doesn't fit in beam"
 msgstr "Notenhals passt nicht zum Balken"
 
-#: beam-engraver.cc:282
+#: beam-engraver.cc:307
 msgid "beam was started here"
 msgstr "Balken wurde hier begonnen"
 
-#: beam.cc:134
-msgid "beam has less than two visible stems"
-msgstr "Balken hat weniger als zwei sichtbare Notenhälse"
-
-#: beam.cc:139
-msgid "Beam has less than two stems. Removing beam."
-msgstr "Balken hat weniger als zwei Notenhälse. Entferne Notenhals."
-
-#: beam.cc:951
-msgid "Not sure that we can find a nice beam slope (no viable initial configuration found)."
-msgstr "Kann wahrscheinlich keine optimale Balkenneigung ermitteln (keine funktionsfähige Anfangskonfiguration gefunden)"
-
-#: break-align-interface.cc:166
+#: break-align-interface.cc:173
 #, c-format
 msgid "No spacing entry from %s to `%s'"
 msgstr "Kein Leerraumeintrag von %s nach `%s'"
@@ -579,64 +1382,107 @@ msgstr "Ich bin selbst einer"
 msgid "none of these in my family"
 msgstr "keiner davon befindet sich in meiner Familie"
 
-#: chord-tremolo-engraver.cc:137 percent-repeat-engraver.cc:182
+#: chord-tremolo-engraver.cc:98
+#, c-format
+msgid "Chord tremolo with %d elements. Must have two elements."
+msgstr ""
+
+#: chord-tremolo-engraver.cc:157
 msgid "unterminated chord tremolo"
 msgstr "unbegrenztes Akkord-Tremolo"
 
-#: chord-tremolo-iterator.cc:50
+#: chord-tremolo-iterator.cc:69
 msgid "no one to print a tremolos"
 msgstr "niemand vorhanden für Tremoloausgabe"
 
-#: chord.cc:313
+#: clef.cc:64
+#, c-format
+msgid "clef `%s' not found"
+msgstr ""
+
+#: cluster.cc:131
+#, fuzzy, c-format
+msgid "unknown cluster style `%s'"
+msgstr "unbekannter Übersetzer: `%s'"
+
+#: coherent-ligature-engraver.cc:84
 #, c-format
-msgid "invalid subtraction: not part of chord: %s"
-msgstr "ungültige Subtraktion: nicht Teil des Akkordes: %s"
+msgid "gotcha: ptr=%ul"
+msgstr ""
+
+#: coherent-ligature-engraver.cc:96
+#, c-format
+msgid "distance=%f"
+msgstr ""
 
-#: chord.cc:342
+#: coherent-ligature-engraver.cc:139
 #, c-format
-msgid "invalid inversion pitch: not part of chord: %s"
-msgstr "ungültige Umkehrungstonhöhe: nicht Teil des Akkordes: %s"
+msgid "Coherent_ligature_engraver: setting `spacing-increment = 0.01': ptr=%ul"
+msgstr ""
+
+#: custos.cc:92
+#, c-format
+msgid "custos `%s' not found"
+msgstr ""
 
 #: dimensions.cc:13
 msgid "NaN"
 msgstr "NaN"
 
-#: dynamic-engraver.cc:187 span-dynamic-performer.cc:82
+#: dynamic-engraver.cc:204 span-dynamic-performer.cc:82
 msgid "can't find start of (de)crescendo"
 msgstr "kann den Anfang des (De-) Crescendos nicht finden"
 
-#: dynamic-engraver.cc:211
+#: dynamic-engraver.cc:216
 msgid "already have a crescendo"
 msgstr "habe bereits ein Crescendo"
 
-#: dynamic-engraver.cc:212
+#: dynamic-engraver.cc:217
 msgid "already have a decrescendo"
 msgstr "habe bereits ein Decrescendo"
 
-#: dynamic-engraver.cc:215
+#: dynamic-engraver.cc:220
 msgid "Cresc started here"
 msgstr "Crescendo begann hier"
 
-#: dynamic-engraver.cc:307
+#: dynamic-engraver.cc:323
 msgid "unterminated (de)crescendo"
 msgstr "unbegrenztes (De-) Crescendo"
 
-#: extender-engraver.cc:96
+#: event.cc:49
+#, fuzzy, c-format
+msgid "Transposition by %s makes alteration larger than two"
+msgstr "Transponieren um %s erzeugt Vorzeichen größer zwei"
+
+#: event-chord-iterator.cc:76 output-property-music-iterator.cc:27
+#, fuzzy, c-format
+msgid "Junking event: `%s'"
+msgstr "Ignoriere Anforderung: `%s'"
+
+#: extender-engraver.cc:94
 msgid "unterminated extender"
 msgstr "unbegrenzte Erweiterung"
 
-#: extender-engraver.cc:108
-msgid "Nothing to connect extender to on the left.  Ignoring extender request."
-msgstr "Nichts vorhanden, um die Erweiterung nach links zu verbinden. Ignoriere Erweiterungsanforderung."
+#: extender-engraver.cc:106
+#, fuzzy
+msgid "Nothing to connect extender to on the left.  Ignoring extender event."
+msgstr ""
+"Nichts vorhanden, um die Erweiterung nach links zu verbinden. Ignoriere "
+"Erweiterungsanforderung."
 
-#: folded-repeat-iterator.cc:78
+#: folded-repeat-iterator.cc:88
 msgid "no one to print a repeat brace"
 msgstr "niemand zur Erzeugung einer Wiederholung"
 
-#: font-interface.cc:238
+#: font-interface.cc:239
 msgid "couldn't find any font satisfying "
 msgstr "konnte keine passende Schriftart finden für "
 
+#: glissando-engraver.cc:100
+#, fuzzy
+msgid "Unterminated glissando."
+msgstr "unbegrenzte Bindung"
+
 #: gourlay-breaking.cc:188
 #, c-format
 msgid "Optimal demerits: %f"
@@ -646,6 +1492,27 @@ msgstr "Optimale Bewertung: %f"
 msgid "No feasible line breaking found"
 msgstr "Keine praktikablen Zeilenumbrüche gefunden"
 
+#: gregorian-ligature-engraver.cc:59
+#, fuzzy, c-format
+msgid "\\%s ignored"
+msgstr "(ignoriert)"
+
+#: gregorian-ligature-engraver.cc:64
+#, c-format
+msgid "implied \\%s added"
+msgstr ""
+
+#.
+#. Todo: do something sensible. The grob-pq-engraver is not water
+#. tight, and stuff like tupletSpannerDuration confuses it.
+#.
+#: grob-pq-engraver.cc:130
+#, c-format
+msgid ""
+"Skipped something?\n"
+"Grob %s ended before I expected it to end."
+msgstr ""
+
 #: hairpin.cc:98
 msgid "decrescendo too small"
 msgstr "Decrescendo zu kurz"
@@ -654,111 +1521,118 @@ msgstr "Decrescendo zu kurz"
 msgid "crescendo too small"
 msgstr "Crescendo zu kurz"
 
-#: hyphen-engraver.cc:89
+#: horizontal-bracket-engraver.cc:64
+msgid "Don't have that many brackets."
+msgstr ""
+
+#: horizontal-bracket-engraver.cc:73
+#, fuzzy
+msgid "Conflicting note group events."
+msgstr "Widersprüchliche Tonarten gefunden."
+
+#: hyphen-engraver.cc:87
 msgid "unterminated hyphen"
 msgstr "unbegrenzter Bindestrich"
 
-#: hyphen-engraver.cc:101
-msgid "Nothing to connect hyphen to on the left.  Ignoring hyphen request."
-msgstr "Nichts vorhanden, um den Bindestrich nach links zu verbinden. Ignoriere Bindestrichanforderung."
+#: hyphen-engraver.cc:99
+#, fuzzy
+msgid "Nothing to connect hyphen to on the left.  Ignoring hyphen event."
+msgstr ""
+"Nichts vorhanden, um den Bindestrich nach links zu verbinden. Ignoriere "
+"Bindestrichanforderung."
+
+#: input.cc:99
+msgid "non fatal error: "
+msgstr "nicht-schwerwiegender Fehler: "
+
+#: input.cc:107 source-file.cc:146 source-file.cc:239
+msgid "position unknown"
+msgstr "Position unbekannt"
 
-#: input-file-results.cc:71 source-file.cc:52 streams.cc:38
+#: input-file-results.cc:72 source-file.cc:54 streams.cc:38
 #, c-format
 msgid "can't open file: `%s'"
 msgstr "Kann Datei nicht öffnen: `%s'"
 
-#: input-file-results.cc:131
+#: input-file-results.cc:132
 msgid "Score contains errors; will not process it"
 msgstr "Noten enthalten Fehler; keine weitere Verarbeitung"
 
-#: input-file-results.cc:168
+#: input-file-results.cc:172
 #, c-format
 msgid "Now processing: `%s'"
 msgstr "Bearbeite: `%s'"
 
-#: input.cc:98
-msgid "non fatal error: "
-msgstr "nicht-schwerwiegender Fehler: "
-
-#: input.cc:106 source-file.cc:147 source-file.cc:240
-msgid "position unknown"
-msgstr "Position unbekannt"
-
-#: key-engraver.cc:91
-msgid "Conflicting key signatures found."
-msgstr "Widersprüchliche Tonarten gefunden."
-
-#: key-engraver.cc:92
-msgid "This was the other key definition."
-msgstr "Das war die andere Tonartdefinition"
-
-#: key-performer.cc:92
+#: key-performer.cc:96
 msgid "FIXME: key change merge"
 msgstr "FIXME: Mischen der Tonartänderungen"
 
-#: kpath.cc:64
+#: kpath.cc:76
 #, c-format
 msgid "Kpathsea couldn't find TFM file `%s'"
 msgstr "Kpathsea konnte TFM-Datei `%s' nicht finden"
 
-#: ligature-bracket.cc:105 ligature-bracket.cc:139 ligature-engraver.cc:124
-msgid "no left bound"
-msgstr "keine linke Begrenzung"
-
-#: ligature-engraver.cc:81
+#: ligature-engraver.cc:159
 msgid "can't find start of ligature"
 msgstr "kann den Anfang der Bindung nicht finden"
 
-#: ligature-engraver.cc:86
+#: ligature-engraver.cc:165
 msgid "no right bound"
 msgstr "keine rechte Begrenzung"
 
-#: ligature-engraver.cc:108
+#: ligature-engraver.cc:191
 msgid "already have a ligature"
 msgstr "habe bereits eine Bindung"
 
-#: ligature-engraver.cc:166
+#: ligature-engraver.cc:207
+msgid "no left bound"
+msgstr "keine linke Begrenzung"
+
+#: ligature-engraver.cc:258
 msgid "unterminated ligature"
 msgstr "unbegrenzte Bindung"
 
-#: ligature-engraver.cc:183
+#: ligature-engraver.cc:282
 msgid "ligature may not contain rest; ignoring rest"
 msgstr "Bindung darf keine Pause enthalten; ignoriere Pause"
 
-#: ligature-engraver.cc:184
+#: ligature-engraver.cc:283
 msgid "ligature was started here"
 msgstr "Bindung wurde hier begonnen"
 
-#: lily-guile.cc:99
+#: lily-guile.cc:88
 #, c-format
 msgid "(load path: `%s')"
 msgstr "(lade Pfad: `%s')"
 
-#: lily-guile.cc:582
+#: lily-guile.cc:576
 #, c-format
 msgid "Can't find property type-check for `%s' (%s)."
 msgstr "Kann keine Eigenschafts-Typprüfung für `%s' (%s) finden."
 
-#: lily-guile.cc:585
+#: lily-guile.cc:579
 msgid "Perhaps you made a typing error?"
 msgstr "Ist Ihnen vielleicht einen Tippfehler unterlaufen?"
 
-#: lily-guile.cc:591
+#: lily-guile.cc:585
 msgid "Doing assignment anyway."
 msgstr "Führe Zuweisung trotzdem durch."
 
-#: lily-guile.cc:605
+#: lily-guile.cc:599
 #, c-format
 msgid "Type check for `%s' failed; value `%s' must be of type `%s'"
 msgstr "Typprüfung für `%s' gescheitert; Wert `%s' muss vom Typ `%s' sein"
 
-#: lookup.cc:141
+#: lookup.cc:173
 msgid "round filled box horizontal extent smaller than blot; decreasing blot"
-msgstr "Breite des abgerundeten Kastens kleiner als Kreisdurchmesser; verkleinere Kreis"
+msgstr ""
+"Breite des abgerundeten Kastens kleiner als Kreisdurchmesser; verkleinere "
+"Kreis"
 
-#: lookup.cc:146
+#: lookup.cc:178
 msgid "round filled box vertical extent smaller than blot; decreasing blot"
-msgstr "Höhe des abgerundeten Kastens kleiner als Kreisdurchmesser; verkleinere Kreis"
+msgstr ""
+"Höhe des abgerundeten Kastens kleiner als Kreisdurchmesser; verkleinere Kreis"
 
 #: lyric-phrasing-engraver.cc:311
 msgid "lyrics found without any matching notehead"
@@ -776,12 +1650,6 @@ msgstr "AUSD"
 msgid "set options, use -e '(ly-option-usage)' for help"
 msgstr "Optionen setzen, benutzen Sie -e '(ly-option-usage)' für Hilfe"
 
-#. another bug in option parser: --output=foe is taken as an abbreviation
-#. for --output-format
-#: main.cc:110
-msgid "EXT"
-msgstr "EXT"
-
 #: main.cc:110
 msgid "use output format EXT"
 msgstr "Ausgabeformat EXT benutzen"
@@ -845,16 +1713,12 @@ msgstr ""
 "gleichen Bedingungen weitergeben. Rufen Sie `%s --warranty' für weitere\n"
 "Informationen auf.\n"
 
-#: main.cc:188 main.cc:200
-#, c-format
-msgid "Copyright (c) %s by"
-msgstr "Copyright (c) %s bei"
-
 #: main.cc:198
 msgid "GNU LilyPond -- The music typesetter"
 msgstr "GNU LilyPond -- Das Musiksatzprogramm"
 
 #: main.cc:206
+#, fuzzy
 msgid ""
 "    This program is free software; you can redistribute it and/or\n"
 "modify it under the terms of the GNU General Public License version 2\n"
@@ -867,7 +1731,8 @@ msgid ""
 "\n"
 "    You should have received a copy (refer to the file COPYING) of the\n"
 "GNU General Public License along with this program; if not, write to\n"
-"the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,\n"
+"the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA "
+"02111-1307,\n"
 "USA.\n"
 msgstr ""
 "    Dieses Programm ist Freie Software; Sie können es unter den\n"
@@ -885,78 +1750,75 @@ msgstr ""
 "Sie bitte an die Free Software Foundation, Inc., 675 Mass Ave, Cambridge,\n"
 "MA 02139, USA.\n"
 
-#: mensural-ligature-engraver.cc:321 mensural-ligature-engraver.cc:483
+#: mensural-ligature.cc:153
+#, fuzzy, c-format
+msgid "Mensural_ligature:thickness undefined on flexa %d; assuming 1.4"
+msgstr "Mensural_ligature: Dicke undefiniert beim Bogen %d; nehme 1.4 an"
+
+#: mensural-ligature.cc:169
+#, fuzzy, c-format
+msgid "Mensural_ligature:delta-pitch undefined on flexa %d; assuming 0"
+msgstr "Mensural_ligature: delta-pitch undefiniert beim Bogen %d; nehme 0 an"
+
+#: mensural-ligature.cc:182
+#, fuzzy, c-format
+msgid "Mensural_ligature:flexa-width undefined on flexa %d; assuming 2.0"
+msgstr "Mensural_ligature: flexa-width undefiniert beim Bogen %d; nehme 2.0 an"
+
+#: mensural-ligature.cc:215
+#, fuzzy
+msgid "Mensural_ligature:unexpected case fall-through"
+msgstr "Mensural_ligature: Unbehandelter case-Zweig"
+
+#: mensural-ligature.cc:225
+#, fuzzy
+msgid "Mensural_ligature: (join_left == 0)"
+msgstr "Mensural_ligature: (join_left == 0)"
+
+#: mensural-ligature-engraver.cc:248 mensural-ligature-engraver.cc:397
 msgid "unexpected case fall-through"
 msgstr "unbehandelter case-Zweig"
 
-#: mensural-ligature-engraver.cc:332
+#: mensural-ligature-engraver.cc:259
 msgid "ligature with less than 2 heads -> skipping"
 msgstr "Bindung mit weniger als 2 Notenköpfen -> überspringen"
 
-#: mensural-ligature-engraver.cc:347
+#: mensural-ligature-engraver.cc:279
 msgid "can not determine pitch of ligature primitive -> skipping"
 msgstr "kann Tonhöhe der Bindung nicht ermitteln -> überspringen"
 
-#: mensural-ligature-engraver.cc:370
+#: mensural-ligature-engraver.cc:302
 msgid "prime interval within ligature -> skipping"
 msgstr "Halbtonsprung unter Bindung -> überspringen"
 
-#: mensural-ligature-engraver.cc:380
+#: mensural-ligature-engraver.cc:312
 msgid "mensural ligature: duration none of L, B, S -> skipping"
 msgstr "Mensural_ligature: Dauer weder L, B noch S -> überspringen"
 
-#: mensural-ligature.cc:152
-#, c-format
-msgid "Mensural_ligature: thickness undefined on flexa %d; assuming 1.4"
-msgstr "Mensural_ligature: Dicke undefiniert beim Bogen %d; nehme 1.4 an"
-
-#: mensural-ligature.cc:166
-#, c-format
-msgid "Mensural_ligature: delta-pitch undefined on flexa %d; assuming 0"
-msgstr "Mensural_ligature: delta-pitch undefiniert beim Bogen %d; nehme 0 an"
-
-#: mensural-ligature.cc:177
-#, c-format
-msgid "Mensural_ligature: flexa-width undefined on flexa %d; assuming 2.0"
-msgstr "Mensural_ligature: flexa-width undefiniert beim Bogen %d; nehme 2.0 an"
-
-#: mensural-ligature.cc:208
-msgid "Mensural_ligature: unexpected case fall-through"
-msgstr "Mensural_ligature: Unbehandelter case-Zweig"
-
-#: mensural-ligature.cc:217
-msgid "Menusral_ligature: (join_left == 0)"
-msgstr "Mensural_ligature: (join_left == 0)"
-
-#: midi-item.cc:144
+#: midi-item.cc:148
 #, c-format
 msgid "no such instrument: `%s'"
 msgstr "kein solches Instrument: `%s'"
 
-#: midi-item.cc:234
+#: midi-item.cc:238
 msgid "silly duration"
 msgstr "sinnlose Dauer"
 
-#: midi-item.cc:247
+#: midi-item.cc:251
 msgid "silly pitch"
 msgstr "sinnlose Tonhöhe"
 
-#: music-output-def.cc:113
+#: music-output-def.cc:111
 #, c-format
 msgid "can't find `%s' context"
 msgstr "kann Kontext `%s' nicht finden"
 
-#: music.cc:159
-#, c-format
-msgid "Transposition by %s makes accidental larger than two"
-msgstr "Transponieren um %s erzeugt Vorzeichen größer zwei"
-
-#: my-lily-lexer.cc:142
+#: my-lily-lexer.cc:169
 #, c-format
 msgid "Identifier name is a keyword: `%s'"
 msgstr "Bezeichnername ist ein Schlüsselwort: `%s'"
 
-#: my-lily-lexer.cc:162
+#: my-lily-lexer.cc:191
 #, c-format
 msgid "error at EOF: %s"
 msgstr "Fehler am Dateiende (EOF): %s"
@@ -969,42 +1831,46 @@ msgstr "Analysiere..."
 msgid "Braces don't match"
 msgstr "Klammern passen nicht zueinander"
 
+#.
+#. music for the softenon children?
+#.
+#: new-fingering-engraver.cc:143
+msgid "music for the martians."
+msgstr ""
+
+#: new-tie-engraver.cc:166 tie-engraver.cc:217
+msgid "lonely tie"
+msgstr "einsamer Bindebogen"
+
 #: note-collision.cc:340
 msgid "Too many clashing notecolumns.  Ignoring them."
 msgstr "Zu viele kollidierende Notenspalten. Ignoriere diese."
 
-#: note-head.cc:134
-msgid "Symbol not found, "
-msgstr "Symbol nicht gefunden, "
-
-#: output-property-music-iterator.cc:20 request-chord-iterator.cc:76
+#: note-head.cc:127
 #, c-format
-msgid "Junking request: `%s'"
-msgstr "Ignoriere Anforderung: `%s'"
+msgid "note head `%s' not found"
+msgstr ""
 
-#: paper-def.cc:122
+#: paper-def.cc:96
 #, c-format
 msgid "paper output to `%s'..."
 msgstr "Papierausgabe in `%s'..."
 
-#: paper-outputter.cc:57
-msgid ", at "
-msgstr ", bei "
-
-#: paper-score.cc:77
+#: paper-score.cc:78
 #, c-format
 msgid "Element count %d (spanners %d) "
 msgstr "Elementanzahl: %d (Klammern: %d)"
 
-#: paper-score.cc:82
-msgid "Preprocessing elements..."
+#: paper-score.cc:83
+#, fuzzy
+msgid "Preprocessing graphical objects..."
 msgstr "Vorverarbeitung der Elemente..."
 
-#: paper-score.cc:115
+#: paper-score.cc:116
 msgid "Outputting Score, defined at: "
 msgstr "Notenausgabe, definiert bei: "
 
-#: parse-scm.cc:80
+#: parse-scm.cc:79
 msgid "GUILE signaled an error for the expression begining here"
 msgstr "GUILE signalisierte einen Fehler für den hier beginnenden Ausdruck"
 
@@ -1014,21 +1880,27 @@ msgstr "GUILE signalisierte einen Fehler f
 #.
 #. last->translator_id_string_  = get_change ()->change_to_id_string_;
 #.
-#: part-combine-music-iterator.cc:116
+#: part-combine-music-iterator.cc:139
 #, c-format
 msgid "I'm one myself: `%s'"
 msgstr "Ich bin selbst einer: '%s'"
 
-#: part-combine-music-iterator.cc:119
+#: part-combine-music-iterator.cc:142
 #, c-format
 msgid "none of these in my family: `%s'"
 msgstr "Keiner davon befindet sich in meiner Familie: `%s'"
 
-#: percent-repeat-engraver.cc:116
+#: percent-repeat-engraver.cc:109
 msgid "Don't know how to handle a percent repeat of this length."
-msgstr "Kenne kein Verfahren, eine Prozent-Wiederholung dieser Länge zu behandeln"
+msgstr ""
+"Kenne kein Verfahren, eine Prozent-Wiederholung dieser Länge zu behandeln"
+
+#: percent-repeat-engraver.cc:163
+#, fuzzy
+msgid "unterminated percent repeat"
+msgstr "unbegrenzte Pedalklammer"
 
-#: percent-repeat-iterator.cc:53
+#: percent-repeat-iterator.cc:65
 msgid "no one to print a percent"
 msgstr "nichts bekannt, ein Prozent auszugeben"
 
@@ -1054,131 +1926,103 @@ msgstr "von der musikalischen Vorgabe: %s"
 msgid "MIDI output to `%s'..."
 msgstr "MIDI-Ausgabe nach `%s'..."
 
-#: phrasing-slur-engraver.cc:117
+#: phrasing-slur-engraver.cc:123
 msgid "unterminated phrasing slur"
 msgstr "nicht beendeter Phrasierbogen"
 
-#: phrasing-slur-engraver.cc:132
+#: phrasing-slur-engraver.cc:141
 msgid "can't find start of phrasing slur"
 msgstr "kann Anfang des Phrasierbogens nicht finden"
 
-#: piano-pedal-engraver.cc:230 piano-pedal-engraver.cc:245
-#: piano-pedal-engraver.cc:300 piano-pedal-performer.cc:82
+#: piano-pedal-engraver.cc:235 piano-pedal-engraver.cc:250
+#: piano-pedal-engraver.cc:305 piano-pedal-performer.cc:82
 #, c-format
 msgid "can't find start of piano pedal: `%s'"
 msgstr "kann keinen Anfang für Pedal finden: `%s'"
 
-#: piano-pedal-engraver.cc:405
+#: piano-pedal-engraver.cc:410
 msgid "unterminated pedal bracket"
 msgstr "unbegrenzte Pedalklammer"
 
-#: pitch.cc:25
-msgid "Pitch arguments out of range"
-msgstr "Tonhöhenargumente außerhalb des Wertebereiches"
-
-#: porrectus.cc:35
-msgid "(left_head == 0)"
-msgstr "(left_head == 0)"
-
-#: porrectus.cc:46
-msgid "undefined left_head"
-msgstr "undefinierter left_head"
-
-#: porrectus.cc:65
-msgid "(right_head == 0)"
-msgstr "(right_head == 0)"
-
-#: porrectus.cc:76
-msgid "undefined right_head"
-msgstr "undefinierter right_head"
-
-#: porrectus.cc:96
-msgid "junking lonely porrectus"
-msgstr "ignoriere einsamen Porrectus"
-
-#: porrectus.cc:106
-msgid "porrectus style undefined; using mensural"
-msgstr "Porrectus-Stil undefiniert; verwende Mensuralnotation"
-
-#: porrectus.cc:251
-msgid "ascending vaticana style porrectus"
-msgstr "aufsteigender Vaticana-Stil Porrectus"
-
-#: property-iterator.cc:64
+#: property-iterator.cc:97
 #, c-format
 msgid "Not a grob name, `%s'."
 msgstr "Kein Name für grafische Objekte (grob): `%s'."
 
-#: rest-collision.cc:186
+#: rest.cc:139
+#, fuzzy, c-format
+msgid "rest `%s' not found, "
+msgstr "Symbol nicht gefunden, "
+
+#: rest-collision.cc:199
 msgid "too many colliding rests"
 msgstr "zu viele kollidierende Pausen"
 
-#: scm-option.cc:44
+#: scm-option.cc:45
 msgid "lilypond -e EXPR means:"
 msgstr "lilypond -e AUSD bedeutet:"
 
-#: scm-option.cc:46
+#: scm-option.cc:47
 msgid "  Evalute the Scheme EXPR before parsing any .ly files."
 msgstr "  Werte das Schema AUSD vor der Analyse aller .ly-Dateien aus"
 
-#: scm-option.cc:48
-msgid "  Multiple -e options may be given, they will be evaluated sequentially."
-msgstr "  Mehrere -e Optionen dürfen angegeben werden, sie werden sequentiell ausgewertet"
+#: scm-option.cc:49
+msgid ""
+"  Multiple -e options may be given, they will be evaluated sequentially."
+msgstr ""
+"  Mehrere -e Optionen dürfen angegeben werden, sie werden sequentiell "
+"ausgewertet"
 
-#: scm-option.cc:50
-msgid "  The function ly-set-option allows for access to some internal variables."
+#: scm-option.cc:51
+msgid ""
+"  The function ly-set-option allows for access to some internal variables."
 msgstr "  Die Funktion ly-set-option erlaubt Zugriff auf interne Variablen"
 
-#: scm-option.cc:52
+#: scm-option.cc:53
 msgid "Usage: lilypond -e \"(ly-set-option SYMBOL VAL)\""
 msgstr "Aufruf: lilypond -e \"(ly-set-option SYMBOL WERT)\""
 
-#: scm-option.cc:54
+#: scm-option.cc:55
 msgid "Where SYMBOL VAL pair is any of:"
 msgstr "Wobei das (SYMBOL,WERT)-Paar folgendermaßen definiert ist:"
 
-#: scm-option.cc:122
+#: scm-option.cc:128
 msgid "Unknown internal option!"
 msgstr "Unbekannte interne Option!"
 
-#: score-engraver.cc:102
-#, c-format
-msgid "can't find `%s'"
-msgstr "kann `%s' nicht finden"
-
-#: score-engraver.cc:103
-msgid "Fonts have not been installed properly.  Aborting"
-msgstr "Schriftarten wurden nicht ordnungsgemäß installiert. Abbruch"
-
-#: score-engraver.cc:207
-#, c-format
-msgid "unbound spanner `%s'"
-msgstr "ungebundene Klammer `%s'"
-
-#: score.cc:92
-#, c-format
-msgid "stack size cur %d, max %d\n"
-msgstr "Kellergröße: %d, maximal %d\n"
-
-#: score.cc:109
+#: score.cc:85
 msgid "Interpreting music..."
 msgstr "Interpretiere Musik..."
 
-#: score.cc:122
+#: score.cc:97
 msgid "Need music in a score"
 msgstr "Benötige Musik in der Partitur"
 
 #. should we? hampers debugging.
-#: score.cc:135
+#: score.cc:111
 msgid "Errors found/*, not processing score*/"
 msgstr "Fehler gefunden/*, verarbeite die Noten nicht*/"
 
-#: score.cc:142
+#: score.cc:118
 #, c-format
 msgid "elapsed time: %.2f seconds"
 msgstr "verstrichene Zeit: %.2f Sekunden"
 
-#: script-engraver.cc:66
+#: score-engraver.cc:99
+#, c-format
+msgid "can't find `%s'"
+msgstr "kann `%s' nicht finden"
+
+#: score-engraver.cc:100
+msgid "Fonts have not been installed properly.  Aborting"
+msgstr "Schriftarten wurden nicht ordnungsgemäß installiert. Abbruch"
+
+#: score-engraver.cc:205
+#, c-format
+msgid "unbound spanner `%s'"
+msgstr "ungebundene Klammer `%s'"
+
+#: script-engraver.cc:90
 #, c-format
 msgid "Don't know how to interpret articulation `%s'"
 msgstr "Unbekannte Artikulation: `%s'"
@@ -1188,30 +2032,22 @@ msgstr "Unbekannte Artikulation: `%s'"
 msgid "Separation_item:  I've been drinking too much"
 msgstr "Separation_item:  Habe zu viel getrunken"
 
-#: simple-spacer.cc:254
+#: simple-spacer.cc:248
 #, c-format
 msgid "No spring between column %d and next one"
 msgstr "Kein (dynamischer) Abstand zwischen Spalte %d und Nachfolger"
 
-#: slur-engraver.cc:140
+#: slur-engraver.cc:141
 msgid "unterminated slur"
 msgstr "unbegrenzter Bogen"
 
 #. How to shut up this warning, when Voice_devnull_engraver has
-#. eaten start request?
-#: slur-engraver.cc:157
+#. eaten start event?
+#: slur-engraver.cc:159
 msgid "can't find start of slur"
 msgstr "kann den Anfang des Bogens nicht finden"
 
-#: slur.cc:53
-msgid "Putting slur over rest."
-msgstr "Platziere Bogen über der Pause."
-
-#: slur.cc:424
-msgid "Slur over rest?"
-msgstr "Bogen über der Pause?"
-
-#: source-file.cc:65
+#: source-file.cc:67
 #, c-format
 msgid "Huh?  Got %d, expected %d characters"
 msgstr "Hä? %d Zeichen erhalten, %d erwartet"
@@ -1226,18 +2062,36 @@ msgstr "Kleinste globale Zeiteinheit ist %s\n"
 msgid "#<spring smob d= %f>"
 msgstr "#<spring smob d= %f>"
 
-#: staff-symbol.cc:62
+#: staff-symbol.cc:61
 msgid "staff symbol: indentation yields beyond end of line"
 msgstr "Staff_symbol: Einrückung reicht über das Zeilenende hinaus"
 
-#: stem-engraver.cc:117
+#: stem.cc:118
+msgid "Weird stem size; check for narrow beams"
+msgstr "Eigenartige Notenhalslänge; überprüfen Sie auf enge Balken"
+
+#: stem.cc:611
+#, c-format
+msgid "flag `%s' not found"
+msgstr ""
+
+#: stem.cc:624
+#, c-format
+msgid "flag stroke `%s' not found"
+msgstr ""
+
+#: stem-engraver.cc:96
+msgid "tremolo duration is too long"
+msgstr ""
+
+#: stem-engraver.cc:124
 #, c-format
 msgid "Adding note head to incompatible stem (type = %d)"
 msgstr "Füge Notenkopf zu inkompatiblem Hals (Typ = %d) hinzu"
 
-#: stem.cc:118
-msgid "Weird stem size; check for narrow beams"
-msgstr "Eigenartige Notenhalslänge; überprüfen Sie auf enge Balken"
+#: stem-engraver.cc:125
+msgid "Don't you want polyphonic voices instead?"
+msgstr ""
 
 #: streams.cc:34
 #, c-format
@@ -1253,30 +2107,32 @@ msgstr "Fehler bei Dateisynchronisation (Platte voll?)"
 msgid "Element count %d."
 msgstr "Elementanzahl: %d."
 
-#: system.cc:377
+#: system.cc:372
 #, c-format
 msgid "Grob count %d "
 msgstr "Anzahl der grafischen Objekte (grob): %d "
 
-#: system.cc:391
-msgid "Calculating column positions..."
+#: system.cc:386
+#, fuzzy
+msgid "Calculating line breaks..."
 msgstr "Berechne Spaltenpositionen..."
 
-#: text-spanner-engraver.cc:92
+#: text-spanner-engraver.cc:81
 msgid "can't find start of text spanner"
 msgstr "kann den Anfang der Textklammer nicht finden"
 
-#: text-spanner-engraver.cc:112
+#: text-spanner-engraver.cc:95
 msgid "already have a text spanner"
 msgstr "habe bereits eine Textklammer"
 
-#: text-spanner-engraver.cc:167
+#: text-spanner-engraver.cc:164
 msgid "unterminated text spanner"
 msgstr "unbegrenzte Textklammer"
 
-#: text-spanner.cc:130
-msgid "Text_spanner too small"
-msgstr "Textklammer zu klein"
+#: tfm.cc:83
+#, c-format
+msgid "can't find ascii character: %d"
+msgstr "kann folgendes ASCII-Zeichen nicht finden: %d"
 
 #. Not using ngettext's plural feature here, as this message is
 #. more of a programming error.
@@ -1290,172 +2146,319 @@ msgstr "TFM Header von `%s' hat nur %u Wort(e)"
 msgid "%s: TFM file has %u parameters, which is more than the %u I can handle"
 msgstr "%s: TFM-Datei hat %u Parameter - mehr als die Maximalzahl %u"
 
-#: tfm.cc:83
-#, c-format
-msgid "can't find ascii character: %d"
-msgstr "kann folgendes ASCII-Zeichen nicht finden: %d"
-
-#: tie-engraver.cc:216
-msgid "lonely tie"
-msgstr "einsamer Bindebogen"
-
-#: tie-performer.cc:161
+#: tie-performer.cc:159
 msgid "No ties were created!"
 msgstr "Es wurden keine Bindebögen erzeugt!"
 
 #: time-scaled-music-iterator.cc:25
 msgid "no one to print a tuplet start bracket"
-msgstr "niemand für die Ausgabe einer öffnenden Wertaufteilungsklammer vorhanden"
+msgstr ""
+"niemand für die Ausgabe einer öffnenden Wertaufteilungsklammer vorhanden"
+
+#. If there is no such symbol, we default to the numbered style.
+#. (Here really with a warning!)
+#: time-signature.cc:87
+#, c-format
+msgid "time signature symbol `%s' not found; reverting to numbered style"
+msgstr ""
+
+#.
+#. Todo: should make typecheck?
+#.
+#. OTOH, Tristan Keuris writes 8/20 in his Intermezzi.
+#.
+#: time-signature-engraver.cc:57
+#, c-format
+msgid "Found strange time signature %d/%d."
+msgstr ""
 
 #: translator-ctors.cc:53
 #, c-format
 msgid "unknown translator: `%s'"
 msgstr "unbekannter Übersetzer: `%s'"
 
-#: translator-def.cc:87
+#: translator-def.cc:105
 msgid "Program has no such type"
 msgstr "Das Programm hat keinen solchen Typen"
 
-#: translator-def.cc:93
+#: translator-def.cc:111
 #, c-format
 msgid "Already contains: `%s'"
 msgstr "Bereits enthalten: `%s'"
 
-#: translator-def.cc:94
+#: translator-def.cc:112
 #, c-format
 msgid "Not adding translator: `%s'"
 msgstr "Füge Übersetzer `%s' nicht hinzu"
 
-#: translator-def.cc:209
+#: translator-def.cc:229
 #, c-format
 msgid "can't find: `%s'"
 msgstr "kann `%s' nicht finden"
 
-#: translator-group.cc:159
+#: translator-group.cc:158
 #, c-format
 msgid "can't find or create `%s' called `%s'"
 msgstr "kann `%s' (`%s' genannt) weder finden noch erzeugen"
 
-#: translator-group.cc:244
+#: translator-group.cc:230
 #, c-format
 msgid "can't find or create: `%s'"
 msgstr "Kann `%s' weder finden noch erzeugen"
 
-#: volta-engraver.cc:111
+#: vaticana-ligature.cc:49
+#, fuzzy
+msgid "ascending vaticana style flexa"
+msgstr "aufsteigender Vaticana-Stil Porrectus"
+
+#: vaticana-ligature.cc:219
+#, fuzzy
+msgid "Vaticana_ligature:thickness undefined; assuming 1.4"
+msgstr "Mensural_ligature: Dicke undefiniert beim Bogen %d; nehme 1.4 an"
+
+#: vaticana-ligature.cc:233
+#, fuzzy
+msgid "Vaticana_ligature:x-offset undefined; assuming 0.0"
+msgstr "Mensural_ligature: flexa-width undefiniert beim Bogen %d; nehme 2.0 an"
+
+#: vaticana-ligature.cc:258
+#, fuzzy
+msgid "Vaticana_ligature: (delta_pitch == 0)"
+msgstr "Mensural_ligature: (join_left == 0)"
+
+#: vaticana-ligature.cc:271
+msgid "Vaticana_ligature:delta-pitch -> ignoring join"
+msgstr ""
+
+#: vaticana-ligature-engraver.cc:477
+#, c-format
+msgid "Vaticana_ligature_engraver: setting `spacing-increment = %f': ptr=%ul"
+msgstr ""
+
+#: volta-engraver.cc:112
 msgid "No volta spanner to end"
 msgstr "Kein Wiederholungskasten zu beenden"
 
-#: volta-engraver.cc:121
+#: volta-engraver.cc:123
 msgid "Already have a volta spanner.  Stopping that one prematurely."
 msgstr "Habe bereits einen Wiederholungskasten. Beende diesen frühzeitig."
 
-#: volta-engraver.cc:125
+#: volta-engraver.cc:127
 msgid "Also have a stopped spanner.  Giving up."
 msgstr "Habe auch eine beendeten Kasten. Gebe auf."
 
-#: parser.yy:434
+#: parser.yy:480
 msgid "Identifier should have alphabetic characters only"
 msgstr "Ein Bezeichner sollte nur aus alphabetischen Zeichen bestehen"
 
-#: parser.yy:729
+#: parser.yy:779
 msgid "More alternatives than repeats.  Junking excess alternatives."
-msgstr "Mehr Alternativen als Wiederholungen. Verwerfe überschüssige Alternativen."
+msgstr ""
+"Mehr Alternativen als Wiederholungen. Verwerfe überschüssige Alternativen."
+
+#: parser.yy:861 parser.yy:868
+msgid "\applycontext takes function argument"
+msgstr ""
 
-#: parser.yy:798
+#: parser.yy:877
 msgid "Second argument must be a symbol"
 msgstr "Das zweite Argument muss ein Symbol sein"
 
-#: parser.yy:803
+#: parser.yy:882
 msgid "First argument must be a procedure taking one argument"
-msgstr "Das erste Argument muss eine Prozedur sein, welche ein Argument erwartet"
+msgstr ""
+"Das erste Argument muss eine Prozedur sein, welche ein Argument erwartet"
+
+#: parser.yy:1009
+msgid "\apply takes function argument"
+msgstr ""
 
-#: parser.yy:1380
+#: parser.yy:1501
 msgid "Expecting string as script definition"
 msgstr "Erwarte String als Skriptdefinition"
 
-#: parser.yy:1390
-msgid "Can't specify direction for this request"
-msgstr "Kann keine Richtung für diese Anforderung angeben"
-
-#: parser.yy:1516
+#: parser.yy:1598
 msgid "Expecting musical-pitch value"
 msgstr "Erwarte musikalischen Tonhöhenwert"
 
-#: parser.yy:1527
+#: parser.yy:1609
 msgid "Must have duration object"
 msgstr "Brauche Dauer-Objekt"
 
-#: parser.yy:1536 parser.yy:1544
+#: parser.yy:1618 parser.yy:1626
 msgid "Have to be in Lyric mode for lyrics"
 msgstr "Muss in Liedtextmodus sein um Liedtext setzen zu können"
 
-#: parser.yy:1715 parser.yy:1768
+#: parser.yy:1798 parser.yy:1853
 #, c-format
 msgid "not a duration: %d"
 msgstr "keine gültige Dauer: %d"
 
-#: parser.yy:1855
+#: parser.yy:1949
 msgid "Have to be in Note mode for notes"
 msgstr "Muss im Notenmodus sein um Noten setzen zu können"
 
-#: parser.yy:1954
+#: parser.yy:2032
 msgid "Have to be in Chord mode for chords"
 msgstr "Muss im Akkordmodus sein um Akkorde setzen zu können"
 
-#: parser.yy:2134
+#: parser.yy:2171
 msgid "need integer number arg"
 msgstr "benötige ein Ganzzahlargument"
 
-#: parser.yy:2206
+#: parser.yy:2316
 msgid "Suspect duration found following this beam"
 msgstr "Fehlerverdächtige Dauer nach diesem Balken gefunden"
 
-#: lexer.ll:178
+#: lexer.ll:186
 msgid "EOF found inside a comment"
 msgstr "EOF innerhalb eines Kommentares gefunden"
 
-#: lexer.ll:192
+#: lexer.ll:200
 msgid "\\maininput disallowed outside init files"
 msgstr "\\maininput ist außerhalb von Init-Dateien nicht erlaubt"
 
-#: lexer.ll:216
+#: lexer.ll:224
 #, c-format
 msgid "wrong or undefined identifier: `%s'"
 msgstr "falscher oder ungültiger Bezeichner: `%s'"
 
 #. backup rule
-#: lexer.ll:225
+#: lexer.ll:233
 msgid "Missing end quote"
 msgstr "Fehlendes schließendes Anführungszeichen"
 
 #. backup rule
-#: lexer.ll:247 lexer.ll:251
+#: lexer.ll:255 lexer.ll:259
 msgid "white expected"
 msgstr "weiß erwartet"
 
-#: lexer.ll:260
+#: lexer.ll:268
 msgid "Can't evaluate Scheme in safe mode"
 msgstr "Kann Schema nicht im Sicherheitsmodus auswerten"
 
-#: lexer.ll:364
+#: lexer.ll:397 lexer.ll:487
 msgid "Brace found at end of lyric.  Did you forget a space?"
-msgstr "Klammer am Ende von Liedtext gefunden. Haben Sie ein Leerzeichen vergessen?"
+msgstr ""
+"Klammer am Ende von Liedtext gefunden. Haben Sie ein Leerzeichen vergessen?"
 
-#: lexer.ll:480
+#: lexer.ll:574
 #, c-format
 msgid "invalid character: `%c'"
 msgstr "Ungültiges Zeichen: `%c'"
 
-#: lexer.ll:566
+#: lexer.ll:651
 #, c-format
 msgid "unknown escaped string: `\\%s'"
 msgstr "Ungültige Fluchtsequenz: `\\%s'"
 
-#: lexer.ll:657
+#: lexer.ll:742
 #, c-format
 msgid "Incorrect lilypond version: %s (%s, %s)"
 msgstr "Falsche lilypond Version: %s (%s, %s)"
 
-#: lexer.ll:658
+#: lexer.ll:743
 msgid "Consider updating the input with the convert-ly script"
 msgstr "Erwägen Sie die Aktualisierung der Eingabe mit dem Skript convert-ly"
+
+#~ msgid "Run LilyPond using LaTeX for titling"
+#~ msgstr "LilyPond zum Kacheln mit LaTeX aufrufen"
+
+#~ msgid "Fetch and rebuild from latest source package"
+#~ msgstr "Hole neuestes Quelltextpaket und baue neu"
+
+#~ msgid "unpack and build in DIR [%s]"
+#~ msgstr "Auspacken und bauen in VERZ [%s]"
+
+#~ msgid "execute COMMAND, subtitute:"
+#~ msgstr "KOMMANDO ausführen, ersetzen:"
+
+#~ msgid "%b: build root"
+#~ msgstr "%b: Arbeitsverzeichnis"
+
+#~ msgid "%n: package name"
+#~ msgstr "%n: Paketname"
+
+#~ msgid "%r: release directory"
+#~ msgstr "%r: Ausgabeverzeichnis"
+
+#~ msgid "%t: tarball"
+#~ msgstr "%t: Tarball"
+
+#~ msgid "%v: package version"
+#~ msgstr "%v: Paketversion"
+
+#~ msgid "keep all output, and name the directory %s"
+#~ msgstr "alle Ausgaben aufbewahren, und das Verzeichnis %s nennen"
+
+#~ msgid "upon failure notify EMAIL[,EMAIL]"
+#~ msgstr "Bei Misserfolg EMAIL[,EMAIL] benachrichtgen"
+
+#~ msgid "remove previous build"
+#~ msgstr "Vorheriges Kompilat löschen"
+
+#~ msgid "fetch and build URL [%s]"
+#~ msgstr "Hole und baue URL [%s]"
+
+#~ msgid "Listing `%s'..."
+#~ msgstr "Liste `%s' auf..."
+
+#~ msgid "latest is: %s"
+#~ msgstr "Neuestes ist: %s"
+
+#~ msgid "relax, %s is up to date"
+#~ msgstr "Seien Sie unbesorgt, %s ist auf dem neuesten Stand"
+
+#~ msgid "Fetching `%s'..."
+#~ msgstr "Hole `%s'..."
+
+#~ msgid "Building `%s'..."
+#~ msgstr "Baue `%s'..."
+
+#~ msgid "invalid subtraction: not part of chord: %s"
+#~ msgstr "ungültige Subtraktion: nicht Teil des Akkordes: %s"
+
+#~ msgid "invalid inversion pitch: not part of chord: %s"
+#~ msgstr "ungültige Umkehrungstonhöhe: nicht Teil des Akkordes: %s"
+
+#~ msgid "This was the other key definition."
+#~ msgstr "Das war die andere Tonartdefinition"
+
+#~ msgid ", at "
+#~ msgstr ", bei "
+
+#~ msgid "Pitch arguments out of range"
+#~ msgstr "Tonhöhenargumente außerhalb des Wertebereiches"
+
+#~ msgid "(left_head == 0)"
+#~ msgstr "(left_head == 0)"
+
+#~ msgid "undefined left_head"
+#~ msgstr "undefinierter left_head"
+
+#~ msgid "(right_head == 0)"
+#~ msgstr "(right_head == 0)"
+
+#~ msgid "undefined right_head"
+#~ msgstr "undefinierter right_head"
+
+#~ msgid "junking lonely porrectus"
+#~ msgstr "ignoriere einsamen Porrectus"
+
+#~ msgid "porrectus style undefined; using mensural"
+#~ msgstr "Porrectus-Stil undefiniert; verwende Mensuralnotation"
+
+#~ msgid "stack size cur %d, max %d\n"
+#~ msgstr "Kellergröße: %d, maximal %d\n"
+
+#~ msgid "Putting slur over rest."
+#~ msgstr "Platziere Bogen über der Pause."
+
+#~ msgid "Slur over rest?"
+#~ msgstr "Bogen über der Pause?"
+
+#~ msgid "Text_spanner too small"
+#~ msgstr "Textklammer zu klein"
+
+#~ msgid "Can't specify direction for this request"
+#~ msgstr "Kann keine Richtung für diese Anforderung angeben"
index cd79c4d786a2ee603f2035a62af4934ca8e4d85d..58e72aad3e10cc2d3740ef47bdffa020db316115 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: lilypond 1.4.13\n"
-"POT-Creation-Date: 2002-08-18 17:05+0200\n"
+"POT-Creation-Date: 2003-07-18 14:45+0200\n"
 "PO-Revision-Date: 2002-06-28 15:46CET\n"
 "Last-Translator: Quique <quique@sindominio.net>\n"
 "Language-Team: Spanish <es@li.org>\n"
@@ -13,402 +13,1178 @@ msgstr ""
 "Content-Type: text/plain; charset=ISO-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: lilypond-book.py:1019 ly2dvi.py:458 ly2dvi.py:491
-#, c-format
-msgid "Running %s..."
-msgstr "Ejecutando %s..."
+#. this is where special info is often stored
+#. ###############################################################
+#. lilylib.py -- options and stuff
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. ##  subst:\(^\|[^._a-z]\)\(abspath\|identify\|warranty\|progress\|warning\|error\|exit\|getopt_args\|option_help_str\|options_help_str\|help\|setup_temp\|read_pipe\|system\|cleanup_temp\|strip_extension\|cp_to_dir\|mkdir_p\|init\) *(
+#. ##  replace:\1ly.\2 (
+#. ## subst: \(help_summary\|keep_temp_dir_p\|option_definitions\|original_dir\|program_name\|pseudo_filter_p\|temp_dir\|verbose_p\)
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. lilylib globals
+#: lilylib.py:60
+msgid "lilylib module"
+msgstr ""
+
+#: lilylib.py:63 lilypond-book.py:131 ly2dvi.py:128 midi2ly.py:100
+#: mup2ly.py:75 main.cc:111
+msgid "this help"
+msgstr "esta ayuda"
 
-#: ly2dvi.py:118
-msgid ""
-"Distributed under terms of the GNU General Public License.  It comes with NO "
-"WARRANTY."
+#. ###############################################################
+#. Handle bug in Python 1.6-2.1
+#.
+#. there are recursion limits for some patterns in Python 1.6 til 2.1.
+#. fix this by importing pre instead. Fix by Mats.
+#. Attempt to fix problems with limited stack size set by Python!
+#. Sets unlimited stack size. Note that the resource module only
+#. is available on UNIX.
+#: lilylib.py:114 midi2ly.py:136 mup2ly.py:130 main.cc:188 main.cc:200
+#, c-format, python-format
+msgid "Copyright (c) %s by"
+msgstr "Copyright (c) %s "
+
+#: lilylib.py:114
+msgid " 1998--2003"
+msgstr ""
+
+#: lilylib.py:118
+msgid "Distributed under terms of the GNU General Public License."
+msgstr ""
+
+#: lilylib.py:120
+msgid "It comes with NO WARRANTY."
 msgstr ""
 
-#: ly2dvi.py:125 midi2ly.py:148 mup2ly.py:143 update-lily.py:137 input.cc:87
+#: lilylib.py:127 midi2ly.py:150 mup2ly.py:144 input.cc:88
 msgid "warning: "
 msgstr "advertencia: "
 
-#: ly2dvi.py:128 ly2dvi.py:143 midi2ly.py:163 midi2ly.py:1012 midi2ly.py:1081
-#: mup2ly.py:146 mup2ly.py:160 update-lily.py:152 update-lily.py:458
-#: input.cc:92
+#. lots of midi files use plain text for lyric events
+#. FIXME: read from stdin when files[0] = '-'
+#: lilylib.py:130 midi2ly.py:165 midi2ly.py:1018 midi2ly.py:1083 mup2ly.py:147
+#: mup2ly.py:161 input.cc:93
 msgid "error: "
 msgstr "error: "
 
-#: ly2dvi.py:144 midi2ly.py:164 mup2ly.py:161 update-lily.py:153
-msgid "Exiting ... "
+#: lilylib.py:134
+#, fuzzy, python-format
+msgid "Exiting (%d)..."
 msgstr "Saliendo..."
 
-#: ly2dvi.py:202 midi2ly.py:222 mup2ly.py:219 update-lily.py:211
-#, c-format
+#: lilylib.py:194 midi2ly.py:224 mup2ly.py:220
+#, python-format
 msgid "Usage: %s [OPTION]... FILE"
 msgstr "Sintaxis: %s [OPTION]... FICHERO"
 
-#: ly2dvi.py:206 midi2ly.py:226 mup2ly.py:223 update-lily.py:215 main.cc:166
+#: lilylib.py:198 midi2ly.py:228 mup2ly.py:224 main.cc:166
 msgid "Options:"
 msgstr "Opciones: "
 
-#: ly2dvi.py:210 midi2ly.py:230 mup2ly.py:227 update-lily.py:219 main.cc:172
-#, c-format
+#: lilylib.py:202 midi2ly.py:232 mup2ly.py:228 main.cc:172
+#, c-format, python-format
 msgid "Report bugs to %s"
 msgstr "Informar de gazapos a %s"
 
-#: ly2dvi.py:238 midi2ly.py:258 mup2ly.py:255 update-lily.py:247
-#, c-format
+#: lilylib.py:228
+#, fuzzy, python-format
+msgid "Opening pipe `%s'"
+msgstr "Limpiando `%s'..."
+
+#. successful pipe close returns 'None'
+#: lilylib.py:240
+#, python-format
+msgid "`%s' failed (%d)"
+msgstr ""
+
+#: lilylib.py:242 lilylib.py:289 lilypond-book.py:231 ly2dvi.py:512
+msgid "The error log is as follows:"
+msgstr ""
+
+#: lilylib.py:262 midi2ly.py:260 mup2ly.py:256
+#, python-format
 msgid "Invoking `%s'"
 msgstr "Invocando `%s'"
 
-#: ly2dvi.py:243 midi2ly.py:262 mup2ly.py:260 update-lily.py:251
-#, c-format
-msgid "command exited with value %d"
-msgstr "fin de la orden con valor %d"
+#: lilylib.py:264
+#, python-format
+msgid "Running %s..."
+msgstr "Ejecutando %s..."
+
+#: lilylib.py:282
+#, python-format
+msgid "`%s' failed (%s)"
+msgstr ""
 
-#: ly2dvi.py:246 midi2ly.py:264 mup2ly.py:263 update-lily.py:253
+#: lilylib.py:285 midi2ly.py:266 mup2ly.py:264
 msgid "(ignored)"
 msgstr "(ignorado)"
 
-#: ly2dvi.py:256 midi2ly.py:274 mup2ly.py:273 update-lily.py:263
-#, c-format
+#: lilylib.py:299 midi2ly.py:276 mup2ly.py:274
+#, python-format
 msgid "Cleaning %s..."
 msgstr "Limpiando %s..."
 
-#: ly2dvi.py:330
-msgid "Run LilyPond using LaTeX for titling"
+#. Duh.  Python style portable: cp *.EXT OUTDIR
+#. system ('cp *.%s %s' % (ext, outdir), 1)
+#. Python < 1.5.2 compatibility
+#.
+#. On most platforms, this is equivalent to
+#. `normpath(join(os.getcwd()), PATH)'.  *Added in Python version 1.5.2*
+#. tex needs lots of memory, more than it gets by default on Debian
+#. TODO: * prevent multiple addition.
+#. * clean TEXINPUTS, MFINPUTS, TFMFONTS,
+#. as these take prevalence over $TEXMF
+#. and thus may break tex run?
+#. $TEXMF is special, previous value is already taken care of
+#. # -sOutputFile does not work with bbox?
+#. # todo:
+#. # have better algorithm for deciding when to crop page,
+#. # and when to show full page
+#: lilylib.py:458
+msgid "Removing output file"
+msgstr ""
+
+#. !@PYTHON@
+#. once upon a rainy monday afternoon.
+#.
+#. ...
+#.
+#. (not finished.)
+#. ABC standard v1.6:  http://www.gre.ac.uk/~c.walshaw/abc2mtex/abc.txt
+#.
+#. Enhancements  (Roy R. Rankin)
+#.
+#. Header section moved to top of lilypond file
+#. handle treble, treble-8, alto, and bass clef
+#. Handle voices (V: headers) with clef and part names, multiple voices
+#. Handle w: lyrics with multiple verses
+#. Handle key mode names for minor, major, phrygian, ionian, locrian, aeolian,
+#. mixolydian, lydian, dorian
+#. Handle part names from V: header
+#. Tuplets handling fixed up
+#. Lines starting with |: not discarded as header lines
+#. Multiple T: and C: header entries handled
+#. Accidental maintained until next bar check
+#. Silent rests supported
+#. articulations fermata, upbow, downbow, ltoe, accent, tenuto supported
+#. Chord strings([-^]"string") can contain a '#'
+#. Header fields enclosed by [] in notes string processed
+#. W: words output after tune as abc2ps does it (they failed before)
+#. Enhancements (Laura Conrad)
+#.
+#. Barring now preserved between ABC and lilypond
+#. the default placement for text in abc is above the staff.
+#. %%LY now supported.
+#. \breve and \longa supported.
+#. M:none doesn't crash lily.
+#. Limitations
+#.
+#. Multiple tunes in single file not supported
+#. Blank T: header lines should write score and open a new score
+#. Not all header fields supported
+#. ABC line breaks are ignored
+#. Block comments generate error and are ignored
+#. Postscript commands are ignored
+#. lyrics not resynchronized by line breaks (lyrics must fully match notes)
+#. %%LY slyrics can't be directly before a w: line.
+#. ???
+#. TODO:
+#.
+#. Convert to new chord styles.
+#.
+#. UNDEF -> None
+#.
+#. uGUHGUHGHGUGH
+#. UGH
+#. treble8 is used by abctab2ps; -8va is used by barfly,
+#. and by my patch to abc2ps. If there's ever a standard
+#. about this we'll support that.
+#. find keywork
+#. assume that Q takes the form "Q:1/4=120"
+#. There are other possibilities, but they are deprecated
+#. outf.write ("\t\t\\consists Staff_margin_engraver\n")
+#. pitch manipulation. Tuples are (name, alteration).
+#. 0 is (central) C. Alteration -1 is a flat, Alteration +1 is a sharp
+#. pitch in semitones.
+#. abc to lilypond key mode names
+#. semitone shifts for key mode names
+#. latex does not like naked #'s
+#. latex does not like naked "'s
+#. break lyrics to words and put "'s around words containing numbers and '"'s
+#. escape "
+#. _ causes probs inside ""
+#. _ to ' _ '
+#. split words with -
+#. unless \-
+#. ~ to space('_')
+#. * to to space
+#. latex does not like naked #'s
+#. put numbers and " and ( into quoted string
+#. insure space between lines
+#. title
+#. strip trailing blanks
+#. Meter
+#. KEY
+#. seperate clef info
+#. there may or may not be a space
+#. between the key letter and the mode
+#. ugh.
+#. ugh.
+#. Notes
+#. Origin
+#. Reference Number
+#. Area
+#. History
+#. Book
+#. Composer
+#. Default note length
+#. Voice
+#. Words
+#. vocals
+#. tempo
+#. we use in this order specified accidental, active accidental for bar,
+#. active accidental for key
+#. (num /  den)  / defaultlen < 1/base
+#. return (str, num,den,dots)
+#. ignore slide
+#. ignore roll
+#. s7m2 input doesnt care about spaces
+#.
+#. remember accidental for rest of bar
+#.
+#. get accidental set in this bar or UNDEF if not set
+#. WAT IS ABC EEN ONTZETTENDE PROGRAMMEERPOEP  !
+#. failed; not a note!
+#. escape '#'s
+#.
+#. |] thin-thick double bar line
+#. || thin-thin double bar line
+#. [| thick-thin double bar line
+#. :| left repeat
+#. |: right repeat
+#. :: left-right repeat
+#. |1 volta 1
+#. |2 volta 2
+#. first try the longer one
+#. bracket escape
+#. the nobarlines option is necessary for an abc to lilypond translator for
+#. exactly the same reason abc2midi needs it: abc requires the user to enter
+#. the note that will be printed, and MIDI and lilypond expect entry of the
+#. pitch that will be played.
+#.
+#. In standard 19th century musical notation, the algorithm for translating
+#. between printed note and pitch involves using the barlines to determine
+#. the scope of the accidentals.
+#.
+#. Since ABC is frequently used for music in styles that do not use this
+#. convention, such as most music written before 1700, or ethnic music in
+#. non-western scales, it is necessary to be able to tell a translator that
+#. the barlines should not affect its interpretation of the pitch.
+#. write other kinds of appending  if we ever need them.
+#. add comments to current voice
+#. Try nibbling characters off until the line doesn't change.
+#. dump_global (outf)
+#. !@PYTHON@
+#.
+#. convert-ly.py -- Update old LilyPond input files (fix name?)
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. TODO
+#. use -f and -t for -s output
+#. NEWS
+#. 0.2
+#. - rewrite in python
+#. Did we ever have \mudela-version?  I doubt it.
+#. lilypond_version_re_str = '\\\\version *\"(.*)\"'
+#. ###########################
+#. need new a namespace
+#. raise FatalConversionError()
+#. need new a namespace
+#. harmful to current .lys
+#. str = re.sub ('\\\\key([^;]+);', '\\\\accidentals \\1;', str)
+#. raise FatalConversionError()
+#. raise FatalConversionError()
+#. raise FatalConversionError()
+#. TODO: lots of other syntax change should be done here as well
+#. Ugh, but meaning of \stemup changed too
+#. maybe we should do \stemup -> \stemUp\slurUp\tieUp ?
+#. I don't know exactly when these happened...
+#. ugh, we loose context setting here...
+#. (lacks capitalisation slur -> Slur)
+#. # dynamic..
+#. TODO: add lots of these
+#. ugh
+#. old fix
+#. Make sure groups of more than one ; have space before
+#. them, so that non of them gets removed by next rule
+#. Only remove ; that are not after spaces, # or ;
+#. Otherwise  we interfere with Scheme comments,
+#. which is badbadbad.
+#. 40 ?
+#. ###############################
+#. END OF CONVERSIONS
+#. ###############################
+#. !@PYTHON@
+#. info mostly taken from looking at files. See also
+#. http://lilypond.org/wiki/?EnigmaTransportFormat
+#. This supports
+#.
+#. * notes
+#. * rests
+#. * ties
+#. * slurs
+#. * lyrics
+#. * articulation
+#. * grace notes
+#. * tuplets
+#.
+#. todo:
+#. * slur/stem directions
+#. * voices (2nd half of frame?)
+#. * more intelligent lyrics
+#. * beams (better use autobeam?)
+#. * more robust: try entertainer.etf (freenote)
+#. * dynamics
+#. * empty measures (eg. twopt03.etf from freenote)
+#.
+#. uGUHGUHGHGUGH
+#. notename 0 == central C
+#. represent pitches as (notename, alteration), relative to C-major scale
+#. a fifth up
+#. should cache this.
+#. flag1 isn't all that interesting.
+#. 3: '>',
+#. 18: '\arpeggio' ,
+#. do grace notes.
+#. ugh.
+#. we don't attempt voltas since they fail easily.
+#. and g.repeat_bar == '|:' or g.repeat_bar == ':|:' or g.bracket:
+#. 4 layers.
+#. let's not do this: this really confuses when eE happens to be before  a ^text.
+#. if last_tag and last_indices:
+#. etf_file_dict[last_tag][last_indices].append (l)
+#. # do it
+#. staff-spec
+#. should use \addlyrics ?
+#. !@PYTHON@
+#. vim: set noexpandtab:
+#. This is was the idea for handling of comments:
+#. Multiline comments, @ignore .. @end ignore is scanned for
+#. in read_doc_file, and the chunks are marked as 'ignore', so
+#. lilypond-book will not touch them any more. The content of the
+#. chunks are written to the output file. Also 'include' and 'input'
+#. regex has to check if they are commented out.
+#.
+#. Then it is scanned for 'lilypond', 'lilypond-file' and 'lilypond-block'.
+#. These three regex's has to check if they are on a commented line,
+#. % for latex, @c for texinfo.
+#.
+#. Then lines that are commented out with % (latex) and @c (Texinfo)
+#. are put into chunks marked 'ignore'. This cannot be done before
+#. searching for the lilypond-blocks because % is also the comment character
+#. for lilypond.
+#.
+#. The the rest of the rexeces are searched for. They don't have to test
+#. if they are on a commented out line.
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. if __name__ == '__main__':
+#. lilylib globals
+#. temp_dir = os.path.join (original_dir,  '%s.dir' % program_name)
+#. urg
+#. # FIXME
+#. # ly2dvi: silly name?
+#. # do -P or -p by default?
+#. #help_summary = _ ("Run LilyPond using LaTeX for titling")
+#: lilypond-book.py:120
+msgid "Process LilyPond snippets in hybrid html, LaTeX or texinfo document"
 msgstr ""
 
-#: ly2dvi.py:334 main.cc:115
-msgid "write Makefile dependencies for every input file"
-msgstr "crear las dependencias para Makefile de cada fichero de entrada"
+#. another bug in option parser: --output=foe is taken as an abbreviation
+#. for --output-format
+#: lilypond-book.py:125 main.cc:110
+msgid "EXT"
+msgstr "EXT"
 
-#: ly2dvi.py:335 midi2ly.py:98 mup2ly.py:74 update-lily.py:87 main.cc:111
-msgid "this help"
-msgstr "esta ayuda"
+#: lilypond-book.py:125
+#, fuzzy
+msgid "use output format EXT (texi [default], texi-html, latex, html)"
+msgstr "utilizar el formato de salida EXT (scm, ps, tex o as) "
+
+#: lilypond-book.py:126 lilypond-book.py:127 lilypond-book.py:129
+#: lilypond-book.py:130
+#, fuzzy
+msgid "DIM"
+msgstr "DIR"
 
-#: ly2dvi.py:336 main.cc:113 main.cc:118
+#: lilypond-book.py:126
+msgid "default fontsize for music.  DIM is assumed to be in points"
+msgstr ""
+
+#: lilypond-book.py:127
+msgid "deprecated, use --default-music-fontsize"
+msgstr ""
+
+#: lilypond-book.py:128
+msgid "OPT"
+msgstr ""
+
+#: lilypond-book.py:128
+msgid "pass OPT quoted to the lilypond command line"
+msgstr ""
+
+#: lilypond-book.py:129
+msgid "force fontsize for all inline lilypond. DIM is assumed be to in points"
+msgstr ""
+
+#: lilypond-book.py:130
+msgid "deprecated, use --force-music-fontsize"
+msgstr ""
+
+#: lilypond-book.py:132 ly2dvi.py:130 main.cc:113 main.cc:118
 msgid "DIR"
 msgstr "DIR"
 
-#: ly2dvi.py:336
+#: lilypond-book.py:132
+msgid "include path"
+msgstr ""
+
+#: lilypond-book.py:133
+#, fuzzy
+msgid "write dependencies"
+msgstr "añadir el prefijo DIR a las dependencias"
+
+#: lilypond-book.py:134
+msgid "PREF"
+msgstr ""
+
+#: lilypond-book.py:134
+#, fuzzy
+msgid "prepend PREF before each -M dependency"
+msgstr "añadir el prefijo DIR a las dependencias"
+
+#: lilypond-book.py:135
+#, fuzzy
+msgid "don't run lilypond"
+msgstr "no ejecutar LilyPond"
+
+#: lilypond-book.py:136
+msgid "don't generate pictures"
+msgstr ""
+
+#: lilypond-book.py:137
+msgid "strip all lilypond blocks from output"
+msgstr ""
+
+#: lilypond-book.py:138 lilypond-book.py:139 ly2dvi.py:135 ly2dvi.py:136
+#: midi2ly.py:102 main.cc:114 main.cc:117
+msgid "FILE"
+msgstr "FICHERO"
+
+#: lilypond-book.py:138
+msgid "filename main output file"
+msgstr ""
+
+#: lilypond-book.py:139
+msgid "where to place generated files"
+msgstr ""
+
+#: lilypond-book.py:140 ly2dvi.py:137
+msgid "RES"
+msgstr ""
+
+#: lilypond-book.py:141 ly2dvi.py:138
+msgid "set the resolution of the preview to RES"
+msgstr ""
+
+#: lilypond-book.py:142 ly2dvi.py:148 midi2ly.py:105 mup2ly.py:78 main.cc:126
+msgid "verbose"
+msgstr "prolijo"
+
+#: lilypond-book.py:143
+#, fuzzy
+msgid "print version information"
+msgstr "mostrar número de versión"
+
+#: lilypond-book.py:144 ly2dvi.py:150 midi2ly.py:107 mup2ly.py:80 main.cc:127
+msgid "show warranty and copyright"
+msgstr "mostrar los avisos de garantía y de copyright"
+
+#. format specific strings, ie. regex-es for input, and % strings for output
+#. global variables
+#. lilypond_binary = 'valgrind --suppressions=/home/hanwen/usr/src/guile-1.6.supp  --num-callers=10 /home/hanwen/usr/src/lilypond/lily/out/lilypond'
+#. only use installed binary  when we're installed too.
+#. only use installed binary  when we're installed too.
+#. ###############################################################
+#. Dimension handling for LaTeX.
+#.
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#: lilypond-book.py:230
+msgid "LaTeX failed."
+msgstr ""
+
+#. URG see ly2dvi
+#. Convert numeric values, with or without specific dimension, to floats.
+#. Keep other strings
+#. ###############################################################
+#. How to output various structures.
+#. # maybe <hr> ?
+#. Verbatim text is always finished with \n.  FIXME: For HTML,
+#. this newline should be removed.
+#. Verbatim text is always finished with \n.  FIXME: For HTML,
+#. this newline should be removed.
+#. # Ugh we need to differentiate on origin:
+#. # lilypond-block origin wants an extra <p>, but
+#. # inline music doesn't.
+#. # possibly other center options?
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. do some tweaking: @ is needed in some ps stuff.
+#.
+#. ugh, the <p> below breaks inline images...
+#. clumsy workaround for python 2.2 pre bug.
+#. ###############################################################
+#. Recognize special sequences in the input
+#. Warning: This uses extended regular expressions.  Tread with care.
+#.
+#. legenda
+#.
+#. (?P<name>regex) -- assign result of REGEX to NAME
+#. *? -- match non-greedily.
+#. (?m) -- multiline regex: make ^ and $ match at each line
+#. (?s) -- make the dot match all characters including newline
+#. why do we have distinction between @mbinclude and @include?
+#. # we'd like to catch and reraise a more
+#. # detailed error, but alas, the exceptions
+#. # changed across the 1.5/2.1 boundary.
+#. ughUGH not original options
+#. First we want to scan the \documentclass line
+#. it should be the first non-comment line.
+#. The only thing we really need to know about the \documentclass line
+#. is if there are one or two columns to begin with.
+#. Then we add everything before \begin{document} to
+#. paperguru.m_document_preamble so that we can later write this header
+#. to a temporary file in find_latex_dims() to find textwidth.
+#. this is not bulletproof..., it checks the first 10 chunks
+#. newchunks.extend (func (m))
+#. python 1.5 compatible:
+#. we have to check for verbatim before doing include,
+#. because we don't want to include files that are mentioned
+#. inside a verbatim environment
+#. ugh fix input
+#. # Hmm, we should hash only lilypond source, and skip the
+#. # %options are ...
+#. # comment line
+#. # todo: include path, but strip
+#. # first part of the path.
+#. format == 'html'
+#. ugh rename
+#. Count sections/chapters.
+#. # TODO: do something like
+#. # this for texinfo/latex as well ?
+#. ugh
+#. fixme: be sys-independent.
+#.
+#. Ugh, fixing up dependencies for .tex generation
+#.
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#. # There used to be code to write .tex dependencies, but
+#. # that is silly: lilypond-book has its own dependency scheme
+#. # to ensure that all lily-XXX.tex files are there
+#. # TODO: put file name in front of texidoc.
+#. #
+#. # what's this? Docme --hwn
+#. #
+#. #docme: why global?
+#. Do It.
+#. should chmod -w
+#: lilypond-book.py:1557 ly2dvi.py:673 midi2ly.py:1018
+#, python-format
+msgid "getopt says: `%s'"
+msgstr "getopt() dice: `%s'"
+
+#. HACK
+#. status = os.system ('lilypond -w')
+#: lilypond-book.py:1630 ly2dvi.py:777
+#, fuzzy
+msgid "no files specified on command line"
+msgstr "no se ha especificado ningún fichero en la línea de órdenes."
+
+#.
+#. Petr, ik zou willen dat ik iets zinvoller deed,
+#. maar wat ik kan ik doen, het verandert toch niets?
+#. --hwn 20/aug/99
+#. !@PYTHON@
+#.
+#. ly2dvi.py -- Run LilyPond, add titles to bare score, generate printable
+#. document
+#. Invokes: lilypond, latex (or pdflatex), dvips, ps2pdf, gs
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. This is the third incarnation of ly2dvi.
+#.
+#. Earlier incarnations of ly2dvi were written by
+#. Jeffrey B. Reed<daboys@austin.rr.com> (Python version)
+#. Jan Arne Fagertun <Jan.A.Fagertun@@energy.sintef.no> (Bourne shell script)
+#.
+#. Note: gettext work best if we use ' for docstrings and "
+#. for gettextable strings.
+#. --> DO NOT USE ''' for docstrings.
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. if __name__ == '__main__':
+#. lilylib globals
+#. # FIXME
+#. # ly2dvi: silly name?
+#. # do -P or -p by default?
+#. #help_summary = _ ("Run LilyPond using LaTeX for titling")
+#: ly2dvi.py:121
+msgid "Run LilyPond, add titles, generate printable document"
+msgstr ""
+
+#: ly2dvi.py:127 main.cc:115
+msgid "write Makefile dependencies for every input file"
+msgstr "crear las dependencias para Makefile de cada fichero de entrada"
+
+#: ly2dvi.py:129
+msgid "print even more output"
+msgstr ""
+
+#: ly2dvi.py:130
 msgid "add DIR to LilyPond's search path"
 msgstr "añadir DIR a la ruta de búsqueda de LilyPond"
 
-#: ly2dvi.py:338
-#, fuzzy, c-format
+#: ly2dvi.py:132
+#, fuzzy, python-format
 msgid "keep all output, output to directory %s.dir"
 msgstr "conservar todas las salidas, y nombrar el directorio %s.dir"
 
-#: ly2dvi.py:339
+#: ly2dvi.py:133
 msgid "don't run LilyPond"
 msgstr "no ejecutar LilyPond"
 
-#: ly2dvi.py:340 main.cc:116
+#: ly2dvi.py:134 main.cc:116
 msgid "produce MIDI output only"
 msgstr "producir solamente una salida MIDI"
 
-#: ly2dvi.py:341 ly2dvi.py:342 midi2ly.py:100 main.cc:114 main.cc:117
-msgid "FILE"
-msgstr "FICHERO"
-
-#: ly2dvi.py:341 midi2ly.py:100
+#: ly2dvi.py:135 midi2ly.py:102
 msgid "write ouput to FILE"
 msgstr "escribir la salida en el FICHERO"
 
-#: ly2dvi.py:342
+#: ly2dvi.py:136
 msgid "find pfa fonts used in FILE"
 msgstr "buscar las fuentes pfa utilizadas en FICHERO"
 
-#: ly2dvi.py:344
-msgid "set the resolution of the preview to RES"
+#: ly2dvi.py:139
+msgid "generate PostScript output"
+msgstr "generar una salida PostScript"
+
+#: ly2dvi.py:140
+msgid "generate PNG page images"
 msgstr ""
 
-#: ly2dvi.py:345
-msgid "generate PostScript output"
+#: ly2dvi.py:141
+#, fuzzy
+msgid "generate PS.GZ"
 msgstr "generar una salida PostScript"
 
-#: ly2dvi.py:346
+#: ly2dvi.py:142
 #, fuzzy
 msgid "generate PDF output"
 msgstr "generar una salida PostScript"
 
-#: ly2dvi.py:347
+#: ly2dvi.py:143
 msgid "use pdflatex to generate a PDF output"
 msgstr ""
 
-#: ly2dvi.py:349
+#. FIXME: preview, picture; to indicate creation of a PNG?
+#: ly2dvi.py:145
 msgid "make a picture of the first system"
 msgstr ""
 
-#: ly2dvi.py:350
+#: ly2dvi.py:146
+msgid "make HTML file with links to all output"
+msgstr ""
+
+#: ly2dvi.py:147
 msgid "KEY=VAL"
 msgstr "CLAVE=VALOR"
 
-#: ly2dvi.py:350
+#: ly2dvi.py:147
 msgid "change global setting KEY to VAL"
 msgstr "cambiar el parámetro global CLAVE a VALOR"
 
-#: ly2dvi.py:351 midi2ly.py:103 mup2ly.py:77 update-lily.py:91 main.cc:126
-msgid "verbose"
-msgstr "prolijo"
-
-#: ly2dvi.py:352 midi2ly.py:104 mup2ly.py:78 update-lily.py:92 main.cc:125
+#: ly2dvi.py:149 midi2ly.py:106 mup2ly.py:79 main.cc:125
 msgid "print version number"
 msgstr "mostrar número de versión"
 
-#: ly2dvi.py:353 midi2ly.py:105 mup2ly.py:79 update-lily.py:94 main.cc:127
-msgid "show warranty and copyright"
-msgstr "mostrar los avisos de garantía y de copyright"
-
-#: ly2dvi.py:448
-#, fuzzy, c-format
+#. other globals
+#. Pdftex support
+#. # yuk.
+#. lilypond_binary = 'valgrind --suppressions=%(home)s/usr/src/guile-1.6.supp --num-callers=10 %(home)s/usr/src/lilypond/lily/out/lilypond '% { 'home' : '/home/hanwen' }
+#. only use installed binary  when we're installed too.
+#. init to empty; values here take precedence over values in the file
+#. # TODO: change name.
+#. for geometry v3
+#. Output formats that ly2dvi should create
+#. what a name.
+#. ly.warning (_ ("invalid value: %s") % `val`)
+#. ly.warning (_ ("invalid value: %s") % `val`)
+#: ly2dvi.py:232
+#, fuzzy, python-format
 msgid "no such setting: `%s'"
 msgstr "no existe tal parámetro: %s"
 
-#: ly2dvi.py:508
-#, c-format
+#. 2 == user interrupt.
+#: ly2dvi.py:274
+#, python-format
 msgid "LilyPond crashed (signal %d)."
 msgstr ""
 
-#: ly2dvi.py:509
+#: ly2dvi.py:275
 msgid "Please submit a bug report to bug-lilypond@gnu.org"
 msgstr ""
 
-#: ly2dvi.py:513
-#, c-format
-msgid "LilyPond failed on the input file (exit status %d)."
+#: ly2dvi.py:281
+#, python-format
+msgid "LilyPond failed on input file %s (exit status %d)"
 msgstr ""
 
-#: ly2dvi.py:522
-#, c-format
+#: ly2dvi.py:284
+#, python-format
+msgid "LilyPond failed on an input file (exit status %d)"
+msgstr ""
+
+#: ly2dvi.py:285
+#, fuzzy
+msgid "Continuing..."
+msgstr "Ejecutando %s..."
+
+#. urg
+#: ly2dvi.py:296
+#, python-format
 msgid "Analyzing %s..."
 msgstr "Analizando %s..."
 
-#: ly2dvi.py:578
-#, fuzzy, c-format
+#. search only the first 10k
+#: ly2dvi.py:354
+#, fuzzy, python-format
 msgid "no LilyPond output found for `%s'"
 msgstr "no se ha encontrado ninguna salida de lilypond para %s"
 
-#: ly2dvi.py:618
-#, fuzzy, c-format
+#. The final \n seems important here. It ensures that the footers and taglines end up on the right page.
+#. TODO: should set textheight (enlarge) depending on papersize.
+#: ly2dvi.py:397
+#, fuzzy, python-format
 msgid "invalid value: `%s'"
 msgstr "valor no válido: %s"
 
-#: ly2dvi.py:724
+#. set sane geometry width (a4-width) for linewidth = -1.
+#. who the hell is 597 ?
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#: ly2dvi.py:511
 msgid "LaTeX failed on the output file."
 msgstr ""
 
-#: ly2dvi.py:726
-msgid "The error log is as follows:"
+#. make a preview by rendering only the 1st line
+#. of each score
+#: ly2dvi.py:568
+msgid ""
+"Trying create PDF, but no PFA fonts found.\n"
+"Using bitmap fonts instead. This will look bad."
 msgstr ""
 
-#: ly2dvi.py:849
-#, c-format
+#. ugh. Different targets?
+#. Added as functionality to ly2dvi, because ly2dvi may well need to do this
+#. in future too.
+#. no ps header?
+#: ly2dvi.py:615
+#, python-format
 msgid "not a PostScript file: `%s'"
 msgstr "no es un fichero PostScript: `%s'"
 
-#: ly2dvi.py:865 midi2ly.py:1012 update-lily.py:458
-#, c-format
-msgid "getopt says: `%s'"
-msgstr "getopt() dice: `%s'"
+#. todo
+#: ly2dvi.py:660
+#, fuzzy, python-format
+msgid "Writing HTML menu `%s'"
+msgstr "Escribiendo `%s'..."
 
-#: ly2dvi.py:948
+#. signal programming error
+#. Don't convert input files to abspath, rather prepend '.' to include
+#. path.
+#. As a neat trick, add directory part of first input file
+#. to include path.  That way you can do without the clumsy -I in:
+#. ly2dvi -I foe/bar/baz foo/bar/baz/baz.ly
+#: ly2dvi.py:769
 msgid "pseudo filter"
 msgstr ""
 
-#: ly2dvi.py:951
+#: ly2dvi.py:772
 msgid "pseudo filter only for single input file"
 msgstr ""
 
-#: ly2dvi.py:980
-#, c-format
+#. Ugh, maybe make a setup () function
+#. hmmm. Wish I'd 've written comments when I wrote this.
+#. now it looks complicated.
+#: ly2dvi.py:806
+#, python-format
 msgid "filename should not contain spaces: `%s'"
 msgstr "el nombre del fichero no debería contener espacios: `%s'"
 
-#: ly2dvi.py:1076 input-file-results.cc:67
-#, c-format
+#. to be sure, add tmpdir *in front* of inclusion path.
+#. os.environ['TEXINPUTS'] =  tmpdir + ':' + os.environ['TEXINPUTS']
+#. We catch all exceptions, because we need to do stuff at exit:
+#. * copy any successfully generated stuff from tempdir and
+#. notify user of that
+#. * cleanout tempdir
+#. ## ARGH. This also catches python programming errors.
+#. ## this should only catch lilypond nonzero exit  status
+#. ## --hwn
+#. TODO: friendly message about LilyPond setup/failing?
+#.
+#: ly2dvi.py:845
+msgid "Running LilyPond failed. Rerun with --verbose for a trace."
+msgstr ""
+
+#. Our LilyPond pseudo filter always outputs to 'lelie'
+#. have subsequent stages and use 'lelie' output.
+#. unless: add --tex, or --latex?
+#. TODO: friendly message about TeX/LaTeX setup,
+#. trying to run tex/latex by hand
+#: ly2dvi.py:886
+msgid "Failed to make PS file. Rerun with --verbose for a trace."
+msgstr ""
+
+#. unless: add --tex, or --latex?
+#. TODO: friendly message about TeX/LaTeX setup,
+#. trying to run tex/latex by hand
+#: ly2dvi.py:916
+msgid "Running LaTeX falied. Rerun with --verbose for a trace."
+msgstr ""
+
+#. add DEP to targets?
+#: ly2dvi.py:926 input-file-results.cc:68
+#, c-format, python-format
 msgid "dependencies output to `%s'..."
 msgstr "dependencias producidas en `%s'..."
 
-#: ly2dvi.py:1090 ly2dvi.py:1104 includable-lexer.cc:49
-#: input-file-results.cc:187 input-file-results.cc:193 lily-guile.cc:97
-#, c-format
+#: ly2dvi.py:937
+#, fuzzy, python-format
+msgid "%s output to <stdout>..."
+msgstr "%s producidos en `%s'..."
+
+#: ly2dvi.py:942 ly2dvi.py:968 includable-lexer.cc:57
+#: input-file-results.cc:191 input-file-results.cc:197 lily-guile.cc:86
+#, c-format, python-format
 msgid "can't find file: `%s'"
 msgstr "no puedo encontrar el fichero: `%s'"
 
-#: ly2dvi.py:1102 midi2ly.py:996
-#, c-format
-msgid "%s output to `%s'..."
+#. Hmm, if this were a function, we could call it the except: clauses
+#: ly2dvi.py:965
+#, fuzzy, python-format
+msgid "%s output to %s..."
 msgstr "%s producidos en `%s'..."
 
-#: ly2dvi.py:1111
-#, fuzzy
-msgid "no files specified on command line"
-msgstr "no se ha especificado ningún fichero en la línea de órdenes."
-
-#: midi2ly.py:92
+#. !@PYTHON@
+#.
+#. midi2ly.py -- LilyPond midi import script
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. ###############################################################
+#. Users of python modules should include this snippet.
+#.
+#. This soon to be removed for: import lilypond.lilylib as ly
+#. ###############################################################
+#. ###############################################################
+#. ############### CONSTANTS
+#. ###############################################################
+#. temp_dir = os.path.join (original_dir,  '%s.dir' % program_name)
+#. original_dir = os.getcwd ()
+#. keep_temp_dir_p = 0
+#: midi2ly.py:94
 msgid "Convert MIDI to LilyPond source"
 msgstr ""
 
-#: midi2ly.py:95
+#: midi2ly.py:97
 msgid "print absolute pitches"
 msgstr ""
 
-#: midi2ly.py:96 midi2ly.py:101
+#: midi2ly.py:98 midi2ly.py:103
 msgid "DUR"
 msgstr "DUR"
 
-#: midi2ly.py:96
+#: midi2ly.py:98
 msgid "quantise note durations on DUR"
 msgstr ""
 
-#: midi2ly.py:97
+#: midi2ly.py:99
 msgid "print explicit durations"
 msgstr ""
 
-#: midi2ly.py:99
+#: midi2ly.py:101
 #, fuzzy
 msgid "ALT[:MINOR]"
 msgstr "ACC[:MENOR]"
 
-#: midi2ly.py:99
+#: midi2ly.py:101
 msgid "set key: ALT=+sharps|-flats; MINOR=1"
 msgstr ""
 
-#: midi2ly.py:101
+#: midi2ly.py:103
 msgid "quantise note starts on DUR"
 msgstr ""
 
-#: midi2ly.py:102
+#: midi2ly.py:104
 msgid "DUR*NUM/DEN"
 msgstr ""
 
-#: midi2ly.py:102
+#: midi2ly.py:104
 msgid "allow tuplet durations DUR*NUM/DEN"
 msgstr ""
 
-#: midi2ly.py:106
+#: midi2ly.py:108
 msgid "treat every text as a lyric"
 msgstr ""
 
-#: midi2ly.py:1027
+#: midi2ly.py:136 mup2ly.py:130
+msgid " 2001--2003"
+msgstr ""
+
+#: midi2ly.py:141 mup2ly.py:135
+msgid ""
+"\n"
+"Distributed under terms of the GNU General Public License. It comes with\n"
+"NO WARRANTY."
+msgstr ""
+
+#: midi2ly.py:166 mup2ly.py:162
+msgid "Exiting ... "
+msgstr "Saliendo..."
+
+#: midi2ly.py:264 mup2ly.py:261
+#, python-format
+msgid "command exited with value %d"
+msgstr "fin de la orden con valor %d"
+
+#. ###############################################################
+#. END Library
+#. ###############################################################
+#. hmm
+#. major scale: do-do
+#. minor scale: la-la  (= + 5) '''
+#. By tradition, all scales now consist of a sequence
+#. of 7 notes each with a distinct name, from amongst
+#. a b c d e f g.  But, minor scales have a wide
+#. second interval at the top - the 'leading note' is
+#. sharped. (Why? it just works that way! Anything
+#. else doesn't sound as good and isn't as flexible at
+#. saying things. In medieval times, scales only had 6
+#. notes to avoid this problem - the hexachords.)
+#. So, the d minor scale is d e f g a b-flat c-sharp d
+#. - using d-flat for the leading note would skip the
+#. name c and duplicate the name d.  Why isn't c-sharp
+#. put in the key signature? Tradition. (It's also
+#. supposedly based on the Pythagorean theory of the
+#. cycle of fifths, but that really only applies to
+#. major scales...)  Anyway, g minor is g a b-flat c d
+#. e-flat f-sharp g, and all the other flat minor keys
+#. end up with a natural leading note. And there you
+#. have it.
+#. John Sankey <bf250@freenet.carleton.ca>
+#.
+#. Let's also do a-minor: a b c d e f gis a
+#.
+#. --jcn
+#. as -> gis
+#. des -> cis
+#. ges -> fis
+#. g -> fisis
+#. d -> cisis
+#. a -> gisis
+#. b -> ces
+#. e -> fes
+#. f -> eis
+#. c -> bis
+#. # FIXME: compile fix --jcn
+#. TODO: move space
+#. fis cis gis dis ais eis bis
+#. bes es as des ges ces fes
+#. urg, we should be sure that we're in a lyrics staff
+#. all include ALL_NOTES_OFF
+#. ugh, must set key while parsing
+#. because Note init uses key
+#. Better do Note.calc () at dump time?
+#. last_lyric.clocks = t - last_time
+#. hmm
+#. urg, this will barf at meter changes
+#. urg LilyPond doesn't start at c4, but
+#. remembers from previous tracks!
+#. reference_note = Note (clocks_per_4, 4*12, 0)
+#. must be in \notes mode for parsing \skip
+#: midi2ly.py:1002
+#, python-format
+msgid "%s output to `%s'..."
+msgstr "%s producidos en `%s'..."
+
+#: midi2ly.py:1033
 msgid "Example:"
 msgstr ""
 
-#: midi2ly.py:1081
+#: midi2ly.py:1083
 msgid "no files specified on command line."
 msgstr "no se ha especificado ningún fichero en la línea de órdenes."
 
-#: mup2ly.py:69
+#. !@PYTHON@
+#. mup2ly.py -- mup input converter
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c) 2001
+#. if set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#: mup2ly.py:70
 #, fuzzy
 msgid "Convert mup to LilyPond source"
 msgstr "Convertir mup a ly"
 
-#: mup2ly.py:72
+#: mup2ly.py:73
 msgid "debug"
 msgstr "depurar"
 
-#: mup2ly.py:73
+#: mup2ly.py:74
 msgid "define macro NAME [optional expansion EXP]"
 msgstr "define la macro NOMBRE [EXPRESIÓN de expansión opcional]"
 
-#: mup2ly.py:75 main.cc:117
+#: mup2ly.py:76 main.cc:117
 msgid "write output to FILE"
 msgstr "escribir la salida en el FICHERO"
 
-#: mup2ly.py:76
+#: mup2ly.py:77
 msgid "only pre-process"
 msgstr "solamente preprocesar"
 
-#: mup2ly.py:1073
-#, c-format
+#. Duh.  Python style portable: cp *.EXT OUTDIR
+#. system ('cp *.%s %s' % (ext, outdir), 1)
+#. Python < 1.5.2 compatibility
+#.
+#. On most platforms, this is equivalent to
+#. `normpath(join(os.getcwd()), PATH)'.  *Added in Python version 1.5.2*
+#. if set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. ###############################################################
+#. END Library
+#.
+#. PMX cut and paste
+#.
+#. if not self.entries:
+#. #return '\n'
+#. #ugh ugh
+#. return '\n%s = {}\n\n' % self.idstring ()
+#. ugh
+#. def set_clef (self, letter):
+#. clstr = clef_table[letter]
+#. self.voices[0].add_nonchord (Clef (clstr))
+#. urg
+#. maybe use import copy?
+#. for i in self.pitches:
+#. ch.pitches.append (i)
+#. for i in self.scripts:
+#. ch.scripts.append (i)
+#. http://www.arkkra.com/doc/uguide/contexts.html
+#. #self.current_staffs = []
+#. duh
+#. FIXME: 1?
+#. FIXME: does key play any role in this?
+#. ch = self.current_voices[0].last_chord ()
+#. ch.basic_duration = self.current_voices[0].last_chord ().basic_duration
+#. ugh
+#. ch = self.current_voices[0].last_chord ()
+#. `;' is not a separator, chords end with ';'
+#. mup resets default duration and pitch each bar
+#. ugh: these (and lots more) should also be parsed in
+#. context staff.  we should have a class Staff_properties
+#. and parse/set all those.
+#. shortcut: set to official mup maximum (duh)
+#. self.set_staffs (40)
+#: mup2ly.py:1076
+#, python-format
 msgid "no such context: %s"
 msgstr "no hay tal contexto: %s"
 
-#: mup2ly.py:1297
-#, c-format
+#. hmm
+#. dig this: mup allows ifdefs inside macro bodies
+#. don't do nested multi-line defines
+#. duh: mup is strictly line-based, except for `define',
+#. which is `@' terminated and may span several lines
+#. don't define new macros in unactive areas
+#. To support nested multi-line define's
+#. process_function and macro_name, macro_body
+#. should become lists (stacks)
+#. The mup manual is undetermined on this
+#. and I haven't seen examples doing it.
+#.
+#. don't do nested multi-line define's
+#. writes to stdout for help2man
+#. don't call
+#. identify ()
+#. sys.stdout.flush ()
+#. handy emacs testing
+#. if not files:
+#. files = ['template.mup']
+#: mup2ly.py:1300
+#, python-format
 msgid "Processing `%s'..."
 msgstr "Procesando `%s'..."
 
-#: mup2ly.py:1316
-#, c-format
+#: mup2ly.py:1319
+#, python-format
 msgid "Writing `%s'..."
 msgstr "Escribiendo `%s'..."
 
-#: update-lily.py:76
-msgid "Fetch and rebuild from latest source package"
-msgstr "Obtener y reconstruir a partir del último paquete fuente"
-
-#: update-lily.py:79
-#, c-format
-msgid "unpack and build in DIR [%s]"
-msgstr "desempaquetar y construir en DIR [%s]"
-
-#: update-lily.py:80
-msgid "execute COMMAND, subtitute:"
-msgstr "ejecutar la órden de sustitución:"
-
-#: update-lily.py:81
-msgid "%b: build root"
-msgstr "%b: construir la raíz"
-
-#: update-lily.py:82
-#, c-format
-msgid "%n: package name"
-msgstr "%n: nombre del paquete"
-
-#: update-lily.py:83
-msgid "%r: release directory"
-msgstr "%r: directorio de publicación"
-
-#: update-lily.py:84
-msgid "%t: tarball"
-msgstr "%t: tarball"
-
-#: update-lily.py:85
-msgid "%v: package version"
-msgstr "%v: versión del paquete"
-
-#: update-lily.py:88
-#, c-format
-msgid "keep all output, and name the directory %s"
-msgstr "conservar todas las salidas, y nombrar el directorio %s"
-
-#: update-lily.py:89
-msgid "upon failure notify EMAIL[,EMAIL]"
-msgstr "en caso de fallo avisar por EMAIL[,EMAIL]"
-
-#: update-lily.py:90
-msgid "remove previous build"
-msgstr "eliminar la construcción anterior"
-
-#: update-lily.py:93
-#, c-format
-msgid "fetch and build URL [%s]"
-msgstr "obtener y construir el URL [%s]"
-
-#: update-lily.py:429
-#, c-format
-msgid "Listing `%s'..."
-msgstr "Listando `%s'..."
-
-#: update-lily.py:497
-#, c-format
-msgid "latest is: %s"
-msgstr "el último es: %s"
-
-#: update-lily.py:498
-#, c-format
-msgid "relax, %s is up to date"
-msgstr "calma, %s está al día"
-
-#: update-lily.py:507 update-lily.py:520
-#, c-format
-msgid "Fetching `%s'..."
-msgstr "Obteniendo `%s'..."
-
-#: update-lily.py:529
-#, c-format
-msgid "Building `%s'..."
-msgstr "Construyendo `%s'..."
-
 #: getopt-long.cc:146
 #, c-format
 msgid "option `%s' requires an argument"
@@ -429,52 +1205,57 @@ msgstr "opci
 msgid "invalid argument `%s' to option `%s'"
 msgstr "argúmento no válido `%s' para la opción `%s'"
 
-#: warn.cc:24
+#: warn.cc:25
 #, fuzzy, c-format
 msgid "warning: %s\n"
 msgstr "advertencia: "
 
-#: warn.cc:30
+#: warn.cc:31
 #, fuzzy, c-format
 msgid "error: %s\n"
 msgstr "error: "
 
-#: warn.cc:43
+#: warn.cc:44
 #, fuzzy, c-format
 msgid "programming error: %s (Continuing; cross thumbs)\n"
 msgstr " (Continuando; cruza los dedos)"
 
-#: accidental-engraver.cc:181 new-accidental-engraver.cc:237
+#: accidental.cc:202 key-signature-interface.cc:137
+#, c-format
+msgid "accidental `%s' not found"
+msgstr ""
+
+#: accidental-engraver.cc:171 new-accidental-engraver.cc:238
 #, c-format
 msgid "Accidental typesetting list must begin with context-name: %s"
 msgstr ""
 
-#: accidental-engraver.cc:206 new-accidental-engraver.cc:262
+#: accidental-engraver.cc:196 new-accidental-engraver.cc:263
 #, c-format
 msgid "unknown accidental typesetting: %s. Ignored"
 msgstr ""
 
-#: accidental-engraver.cc:222 new-accidental-engraver.cc:278
+#: accidental-engraver.cc:212 new-accidental-engraver.cc:279
 #, c-format
 msgid "Symbol is not a parent context: %s. Ignored"
 msgstr ""
 
-#: accidental-engraver.cc:225 new-accidental-engraver.cc:281
+#: accidental-engraver.cc:215 new-accidental-engraver.cc:282
 #, c-format
 msgid "Accidental typesetting must be pair or context-name: %s"
 msgstr ""
 
-#: afm.cc:60
+#: afm.cc:66
 #, c-format
 msgid "can't find character number: %d"
 msgstr "no puedo encontrar el carácter número: %d"
 
-#: afm.cc:75
+#: afm.cc:81
 #, c-format
 msgid "can't find character called: `%s'"
 msgstr "no puedo encontrar el carácter llamado: `%s'"
 
-#: afm.cc:125
+#: afm.cc:142
 #, c-format
 msgid "Error parsing AFM file: `%s'"
 msgstr "Error de análisis sintáctico del fichero AFM: `%s'"
@@ -497,74 +1278,80 @@ msgstr ""
 "Reconstruir todos los ficheros .afm, y borrar todos los ficheros .pk y .tfm. "
 "Re-ejecutar con la opción -V para mostrar las rutas de las fuentes."
 
-#: all-font-metrics.cc:167
+#: all-font-metrics.cc:103
+msgid ""
+"A script for removing font-files is delivered with the source-code,\n"
+"in buildscripts/clean-fonts.sh"
+msgstr ""
+
+#: all-font-metrics.cc:169
 #, c-format
 msgid "can't find font: `%s'"
 msgstr "no encuentro la fuente: `%s'"
 
-#: all-font-metrics.cc:168
+#: all-font-metrics.cc:170
 msgid "Loading default font"
 msgstr "Cargando la fuente por defecto"
 
-#: all-font-metrics.cc:183
+#: all-font-metrics.cc:185
 #, c-format
 msgid "can't find default font: `%s'"
 msgstr "no puedo encontrar la fuente por defecto: `%s'"
 
-#: all-font-metrics.cc:184 includable-lexer.cc:51 input-file-results.cc:188
+#: all-font-metrics.cc:186 includable-lexer.cc:59 input-file-results.cc:192
 #, c-format
 msgid "(search path: `%s')"
 msgstr "(ruta de búsqueda: `%s')"
 
-#: all-font-metrics.cc:185
+#: all-font-metrics.cc:187
 msgid "Giving up"
 msgstr "Abandonando"
 
 #: auto-change-iterator.cc:43 change-iterator.cc:60
-#: part-combine-music-iterator.cc:97
+#: part-combine-music-iterator.cc:120
 msgid "Can't switch translators, I'm there already"
 msgstr "No puedo pasar de un traductor al otro, ya estoy allí"
 
-#: bar-check-iterator.cc:58
+#: bar-check-iterator.cc:51
 #, c-format
 msgid "barcheck failed at: %s"
 msgstr ""
 
-#: beam-engraver.cc:167
-msgid "already have a beam"
+#: beam.cc:146
+msgid "beam has less than two visible stems"
 msgstr ""
 
-#: beam-engraver.cc:234
-msgid "unterminated beam"
+#: beam.cc:151
+msgid "Beam has less than two stems. Removing beam."
 msgstr ""
 
-#: beam-engraver.cc:267 chord-tremolo-engraver.cc:175
-msgid "stem must have Rhythmic structure"
+#: beam.cc:976
+msgid ""
+"Not sure that we can find a nice beam slope (no viable initial configuration "
+"found)."
 msgstr ""
 
-#: beam-engraver.cc:281
-msgid "stem doesn't fit in beam"
+#: beam-engraver.cc:176
+msgid "already have a beam"
 msgstr ""
 
-#: beam-engraver.cc:282
-msgid "beam was started here"
+#: beam-engraver.cc:259
+msgid "unterminated beam"
 msgstr ""
 
-#: beam.cc:134
-msgid "beam has less than two visible stems"
+#: beam-engraver.cc:292 chord-tremolo-engraver.cc:197
+msgid "stem must have Rhythmic structure"
 msgstr ""
 
-#: beam.cc:139
-msgid "Beam has less than two stems. Removing beam."
+#: beam-engraver.cc:306
+msgid "stem doesn't fit in beam"
 msgstr ""
 
-#: beam.cc:951
-msgid ""
-"Not sure that we can find a nice beam slope (no viable initial configuration "
-"found)."
+#: beam-engraver.cc:307
+msgid "beam was started here"
 msgstr ""
 
-#: break-align-interface.cc:166
+#: break-align-interface.cc:173
 #, fuzzy, c-format
 msgid "No spacing entry from %s to `%s'"
 msgstr "No se añade el traductor: `%s'"
@@ -588,66 +1375,107 @@ msgstr "Yo mismo soy uno"
 msgid "none of these in my family"
 msgstr "ninguno de éstos en mi familia"
 
-#: chord-tremolo-engraver.cc:137 percent-repeat-engraver.cc:182
+#: chord-tremolo-engraver.cc:98
+#, c-format
+msgid "Chord tremolo with %d elements. Must have two elements."
+msgstr ""
+
+#: chord-tremolo-engraver.cc:157
 msgid "unterminated chord tremolo"
 msgstr "acorde de trémolo sin terminar"
 
-#: chord-tremolo-iterator.cc:50
+#: chord-tremolo-iterator.cc:69
 msgid "no one to print a tremolos"
 msgstr "ninguno para la impresión de trémolos"
 
-#: chord.cc:313
+#: clef.cc:64
+#, c-format
+msgid "clef `%s' not found"
+msgstr ""
+
+#: cluster.cc:131
+#, fuzzy, c-format
+msgid "unknown cluster style `%s'"
+msgstr "traductor desconocido: `%s'"
+
+#: coherent-ligature-engraver.cc:84
+#, c-format
+msgid "gotcha: ptr=%ul"
+msgstr ""
+
+#: coherent-ligature-engraver.cc:96
 #, c-format
-msgid "invalid subtraction: not part of chord: %s"
-msgstr "sustracción no válida: no forma parte del acorde: %s"
+msgid "distance=%f"
+msgstr ""
+
+#: coherent-ligature-engraver.cc:139
+#, c-format
+msgid "Coherent_ligature_engraver: setting `spacing-increment = 0.01': ptr=%ul"
+msgstr ""
 
-#: chord.cc:342
+#: custos.cc:92
 #, c-format
-msgid "invalid inversion pitch: not part of chord: %s"
-msgstr "inversión de tonos no válida: no forma parte del acorde: %s"
+msgid "custos `%s' not found"
+msgstr ""
 
 #: dimensions.cc:13
 msgid "NaN"
 msgstr "NaN"
 
-#: dynamic-engraver.cc:187 span-dynamic-performer.cc:82
+#: dynamic-engraver.cc:204 span-dynamic-performer.cc:82
 msgid "can't find start of (de)crescendo"
 msgstr "no puedo encontrar el principio del (de)crescendo"
 
-#: dynamic-engraver.cc:211
+#: dynamic-engraver.cc:216
 msgid "already have a crescendo"
 msgstr "ya tengo un crescendo"
 
-#: dynamic-engraver.cc:212
+#: dynamic-engraver.cc:217
 msgid "already have a decrescendo"
 msgstr "ya tengo un decrescendo"
 
-#: dynamic-engraver.cc:215
+#: dynamic-engraver.cc:220
 msgid "Cresc started here"
 msgstr ""
 
-#: dynamic-engraver.cc:307
+#: dynamic-engraver.cc:323
 msgid "unterminated (de)crescendo"
 msgstr "(de)crescendo sin terminar"
 
-#: extender-engraver.cc:96
+#: event.cc:49
+#, c-format
+msgid "Transposition by %s makes alteration larger than two"
+msgstr ""
+
+#: event-chord-iterator.cc:76 output-property-music-iterator.cc:27
+#, fuzzy, c-format
+msgid "Junking event: `%s'"
+msgstr "Invocando `%s'"
+
+#: extender-engraver.cc:94
 msgid "unterminated extender"
 msgstr "prolongación sin terminar"
 
-#: extender-engraver.cc:108
-msgid "Nothing to connect extender to on the left.  Ignoring extender request."
+#: extender-engraver.cc:106
+#, fuzzy
+msgid "Nothing to connect extender to on the left.  Ignoring extender event."
 msgstr ""
 "Nada a la izquierda a lo que conectar la prologación. Ignorando la petición "
 "de prolongación."
 
-#: folded-repeat-iterator.cc:78
+#: folded-repeat-iterator.cc:88
 msgid "no one to print a repeat brace"
 msgstr "ninguno para la impresión de llaves repetidas"
 
-#: font-interface.cc:238
+#: font-interface.cc:239
 msgid "couldn't find any font satisfying "
 msgstr "no he podido encontrar ninguna fuente satisfactoria "
 
+#: glissando-engraver.cc:100
+#, fuzzy
+msgid "Unterminated glissando."
+msgstr "prolongación sin terminar"
+
 #: gourlay-breaking.cc:188
 #, c-format
 msgid "Optimal demerits: %f"
@@ -657,6 +1485,27 @@ msgstr ""
 msgid "No feasible line breaking found"
 msgstr "No se ha encontrado ninguna ruptura de línea factible"
 
+#: gregorian-ligature-engraver.cc:59
+#, fuzzy, c-format
+msgid "\\%s ignored"
+msgstr "(ignorado)"
+
+#: gregorian-ligature-engraver.cc:64
+#, c-format
+msgid "implied \\%s added"
+msgstr ""
+
+#.
+#. Todo: do something sensible. The grob-pq-engraver is not water
+#. tight, and stuff like tupletSpannerDuration confuses it.
+#.
+#: grob-pq-engraver.cc:130
+#, c-format
+msgid ""
+"Skipped something?\n"
+"Grob %s ended before I expected it to end."
+msgstr ""
+
 #: hairpin.cc:98
 msgid "decrescendo too small"
 msgstr "decrescendo demasiado pequeño"
@@ -665,112 +1514,115 @@ msgstr "decrescendo demasiado peque
 msgid "crescendo too small"
 msgstr "crescendo demasiado pequeño"
 
-#: hyphen-engraver.cc:89
+#: horizontal-bracket-engraver.cc:64
+msgid "Don't have that many brackets."
+msgstr ""
+
+#: horizontal-bracket-engraver.cc:73
+msgid "Conflicting note group events."
+msgstr ""
+
+#: hyphen-engraver.cc:87
 msgid "unterminated hyphen"
 msgstr ""
 
-#: hyphen-engraver.cc:101
-msgid "Nothing to connect hyphen to on the left.  Ignoring hyphen request."
+#: hyphen-engraver.cc:99
+#, fuzzy
+msgid "Nothing to connect hyphen to on the left.  Ignoring hyphen event."
 msgstr ""
+"Nada a la izquierda a lo que conectar la prologación. Ignorando la petición "
+"de prolongación."
+
+#: input.cc:99
+msgid "non fatal error: "
+msgstr "error no fatal: "
+
+#: input.cc:107 source-file.cc:146 source-file.cc:239
+msgid "position unknown"
+msgstr "posición desconocida"
 
-#: input-file-results.cc:71 source-file.cc:52 streams.cc:38
+#: input-file-results.cc:72 source-file.cc:54 streams.cc:38
 #, c-format
 msgid "can't open file: `%s'"
 msgstr "no se puede abrir el fichero: `%s'"
 
-#: input-file-results.cc:131
+#: input-file-results.cc:132
 msgid "Score contains errors; will not process it"
 msgstr "La partitura contiene errores; no será procesada."
 
-#: input-file-results.cc:168
+#: input-file-results.cc:172
 #, c-format
 msgid "Now processing: `%s'"
 msgstr "Ahora en proceso: `%s'"
 
-#: input.cc:98
-msgid "non fatal error: "
-msgstr "error no fatal: "
-
-#: input.cc:106 source-file.cc:147 source-file.cc:240
-msgid "position unknown"
-msgstr "posición desconocida"
-
-#: key-engraver.cc:91
-msgid "Conflicting key signatures found."
-msgstr ""
-
-#: key-engraver.cc:92
-msgid "This was the other key definition."
-msgstr ""
-
-#: key-performer.cc:92
+#: key-performer.cc:96
 msgid "FIXME: key change merge"
 msgstr ""
 
-#: kpath.cc:64
+#: kpath.cc:76
 #, fuzzy, c-format
 msgid "Kpathsea couldn't find TFM file `%s'"
 msgstr "no puedo encontrar el fichero: `%s'"
 
-#: ligature-bracket.cc:105 ligature-bracket.cc:139 ligature-engraver.cc:124
-msgid "no left bound"
-msgstr ""
-
-#: ligature-engraver.cc:81
+#: ligature-engraver.cc:159
 #, fuzzy
 msgid "can't find start of ligature"
 msgstr "no puedo encontrar el principio del (de)crescendo"
 
-#: ligature-engraver.cc:86
+#: ligature-engraver.cc:165
 msgid "no right bound"
 msgstr ""
 
-#: ligature-engraver.cc:108
+#: ligature-engraver.cc:191
 #, fuzzy
 msgid "already have a ligature"
 msgstr "ya tengo un crescendo"
 
-#: ligature-engraver.cc:166
+#: ligature-engraver.cc:207
+msgid "no left bound"
+msgstr ""
+
+#: ligature-engraver.cc:258
 #, fuzzy
 msgid "unterminated ligature"
 msgstr "prolongación sin terminar"
 
-#: ligature-engraver.cc:183
+#: ligature-engraver.cc:282
 msgid "ligature may not contain rest; ignoring rest"
 msgstr ""
 
-#: ligature-engraver.cc:184
+#: ligature-engraver.cc:283
 msgid "ligature was started here"
 msgstr ""
 
-#: lily-guile.cc:99
+#: lily-guile.cc:88
 #, c-format
 msgid "(load path: `%s')"
 msgstr "(ruta de carga: `%s')"
 
-#: lily-guile.cc:582
+#: lily-guile.cc:576
 #, c-format
 msgid "Can't find property type-check for `%s' (%s)."
 msgstr ""
 
-#: lily-guile.cc:585
+#: lily-guile.cc:579
 msgid "Perhaps you made a typing error?"
 msgstr ""
 
-#: lily-guile.cc:591
+#: lily-guile.cc:585
 msgid "Doing assignment anyway."
 msgstr ""
 
-#: lily-guile.cc:605
+#: lily-guile.cc:599
 #, c-format
 msgid "Type check for `%s' failed; value `%s' must be of type `%s'"
 msgstr ""
 
-#: lookup.cc:141
+#: lookup.cc:173
 msgid "round filled box horizontal extent smaller than blot; decreasing blot"
 msgstr ""
 
-#: lookup.cc:146
+#: lookup.cc:178
 msgid "round filled box vertical extent smaller than blot; decreasing blot"
 msgstr ""
 
@@ -790,12 +1642,6 @@ msgstr "EXPR"
 msgid "set options, use -e '(ly-option-usage)' for help"
 msgstr ""
 
-#. another bug in option parser: --output=foe is taken as an abbreviation
-#. for --output-format
-#: main.cc:110
-msgid "EXT"
-msgstr "EXT"
-
 #: main.cc:110
 msgid "use output format EXT"
 msgstr ""
@@ -856,11 +1702,6 @@ msgstr ""
 "él bajo ciertas condiciones. Invócalo como `%s --warranty' para más\n"
 "información.\n"
 
-#: main.cc:188 main.cc:200
-#, c-format
-msgid "Copyright (c) %s by"
-msgstr "Copyright (c) %s "
-
 #: main.cc:198
 msgid "GNU LilyPond -- The music typesetter"
 msgstr ""
@@ -878,82 +1719,78 @@ msgid ""
 "\n"
 "    You should have received a copy (refer to the file COPYING) of the\n"
 "GNU General Public License along with this program; if not, write to\n"
-"the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,\n"
+"the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA "
+"02111-1307,\n"
 "USA.\n"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:321 mensural-ligature-engraver.cc:483
-msgid "unexpected case fall-through"
+#: mensural-ligature.cc:153
+#, c-format
+msgid "Mensural_ligature:thickness undefined on flexa %d; assuming 1.4"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:332
-msgid "ligature with less than 2 heads -> skipping"
+#: mensural-ligature.cc:169
+#, c-format
+msgid "Mensural_ligature:delta-pitch undefined on flexa %d; assuming 0"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:347
-msgid "can not determine pitch of ligature primitive -> skipping"
+#: mensural-ligature.cc:182
+#, c-format
+msgid "Mensural_ligature:flexa-width undefined on flexa %d; assuming 2.0"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:370
-msgid "prime interval within ligature -> skipping"
+#: mensural-ligature.cc:215
+msgid "Mensural_ligature:unexpected case fall-through"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:380
-msgid "mensural ligature: duration none of L, B, S -> skipping"
+#: mensural-ligature.cc:225
+msgid "Mensural_ligature: (join_left == 0)"
 msgstr ""
 
-#: mensural-ligature.cc:152
-#, c-format
-msgid "Mensural_ligature: thickness undefined on flexa %d; assuming 1.4"
+#: mensural-ligature-engraver.cc:248 mensural-ligature-engraver.cc:397
+msgid "unexpected case fall-through"
 msgstr ""
 
-#: mensural-ligature.cc:166
-#, c-format
-msgid "Mensural_ligature: delta-pitch undefined on flexa %d; assuming 0"
+#: mensural-ligature-engraver.cc:259
+msgid "ligature with less than 2 heads -> skipping"
 msgstr ""
 
-#: mensural-ligature.cc:177
-#, c-format
-msgid "Mensural_ligature: flexa-width undefined on flexa %d; assuming 2.0"
+#: mensural-ligature-engraver.cc:279
+msgid "can not determine pitch of ligature primitive -> skipping"
 msgstr ""
 
-#: mensural-ligature.cc:208
-msgid "Mensural_ligature: unexpected case fall-through"
+#: mensural-ligature-engraver.cc:302
+msgid "prime interval within ligature -> skipping"
 msgstr ""
 
-#: mensural-ligature.cc:217
-msgid "Menusral_ligature: (join_left == 0)"
+#: mensural-ligature-engraver.cc:312
+msgid "mensural ligature: duration none of L, B, S -> skipping"
 msgstr ""
 
-#: midi-item.cc:144
+#: midi-item.cc:148
 #, c-format
 msgid "no such instrument: `%s'"
 msgstr "no hay este instrumento: `%s'"
 
-#: midi-item.cc:234
+#: midi-item.cc:238
 msgid "silly duration"
 msgstr "duración ridícula"
 
-#: midi-item.cc:247
+#: midi-item.cc:251
 msgid "silly pitch"
 msgstr ""
 
-#: music-output-def.cc:113
+#: music-output-def.cc:111
 #, c-format
 msgid "can't find `%s' context"
 msgstr "no se puede encontrar el contexto de `%s'"
 
-#: music.cc:159
-#, c-format
-msgid "Transposition by %s makes accidental larger than two"
-msgstr ""
-
-#: my-lily-lexer.cc:142
+#: my-lily-lexer.cc:169
 #, c-format
 msgid "Identifier name is a keyword: `%s'"
 msgstr "El nombre del identificativo es una palabra clave: `%s'"
 
-#: my-lily-lexer.cc:162
+#: my-lily-lexer.cc:191
 #, c-format
 msgid "error at EOF: %s"
 msgstr "error al final del fichero (EOF): %s"
@@ -966,42 +1803,46 @@ msgstr "Analizando..."
 msgid "Braces don't match"
 msgstr ""
 
+#.
+#. music for the softenon children?
+#.
+#: new-fingering-engraver.cc:143
+msgid "music for the martians."
+msgstr ""
+
+#: new-tie-engraver.cc:166 tie-engraver.cc:217
+msgid "lonely tie"
+msgstr ""
+
 #: note-collision.cc:340
 msgid "Too many clashing notecolumns.  Ignoring them."
 msgstr "Demasiadas columnas de notas que chocan entre sí. Se las ignora."
 
-#: note-head.cc:134
-msgid "Symbol not found, "
-msgstr ""
-
-#: output-property-music-iterator.cc:20 request-chord-iterator.cc:76
+#: note-head.cc:127
 #, c-format
-msgid "Junking request: `%s'"
+msgid "note head `%s' not found"
 msgstr ""
 
-#: paper-def.cc:122
+#: paper-def.cc:96
 #, c-format
 msgid "paper output to `%s'..."
 msgstr ""
 
-#: paper-outputter.cc:57
-msgid ", at "
-msgstr ", en "
-
-#: paper-score.cc:77
+#: paper-score.cc:78
 #, fuzzy, c-format
 msgid "Element count %d (spanners %d) "
 msgstr "Elementos contados %d"
 
-#: paper-score.cc:82
-msgid "Preprocessing elements..."
+#: paper-score.cc:83
+#, fuzzy
+msgid "Preprocessing graphical objects..."
 msgstr "Preprocesando elementos..."
 
-#: paper-score.cc:115
+#: paper-score.cc:116
 msgid "Outputting Score, defined at: "
 msgstr ""
 
-#: parse-scm.cc:80
+#: parse-scm.cc:79
 msgid "GUILE signaled an error for the expression begining here"
 msgstr ""
 
@@ -1011,21 +1852,26 @@ msgstr ""
 #.
 #. last->translator_id_string_  = get_change ()->change_to_id_string_;
 #.
-#: part-combine-music-iterator.cc:116
+#: part-combine-music-iterator.cc:139
 #, c-format
 msgid "I'm one myself: `%s'"
 msgstr "Yo mismo soy uno: `%s'"
 
-#: part-combine-music-iterator.cc:119
+#: part-combine-music-iterator.cc:142
 #, c-format
 msgid "none of these in my family: `%s'"
 msgstr ""
 
-#: percent-repeat-engraver.cc:116
+#: percent-repeat-engraver.cc:109
 msgid "Don't know how to handle a percent repeat of this length."
 msgstr ""
 
-#: percent-repeat-iterator.cc:53
+#: percent-repeat-engraver.cc:163
+#, fuzzy
+msgid "unterminated percent repeat"
+msgstr "prolongación sin terminar"
+
+#: percent-repeat-iterator.cc:65
 msgid "no one to print a percent"
 msgstr ""
 
@@ -1052,137 +1898,104 @@ msgstr "a partir de la definici
 msgid "MIDI output to `%s'..."
 msgstr "Salida MIDI a `%s'..."
 
-#: phrasing-slur-engraver.cc:117
+#: phrasing-slur-engraver.cc:123
 msgid "unterminated phrasing slur"
 msgstr ""
 
-#: phrasing-slur-engraver.cc:132
+#: phrasing-slur-engraver.cc:141
 msgid "can't find start of phrasing slur"
 msgstr ""
 
-#: piano-pedal-engraver.cc:230 piano-pedal-engraver.cc:245
-#: piano-pedal-engraver.cc:300 piano-pedal-performer.cc:82
+#: piano-pedal-engraver.cc:235 piano-pedal-engraver.cc:250
+#: piano-pedal-engraver.cc:305 piano-pedal-performer.cc:82
 #, c-format
 msgid "can't find start of piano pedal: `%s'"
 msgstr ""
 
-#: piano-pedal-engraver.cc:405
+#: piano-pedal-engraver.cc:410
 #, fuzzy
 msgid "unterminated pedal bracket"
 msgstr "prolongación sin terminar"
 
-#: pitch.cc:25
-msgid "Pitch arguments out of range"
-msgstr ""
-
-#: porrectus.cc:35
-msgid "(left_head == 0)"
-msgstr ""
-
-#: porrectus.cc:46
-#, fuzzy
-msgid "undefined left_head"
-msgstr "prolongación sin terminar"
-
-#: porrectus.cc:65
-msgid "(right_head == 0)"
-msgstr ""
-
-#: porrectus.cc:76
-msgid "undefined right_head"
-msgstr ""
-
-#: porrectus.cc:96
-msgid "junking lonely porrectus"
-msgstr ""
-
-#: porrectus.cc:106
-msgid "porrectus style undefined; using mensural"
-msgstr ""
-
-#: porrectus.cc:251
-msgid "ascending vaticana style porrectus"
+#: property-iterator.cc:97
+#, c-format
+msgid "Not a grob name, `%s'."
 msgstr ""
 
-#: property-iterator.cc:64
+#: rest.cc:139
 #, c-format
-msgid "Not a grob name, `%s'."
+msgid "rest `%s' not found, "
 msgstr ""
 
-#: rest-collision.cc:186
+#: rest-collision.cc:199
 msgid "too many colliding rests"
 msgstr ""
 
-#: scm-option.cc:44
+#: scm-option.cc:45
 msgid "lilypond -e EXPR means:"
 msgstr ""
 
-#: scm-option.cc:46
+#: scm-option.cc:47
 msgid "  Evalute the Scheme EXPR before parsing any .ly files."
 msgstr ""
 
-#: scm-option.cc:48
+#: scm-option.cc:49
 msgid ""
 "  Multiple -e options may be given, they will be evaluated sequentially."
 msgstr ""
 
-#: scm-option.cc:50
+#: scm-option.cc:51
 msgid ""
 "  The function ly-set-option allows for access to some internal variables."
 msgstr ""
 
-#: scm-option.cc:52
+#: scm-option.cc:53
 msgid "Usage: lilypond -e \"(ly-set-option SYMBOL VAL)\""
 msgstr ""
 
-#: scm-option.cc:54
+#: scm-option.cc:55
 msgid "Where SYMBOL VAL pair is any of:"
 msgstr ""
 
-#: scm-option.cc:122
+#: scm-option.cc:128
 msgid "Unknown internal option!"
 msgstr ""
 
-#: score-engraver.cc:102
-#, fuzzy, c-format
-msgid "can't find `%s'"
-msgstr "no se puede encontrar: `%s'"
-
-#: score-engraver.cc:103
-msgid "Fonts have not been installed properly.  Aborting"
-msgstr ""
-
-#: score-engraver.cc:207
-#, c-format
-msgid "unbound spanner `%s'"
-msgstr ""
-
-#: score.cc:92
-#, c-format
-msgid "stack size cur %d, max %d\n"
-msgstr ""
-
-#: score.cc:109
+#: score.cc:85
 msgid "Interpreting music..."
 msgstr "Interpretación de la música..."
 
-#: score.cc:122
+#: score.cc:97
 msgid "Need music in a score"
 msgstr ""
 
 #. should we? hampers debugging.
-#: score.cc:135
+#: score.cc:111
 msgid "Errors found/*, not processing score*/"
 msgstr ""
 "Erreurs trouvées/*, pas de traitement de la feuille de musique*/ Se han "
 "encontrado errores/*, no se procesa la partitura*/"
 
-#: score.cc:142
+#: score.cc:118
 #, c-format
 msgid "elapsed time: %.2f seconds"
 msgstr ""
 
-#: script-engraver.cc:66
+#: score-engraver.cc:99
+#, fuzzy, c-format
+msgid "can't find `%s'"
+msgstr "no se puede encontrar: `%s'"
+
+#: score-engraver.cc:100
+msgid "Fonts have not been installed properly.  Aborting"
+msgstr ""
+
+#: score-engraver.cc:205
+#, c-format
+msgid "unbound spanner `%s'"
+msgstr ""
+
+#: script-engraver.cc:90
 #, c-format
 msgid "Don't know how to interpret articulation `%s'"
 msgstr "No se sabe como interpretar la articulación `%s'"
@@ -1192,30 +2005,22 @@ msgstr "No se sabe como interpretar la articulaci
 msgid "Separation_item:  I've been drinking too much"
 msgstr "Separation_item: He bebido demasiado"
 
-#: simple-spacer.cc:254
+#: simple-spacer.cc:248
 #, c-format
 msgid "No spring between column %d and next one"
 msgstr ""
 
-#: slur-engraver.cc:140
+#: slur-engraver.cc:141
 msgid "unterminated slur"
 msgstr ""
 
 #. How to shut up this warning, when Voice_devnull_engraver has
-#. eaten start request?
-#: slur-engraver.cc:157
+#. eaten start event?
+#: slur-engraver.cc:159
 msgid "can't find start of slur"
 msgstr ""
 
-#: slur.cc:53
-msgid "Putting slur over rest."
-msgstr ""
-
-#: slur.cc:424
-msgid "Slur over rest?"
-msgstr ""
-
-#: source-file.cc:65
+#: source-file.cc:67
 #, c-format
 msgid "Huh?  Got %d, expected %d characters"
 msgstr "¿Eh? Se han obtenido %d caracteres, cuando se esperaban %d"
@@ -1230,17 +2035,35 @@ msgstr ""
 msgid "#<spring smob d= %f>"
 msgstr ""
 
-#: staff-symbol.cc:62
+#: staff-symbol.cc:61
 msgid "staff symbol: indentation yields beyond end of line"
 msgstr ""
 
-#: stem-engraver.cc:117
+#: stem.cc:118
+msgid "Weird stem size; check for narrow beams"
+msgstr ""
+
+#: stem.cc:611
+#, c-format
+msgid "flag `%s' not found"
+msgstr ""
+
+#: stem.cc:624
+#, c-format
+msgid "flag stroke `%s' not found"
+msgstr ""
+
+#: stem-engraver.cc:96
+msgid "tremolo duration is too long"
+msgstr ""
+
+#: stem-engraver.cc:124
 #, c-format
 msgid "Adding note head to incompatible stem (type = %d)"
 msgstr ""
 
-#: stem.cc:118
-msgid "Weird stem size; check for narrow beams"
+#: stem-engraver.cc:125
+msgid "Don't you want polyphonic voices instead?"
 msgstr ""
 
 #: streams.cc:34
@@ -1257,29 +2080,31 @@ msgstr ""
 msgid "Element count %d."
 msgstr "Elementos contados %d."
 
-#: system.cc:377
+#: system.cc:372
 #, fuzzy, c-format
 msgid "Grob count %d "
 msgstr "Elementos contados %d"
 
-#: system.cc:391
-msgid "Calculating column positions..."
+#: system.cc:386
+#, fuzzy
+msgid "Calculating line breaks..."
 msgstr "Calculando las posiciones de las columnas"
 
-#: text-spanner-engraver.cc:92
+#: text-spanner-engraver.cc:81
 msgid "can't find start of text spanner"
 msgstr ""
 
-#: text-spanner-engraver.cc:112
+#: text-spanner-engraver.cc:95
 msgid "already have a text spanner"
 msgstr ""
 
-#: text-spanner-engraver.cc:167
+#: text-spanner-engraver.cc:164
 msgid "unterminated text spanner"
 msgstr ""
 
-#: text-spanner.cc:130
-msgid "Text_spanner too small"
+#: tfm.cc:83
+#, c-format
+msgid "can't find ascii character: %d"
 msgstr ""
 
 #. Not using ngettext's plural feature here, as this message is
@@ -1294,21 +2119,29 @@ msgstr ""
 msgid "%s: TFM file has %u parameters, which is more than the %u I can handle"
 msgstr ""
 
-#: tfm.cc:83
-#, c-format
-msgid "can't find ascii character: %d"
+#: tie-performer.cc:159
+msgid "No ties were created!"
 msgstr ""
 
-#: tie-engraver.cc:216
-msgid "lonely tie"
+#: time-scaled-music-iterator.cc:25
+msgid "no one to print a tuplet start bracket"
 msgstr ""
 
-#: tie-performer.cc:161
-msgid "No ties were created!"
+#. If there is no such symbol, we default to the numbered style.
+#. (Here really with a warning!)
+#: time-signature.cc:87
+#, c-format
+msgid "time signature symbol `%s' not found; reverting to numbered style"
 msgstr ""
 
-#: time-scaled-music-iterator.cc:25
-msgid "no one to print a tuplet start bracket"
+#.
+#. Todo: should make typecheck?
+#.
+#. OTOH, Tristan Keuris writes 8/20 in his Intermezzi.
+#.
+#: time-signature-engraver.cc:57
+#, c-format
+msgid "Found strange time signature %d/%d."
 msgstr ""
 
 #: translator-ctors.cc:53
@@ -1316,167 +2149,256 @@ msgstr ""
 msgid "unknown translator: `%s'"
 msgstr "traductor desconocido: `%s'"
 
-#: translator-def.cc:87
+#: translator-def.cc:105
 msgid "Program has no such type"
 msgstr "El programa no tiene este tipo"
 
-#: translator-def.cc:93
+#: translator-def.cc:111
 #, c-format
 msgid "Already contains: `%s'"
 msgstr "Ya contiene: `%s'"
 
-#: translator-def.cc:94
+#: translator-def.cc:112
 #, c-format
 msgid "Not adding translator: `%s'"
 msgstr "No se añade el traductor: `%s'"
 
-#: translator-def.cc:209
+#: translator-def.cc:229
 #, c-format
 msgid "can't find: `%s'"
 msgstr "no se puede encontrar: `%s'"
 
-#: translator-group.cc:159
+#: translator-group.cc:158
 #, c-format
 msgid "can't find or create `%s' called `%s'"
 msgstr "no se puede encontrar o crear `%s' llamado `%s'"
 
-#: translator-group.cc:244
+#: translator-group.cc:230
 #, c-format
 msgid "can't find or create: `%s'"
 msgstr "no se puede encontrar o crear: `%s'"
 
-#: volta-engraver.cc:111
+#: vaticana-ligature.cc:49
+msgid "ascending vaticana style flexa"
+msgstr ""
+
+#: vaticana-ligature.cc:219
+msgid "Vaticana_ligature:thickness undefined; assuming 1.4"
+msgstr ""
+
+#: vaticana-ligature.cc:233
+msgid "Vaticana_ligature:x-offset undefined; assuming 0.0"
+msgstr ""
+
+#: vaticana-ligature.cc:258
+msgid "Vaticana_ligature: (delta_pitch == 0)"
+msgstr ""
+
+#: vaticana-ligature.cc:271
+msgid "Vaticana_ligature:delta-pitch -> ignoring join"
+msgstr ""
+
+#: vaticana-ligature-engraver.cc:477
+#, c-format
+msgid "Vaticana_ligature_engraver: setting `spacing-increment = %f': ptr=%ul"
+msgstr ""
+
+#: volta-engraver.cc:112
 msgid "No volta spanner to end"
 msgstr ""
 
-#: volta-engraver.cc:121
+#: volta-engraver.cc:123
 msgid "Already have a volta spanner.  Stopping that one prematurely."
 msgstr ""
 
-#: volta-engraver.cc:125
+#: volta-engraver.cc:127
 msgid "Also have a stopped spanner.  Giving up."
 msgstr ""
 
-#: parser.yy:434
+#: parser.yy:480
 #, fuzzy
 msgid "Identifier should have alphabetic characters only"
 msgstr "El identificativo debería contener solamente caracteres alfabéticos"
 
-#: parser.yy:729
+#: parser.yy:779
 msgid "More alternatives than repeats.  Junking excess alternatives."
 msgstr ""
 
-#: parser.yy:798
+#: parser.yy:861 parser.yy:868
+msgid "\applycontext takes function argument"
+msgstr ""
+
+#: parser.yy:877
 msgid "Second argument must be a symbol"
 msgstr "El segundo argumento debe ser un símbolo"
 
-#: parser.yy:803
+#: parser.yy:882
 msgid "First argument must be a procedure taking one argument"
 msgstr ""
 
-#: parser.yy:1380
-msgid "Expecting string as script definition"
+#: parser.yy:1009
+msgid "\apply takes function argument"
 msgstr ""
 
-#: parser.yy:1390
-msgid "Can't specify direction for this request"
+#: parser.yy:1501
+msgid "Expecting string as script definition"
 msgstr ""
 
-#: parser.yy:1516
+#: parser.yy:1598
 msgid "Expecting musical-pitch value"
 msgstr ""
 
-#: parser.yy:1527
+#: parser.yy:1609
 msgid "Must have duration object"
 msgstr ""
 
-#: parser.yy:1536 parser.yy:1544
+#: parser.yy:1618 parser.yy:1626
 msgid "Have to be in Lyric mode for lyrics"
 msgstr ""
 
-#: parser.yy:1715 parser.yy:1768
+#: parser.yy:1798 parser.yy:1853
 #, c-format
 msgid "not a duration: %d"
 msgstr "no es una duración: %d"
 
-#: parser.yy:1855
+#: parser.yy:1949
 msgid "Have to be in Note mode for notes"
 msgstr ""
 
-#: parser.yy:1954
+#: parser.yy:2032
 msgid "Have to be in Chord mode for chords"
 msgstr ""
 
-#: parser.yy:2134
+#: parser.yy:2171
 msgid "need integer number arg"
 msgstr ""
 
-#: parser.yy:2206
+#: parser.yy:2316
 msgid "Suspect duration found following this beam"
 msgstr ""
 
-#: lexer.ll:178
+#: lexer.ll:186
 msgid "EOF found inside a comment"
 msgstr ""
 
-#: lexer.ll:192
+#: lexer.ll:200
 msgid "\\maininput disallowed outside init files"
 msgstr ""
 
-#: lexer.ll:216
+#: lexer.ll:224
 #, c-format
 msgid "wrong or undefined identifier: `%s'"
 msgstr "identificativo equivocado o no definido: `%s'"
 
 #. backup rule
-#: lexer.ll:225
+#: lexer.ll:233
 msgid "Missing end quote"
 msgstr ""
 
 #. backup rule
-#: lexer.ll:247 lexer.ll:251
+#: lexer.ll:255 lexer.ll:259
 msgid "white expected"
 msgstr ""
 
-#: lexer.ll:260
+#: lexer.ll:268
 msgid "Can't evaluate Scheme in safe mode"
 msgstr ""
 
-#: lexer.ll:364
+#: lexer.ll:397 lexer.ll:487
 msgid "Brace found at end of lyric.  Did you forget a space?"
 msgstr ""
 
-#: lexer.ll:480
+#: lexer.ll:574
 #, c-format
 msgid "invalid character: `%c'"
 msgstr "carácter no válido: `%c'"
 
-#: lexer.ll:566
+#: lexer.ll:651
 #, c-format
 msgid "unknown escaped string: `\\%s'"
 msgstr ""
 
-#: lexer.ll:657
+#: lexer.ll:742
 #, fuzzy, c-format
 msgid "Incorrect lilypond version: %s (%s, %s)"
 msgstr "versión de lilypond incorrecta: %s (%s, %s)"
 
-#: lexer.ll:658
+#: lexer.ll:743
 #, fuzzy
 msgid "Consider updating the input with the convert-ly script"
 msgstr ""
 "Considere la conversión de la entrada con ayuda del guión (script) convert-ly"
 
+#~ msgid "Fetch and rebuild from latest source package"
+#~ msgstr "Obtener y reconstruir a partir del último paquete fuente"
+
+#~ msgid "unpack and build in DIR [%s]"
+#~ msgstr "desempaquetar y construir en DIR [%s]"
+
+#~ msgid "execute COMMAND, subtitute:"
+#~ msgstr "ejecutar la órden de sustitución:"
+
+#~ msgid "%b: build root"
+#~ msgstr "%b: construir la raíz"
+
+#~ msgid "%n: package name"
+#~ msgstr "%n: nombre del paquete"
+
+#~ msgid "%r: release directory"
+#~ msgstr "%r: directorio de publicación"
+
+#~ msgid "%t: tarball"
+#~ msgstr "%t: tarball"
+
+#~ msgid "%v: package version"
+#~ msgstr "%v: versión del paquete"
+
+#~ msgid "keep all output, and name the directory %s"
+#~ msgstr "conservar todas las salidas, y nombrar el directorio %s"
+
+#~ msgid "upon failure notify EMAIL[,EMAIL]"
+#~ msgstr "en caso de fallo avisar por EMAIL[,EMAIL]"
+
+#~ msgid "remove previous build"
+#~ msgstr "eliminar la construcción anterior"
+
+#~ msgid "fetch and build URL [%s]"
+#~ msgstr "obtener y construir el URL [%s]"
+
+#~ msgid "Listing `%s'..."
+#~ msgstr "Listando `%s'..."
+
+#~ msgid "latest is: %s"
+#~ msgstr "el último es: %s"
+
+#~ msgid "relax, %s is up to date"
+#~ msgstr "calma, %s está al día"
+
+#~ msgid "Fetching `%s'..."
+#~ msgstr "Obteniendo `%s'..."
+
+#~ msgid "Building `%s'..."
+#~ msgstr "Construyendo `%s'..."
+
+#~ msgid "invalid subtraction: not part of chord: %s"
+#~ msgstr "sustracción no válida: no forma parte del acorde: %s"
+
+#~ msgid "invalid inversion pitch: not part of chord: %s"
+#~ msgstr "inversión de tonos no válida: no forma parte del acorde: %s"
+
+#~ msgid ", at "
+#~ msgstr ", en "
+
+#, fuzzy
+#~ msgid "undefined left_head"
+#~ msgstr "prolongación sin terminar"
+
 #~ msgid "Generate .dvi with LaTeX for LilyPond"
 #~ msgstr "Generar un fichero .dvi con la ayuda de LaTeX para LilyPond"
 
 #~ msgid "can't map file"
 #~ msgstr "no es posible producir el fichero map"
 
-#, fuzzy
-#~ msgid "use output format EXT (tex [default], pdftex, ps, scm or as)"
-#~ msgstr "utilizar el formato de salida EXT (scm, ps, tex o as) "
-
 #~ msgid "This binary was compiled with the following options:"
 #~ msgstr "Este binario fue compilado con las siguientes opciones:"
 
@@ -1485,9 +2407,6 @@ msgstr ""
 #~ "%s está lejos de estar completo. No se han reconocido todas las "
 #~ "construcciones."
 
-#~ msgid "Cleaning `%s'..."
-#~ msgstr "Limpiando `%s'..."
-
 #~ msgid "EOF in a string"
 #~ msgstr "Fin de fichero (EOF) en una cadena"
 
index 6f1862fa0af4957761b1e33e6239fb78c8de036a..2661473c704adf62f614f02301177ced061fcb64 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: lilypond 1.6.0\n"
-"POT-Creation-Date: 2002-08-18 17:05+0200\n"
+"POT-Creation-Date: 2003-07-18 14:45+0200\n"
 "PO-Revision-Date: 2002-08-26 12:00-0500\n"
 "Last-Translator: Michel Robitaille <robitail@IRO.UMontreal.CA>\n"
 "Language-Team: French <traduc@traduc.org>\n"
@@ -13,396 +13,1183 @@ msgstr ""
 "Content-Type: text/plain; charset=ISO-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: lilypond-book.py:1019 ly2dvi.py:458 ly2dvi.py:491
-#, c-format
-msgid "Running %s..."
-msgstr "Exécution de %s..."
+#. this is where special info is often stored
+#. ###############################################################
+#. lilylib.py -- options and stuff
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. ##  subst:\(^\|[^._a-z]\)\(abspath\|identify\|warranty\|progress\|warning\|error\|exit\|getopt_args\|option_help_str\|options_help_str\|help\|setup_temp\|read_pipe\|system\|cleanup_temp\|strip_extension\|cp_to_dir\|mkdir_p\|init\) *(
+#. ##  replace:\1ly.\2 (
+#. ## subst: \(help_summary\|keep_temp_dir_p\|option_definitions\|original_dir\|program_name\|pseudo_filter_p\|temp_dir\|verbose_p\)
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. lilylib globals
+#: lilylib.py:60
+msgid "lilylib module"
+msgstr ""
 
-#: ly2dvi.py:118
-msgid "Distributed under terms of the GNU General Public License.  It comes with NO WARRANTY."
-msgstr "Distribué selon les termes de la GNU General Public License.  Le logiciel est fourni sans GARANTIE."
+#: lilylib.py:63 lilypond-book.py:131 ly2dvi.py:128 midi2ly.py:100
+#: mup2ly.py:75 main.cc:111
+msgid "this help"
+msgstr "cette aide"
 
-#: ly2dvi.py:125 midi2ly.py:148 mup2ly.py:143 update-lily.py:137 input.cc:87
+#. ###############################################################
+#. Handle bug in Python 1.6-2.1
+#.
+#. there are recursion limits for some patterns in Python 1.6 til 2.1.
+#. fix this by importing pre instead. Fix by Mats.
+#. Attempt to fix problems with limited stack size set by Python!
+#. Sets unlimited stack size. Note that the resource module only
+#. is available on UNIX.
+#: lilylib.py:114 midi2ly.py:136 mup2ly.py:130 main.cc:188 main.cc:200
+#, c-format, python-format
+msgid "Copyright (c) %s by"
+msgstr "Copyright (c) %s écrit par"
+
+#: lilylib.py:114
+msgid " 1998--2003"
+msgstr ""
+
+#: lilylib.py:118
+#, fuzzy
+msgid "Distributed under terms of the GNU General Public License."
+msgstr ""
+"Distribué selon les termes de la GNU General Public License.  Le logiciel "
+"est fourni sans GARANTIE."
+
+#: lilylib.py:120
+msgid "It comes with NO WARRANTY."
+msgstr ""
+
+#: lilylib.py:127 midi2ly.py:150 mup2ly.py:144 input.cc:88
 msgid "warning: "
 msgstr "AVERTISSEMENT: "
 
-#: ly2dvi.py:128 ly2dvi.py:143 midi2ly.py:163 midi2ly.py:1012 midi2ly.py:1081
-#: mup2ly.py:146 mup2ly.py:160 update-lily.py:152 update-lily.py:458
-#: input.cc:92
+#. lots of midi files use plain text for lyric events
+#. FIXME: read from stdin when files[0] = '-'
+#: lilylib.py:130 midi2ly.py:165 midi2ly.py:1018 midi2ly.py:1083 mup2ly.py:147
+#: mup2ly.py:161 input.cc:93
 msgid "error: "
 msgstr "Erreur: "
 
-#: ly2dvi.py:144 midi2ly.py:164 mup2ly.py:161 update-lily.py:153
-msgid "Exiting ... "
+#: lilylib.py:134
+#, fuzzy, python-format
+msgid "Exiting (%d)..."
 msgstr "Fin d'exécution... "
 
-#: ly2dvi.py:202 midi2ly.py:222 mup2ly.py:219 update-lily.py:211
-#, c-format
+#: lilylib.py:194 midi2ly.py:224 mup2ly.py:220
+#, python-format
 msgid "Usage: %s [OPTION]... FILE"
 msgstr "Usage: %s [OPTION]... FICHIER"
 
-#: ly2dvi.py:206 midi2ly.py:226 mup2ly.py:223 update-lily.py:215 main.cc:166
+#: lilylib.py:198 midi2ly.py:228 mup2ly.py:224 main.cc:166
 msgid "Options:"
 msgstr "Options:"
 
-#: ly2dvi.py:210 midi2ly.py:230 mup2ly.py:227 update-lily.py:219 main.cc:172
-#, c-format
+#: lilylib.py:202 midi2ly.py:232 mup2ly.py:228 main.cc:172
+#, c-format, python-format
 msgid "Report bugs to %s"
 msgstr "Rapporter toutes anomalies à %s"
 
-#: ly2dvi.py:238 midi2ly.py:258 mup2ly.py:255 update-lily.py:247
-#, c-format
+#: lilylib.py:228
+#, fuzzy, python-format
+msgid "Opening pipe `%s'"
+msgstr "Nettoyage de « %s »..."
+
+#. successful pipe close returns 'None'
+#: lilylib.py:240
+#, python-format
+msgid "`%s' failed (%d)"
+msgstr ""
+
+#: lilylib.py:242 lilylib.py:289 lilypond-book.py:231 ly2dvi.py:512
+msgid "The error log is as follows:"
+msgstr "Le journal d'erreurs est comme suit:"
+
+#: lilylib.py:262 midi2ly.py:260 mup2ly.py:256
+#, python-format
 msgid "Invoking `%s'"
 msgstr "Invocation de « %s »"
 
-#: ly2dvi.py:243 midi2ly.py:262 mup2ly.py:260 update-lily.py:251
-#, c-format
-msgid "command exited with value %d"
-msgstr "fin de la commande avec l'état %d"
+#: lilylib.py:264
+#, python-format
+msgid "Running %s..."
+msgstr "Exécution de %s..."
 
-#: ly2dvi.py:246 midi2ly.py:264 mup2ly.py:263 update-lily.py:253
+#: lilylib.py:282
+#, python-format
+msgid "`%s' failed (%s)"
+msgstr ""
+
+#: lilylib.py:285 midi2ly.py:266 mup2ly.py:264
 msgid "(ignored)"
 msgstr "(ignoré)"
 
-#: ly2dvi.py:256 midi2ly.py:274 mup2ly.py:273 update-lily.py:263
-#, c-format
+#: lilylib.py:299 midi2ly.py:276 mup2ly.py:274
+#, python-format
 msgid "Cleaning %s..."
 msgstr "Nettoyage de %s..."
 
-#: ly2dvi.py:330
-msgid "Run LilyPond using LaTeX for titling"
-msgstr "Exécuter LilyPond en utilisant LaTeX pour le « titling »"
+#. Duh.  Python style portable: cp *.EXT OUTDIR
+#. system ('cp *.%s %s' % (ext, outdir), 1)
+#. Python < 1.5.2 compatibility
+#.
+#. On most platforms, this is equivalent to
+#. `normpath(join(os.getcwd()), PATH)'.  *Added in Python version 1.5.2*
+#. tex needs lots of memory, more than it gets by default on Debian
+#. TODO: * prevent multiple addition.
+#. * clean TEXINPUTS, MFINPUTS, TFMFONTS,
+#. as these take prevalence over $TEXMF
+#. and thus may break tex run?
+#. $TEXMF is special, previous value is already taken care of
+#. # -sOutputFile does not work with bbox?
+#. # todo:
+#. # have better algorithm for deciding when to crop page,
+#. # and when to show full page
+#: lilylib.py:458
+msgid "Removing output file"
+msgstr ""
+
+#. !@PYTHON@
+#. once upon a rainy monday afternoon.
+#.
+#. ...
+#.
+#. (not finished.)
+#. ABC standard v1.6:  http://www.gre.ac.uk/~c.walshaw/abc2mtex/abc.txt
+#.
+#. Enhancements  (Roy R. Rankin)
+#.
+#. Header section moved to top of lilypond file
+#. handle treble, treble-8, alto, and bass clef
+#. Handle voices (V: headers) with clef and part names, multiple voices
+#. Handle w: lyrics with multiple verses
+#. Handle key mode names for minor, major, phrygian, ionian, locrian, aeolian,
+#. mixolydian, lydian, dorian
+#. Handle part names from V: header
+#. Tuplets handling fixed up
+#. Lines starting with |: not discarded as header lines
+#. Multiple T: and C: header entries handled
+#. Accidental maintained until next bar check
+#. Silent rests supported
+#. articulations fermata, upbow, downbow, ltoe, accent, tenuto supported
+#. Chord strings([-^]"string") can contain a '#'
+#. Header fields enclosed by [] in notes string processed
+#. W: words output after tune as abc2ps does it (they failed before)
+#. Enhancements (Laura Conrad)
+#.
+#. Barring now preserved between ABC and lilypond
+#. the default placement for text in abc is above the staff.
+#. %%LY now supported.
+#. \breve and \longa supported.
+#. M:none doesn't crash lily.
+#. Limitations
+#.
+#. Multiple tunes in single file not supported
+#. Blank T: header lines should write score and open a new score
+#. Not all header fields supported
+#. ABC line breaks are ignored
+#. Block comments generate error and are ignored
+#. Postscript commands are ignored
+#. lyrics not resynchronized by line breaks (lyrics must fully match notes)
+#. %%LY slyrics can't be directly before a w: line.
+#. ???
+#. TODO:
+#.
+#. Convert to new chord styles.
+#.
+#. UNDEF -> None
+#.
+#. uGUHGUHGHGUGH
+#. UGH
+#. treble8 is used by abctab2ps; -8va is used by barfly,
+#. and by my patch to abc2ps. If there's ever a standard
+#. about this we'll support that.
+#. find keywork
+#. assume that Q takes the form "Q:1/4=120"
+#. There are other possibilities, but they are deprecated
+#. outf.write ("\t\t\\consists Staff_margin_engraver\n")
+#. pitch manipulation. Tuples are (name, alteration).
+#. 0 is (central) C. Alteration -1 is a flat, Alteration +1 is a sharp
+#. pitch in semitones.
+#. abc to lilypond key mode names
+#. semitone shifts for key mode names
+#. latex does not like naked #'s
+#. latex does not like naked "'s
+#. break lyrics to words and put "'s around words containing numbers and '"'s
+#. escape "
+#. _ causes probs inside ""
+#. _ to ' _ '
+#. split words with -
+#. unless \-
+#. ~ to space('_')
+#. * to to space
+#. latex does not like naked #'s
+#. put numbers and " and ( into quoted string
+#. insure space between lines
+#. title
+#. strip trailing blanks
+#. Meter
+#. KEY
+#. seperate clef info
+#. there may or may not be a space
+#. between the key letter and the mode
+#. ugh.
+#. ugh.
+#. Notes
+#. Origin
+#. Reference Number
+#. Area
+#. History
+#. Book
+#. Composer
+#. Default note length
+#. Voice
+#. Words
+#. vocals
+#. tempo
+#. we use in this order specified accidental, active accidental for bar,
+#. active accidental for key
+#. (num /  den)  / defaultlen < 1/base
+#. return (str, num,den,dots)
+#. ignore slide
+#. ignore roll
+#. s7m2 input doesnt care about spaces
+#.
+#. remember accidental for rest of bar
+#.
+#. get accidental set in this bar or UNDEF if not set
+#. WAT IS ABC EEN ONTZETTENDE PROGRAMMEERPOEP  !
+#. failed; not a note!
+#. escape '#'s
+#.
+#. |] thin-thick double bar line
+#. || thin-thin double bar line
+#. [| thick-thin double bar line
+#. :| left repeat
+#. |: right repeat
+#. :: left-right repeat
+#. |1 volta 1
+#. |2 volta 2
+#. first try the longer one
+#. bracket escape
+#. the nobarlines option is necessary for an abc to lilypond translator for
+#. exactly the same reason abc2midi needs it: abc requires the user to enter
+#. the note that will be printed, and MIDI and lilypond expect entry of the
+#. pitch that will be played.
+#.
+#. In standard 19th century musical notation, the algorithm for translating
+#. between printed note and pitch involves using the barlines to determine
+#. the scope of the accidentals.
+#.
+#. Since ABC is frequently used for music in styles that do not use this
+#. convention, such as most music written before 1700, or ethnic music in
+#. non-western scales, it is necessary to be able to tell a translator that
+#. the barlines should not affect its interpretation of the pitch.
+#. write other kinds of appending  if we ever need them.
+#. add comments to current voice
+#. Try nibbling characters off until the line doesn't change.
+#. dump_global (outf)
+#. !@PYTHON@
+#.
+#. convert-ly.py -- Update old LilyPond input files (fix name?)
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. TODO
+#. use -f and -t for -s output
+#. NEWS
+#. 0.2
+#. - rewrite in python
+#. Did we ever have \mudela-version?  I doubt it.
+#. lilypond_version_re_str = '\\\\version *\"(.*)\"'
+#. ###########################
+#. need new a namespace
+#. raise FatalConversionError()
+#. need new a namespace
+#. harmful to current .lys
+#. str = re.sub ('\\\\key([^;]+);', '\\\\accidentals \\1;', str)
+#. raise FatalConversionError()
+#. raise FatalConversionError()
+#. raise FatalConversionError()
+#. TODO: lots of other syntax change should be done here as well
+#. Ugh, but meaning of \stemup changed too
+#. maybe we should do \stemup -> \stemUp\slurUp\tieUp ?
+#. I don't know exactly when these happened...
+#. ugh, we loose context setting here...
+#. (lacks capitalisation slur -> Slur)
+#. # dynamic..
+#. TODO: add lots of these
+#. ugh
+#. old fix
+#. Make sure groups of more than one ; have space before
+#. them, so that non of them gets removed by next rule
+#. Only remove ; that are not after spaces, # or ;
+#. Otherwise  we interfere with Scheme comments,
+#. which is badbadbad.
+#. 40 ?
+#. ###############################
+#. END OF CONVERSIONS
+#. ###############################
+#. !@PYTHON@
+#. info mostly taken from looking at files. See also
+#. http://lilypond.org/wiki/?EnigmaTransportFormat
+#. This supports
+#.
+#. * notes
+#. * rests
+#. * ties
+#. * slurs
+#. * lyrics
+#. * articulation
+#. * grace notes
+#. * tuplets
+#.
+#. todo:
+#. * slur/stem directions
+#. * voices (2nd half of frame?)
+#. * more intelligent lyrics
+#. * beams (better use autobeam?)
+#. * more robust: try entertainer.etf (freenote)
+#. * dynamics
+#. * empty measures (eg. twopt03.etf from freenote)
+#.
+#. uGUHGUHGHGUGH
+#. notename 0 == central C
+#. represent pitches as (notename, alteration), relative to C-major scale
+#. a fifth up
+#. should cache this.
+#. flag1 isn't all that interesting.
+#. 3: '>',
+#. 18: '\arpeggio' ,
+#. do grace notes.
+#. ugh.
+#. we don't attempt voltas since they fail easily.
+#. and g.repeat_bar == '|:' or g.repeat_bar == ':|:' or g.bracket:
+#. 4 layers.
+#. let's not do this: this really confuses when eE happens to be before  a ^text.
+#. if last_tag and last_indices:
+#. etf_file_dict[last_tag][last_indices].append (l)
+#. # do it
+#. staff-spec
+#. should use \addlyrics ?
+#. !@PYTHON@
+#. vim: set noexpandtab:
+#. This is was the idea for handling of comments:
+#. Multiline comments, @ignore .. @end ignore is scanned for
+#. in read_doc_file, and the chunks are marked as 'ignore', so
+#. lilypond-book will not touch them any more. The content of the
+#. chunks are written to the output file. Also 'include' and 'input'
+#. regex has to check if they are commented out.
+#.
+#. Then it is scanned for 'lilypond', 'lilypond-file' and 'lilypond-block'.
+#. These three regex's has to check if they are on a commented line,
+#. % for latex, @c for texinfo.
+#.
+#. Then lines that are commented out with % (latex) and @c (Texinfo)
+#. are put into chunks marked 'ignore'. This cannot be done before
+#. searching for the lilypond-blocks because % is also the comment character
+#. for lilypond.
+#.
+#. The the rest of the rexeces are searched for. They don't have to test
+#. if they are on a commented out line.
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. if __name__ == '__main__':
+#. lilylib globals
+#. temp_dir = os.path.join (original_dir,  '%s.dir' % program_name)
+#. urg
+#. # FIXME
+#. # ly2dvi: silly name?
+#. # do -P or -p by default?
+#. #help_summary = _ ("Run LilyPond using LaTeX for titling")
+#: lilypond-book.py:120
+msgid "Process LilyPond snippets in hybrid html, LaTeX or texinfo document"
+msgstr ""
 
-#: ly2dvi.py:334 main.cc:115
-msgid "write Makefile dependencies for every input file"
-msgstr "produire les dépendances pour Makefile concernant chaque fichier d'entrée"
+#. another bug in option parser: --output=foe is taken as an abbreviation
+#. for --output-format
+#: lilypond-book.py:125 main.cc:110
+msgid "EXT"
+msgstr "EXT"
 
-#: ly2dvi.py:335 midi2ly.py:98 mup2ly.py:74 update-lily.py:87 main.cc:111
-msgid "this help"
-msgstr "cette aide"
+#: lilypond-book.py:125
+#, fuzzy
+msgid "use output format EXT (texi [default], texi-html, latex, html)"
+msgstr ""
+"utiliser le format de sortie EXT (tex (par défaut), pdftex, ps, scm ou as)"
+
+#: lilypond-book.py:126 lilypond-book.py:127 lilypond-book.py:129
+#: lilypond-book.py:130
+#, fuzzy
+msgid "DIM"
+msgstr "RÉP"
+
+#: lilypond-book.py:126
+msgid "default fontsize for music.  DIM is assumed to be in points"
+msgstr ""
+
+#: lilypond-book.py:127
+msgid "deprecated, use --default-music-fontsize"
+msgstr ""
+
+#: lilypond-book.py:128
+msgid "OPT"
+msgstr ""
 
-#: ly2dvi.py:336 main.cc:113 main.cc:118
+#: lilypond-book.py:128
+msgid "pass OPT quoted to the lilypond command line"
+msgstr ""
+
+#: lilypond-book.py:129
+msgid "force fontsize for all inline lilypond. DIM is assumed be to in points"
+msgstr ""
+
+#: lilypond-book.py:130
+msgid "deprecated, use --force-music-fontsize"
+msgstr ""
+
+#: lilypond-book.py:132 ly2dvi.py:130 main.cc:113 main.cc:118
 msgid "DIR"
 msgstr "RÉP"
 
-#: ly2dvi.py:336
+#: lilypond-book.py:132
+msgid "include path"
+msgstr ""
+
+#: lilypond-book.py:133
+#, fuzzy
+msgid "write dependencies"
+msgstr "ajouter en préfixe le RÉPERTOIRE aux dépendances"
+
+#: lilypond-book.py:134
+msgid "PREF"
+msgstr ""
+
+#: lilypond-book.py:134
+#, fuzzy
+msgid "prepend PREF before each -M dependency"
+msgstr "ajouter en préfixe le RÉPERTOIRE aux dépendances"
+
+#: lilypond-book.py:135
+#, fuzzy
+msgid "don't run lilypond"
+msgstr "ne pas exécuter LilyPond"
+
+#: lilypond-book.py:136
+msgid "don't generate pictures"
+msgstr ""
+
+#: lilypond-book.py:137
+msgid "strip all lilypond blocks from output"
+msgstr ""
+
+#: lilypond-book.py:138 lilypond-book.py:139 ly2dvi.py:135 ly2dvi.py:136
+#: midi2ly.py:102 main.cc:114 main.cc:117
+msgid "FILE"
+msgstr "FICHIER"
+
+#: lilypond-book.py:138
+#, fuzzy
+msgid "filename main output file"
+msgstr "Échec de LaTex sur le fichier de sortie."
+
+#: lilypond-book.py:139
+msgid "where to place generated files"
+msgstr ""
+
+#: lilypond-book.py:140 ly2dvi.py:137
+msgid "RES"
+msgstr ""
+
+#: lilypond-book.py:141 ly2dvi.py:138
+msgid "set the resolution of the preview to RES"
+msgstr "utiliser la RÉSOLUTION pour la prévisualitation"
+
+#: lilypond-book.py:142 ly2dvi.py:148 midi2ly.py:105 mup2ly.py:78 main.cc:126
+msgid "verbose"
+msgstr "mode explicatif"
+
+#: lilypond-book.py:143
+#, fuzzy
+msgid "print version information"
+msgstr "afficher le numéro de version"
+
+#: lilypond-book.py:144 ly2dvi.py:150 midi2ly.py:107 mup2ly.py:80 main.cc:127
+msgid "show warranty and copyright"
+msgstr "afficher la notice de garantie et du droit d'auteur"
+
+#. format specific strings, ie. regex-es for input, and % strings for output
+#. global variables
+#. lilypond_binary = 'valgrind --suppressions=/home/hanwen/usr/src/guile-1.6.supp  --num-callers=10 /home/hanwen/usr/src/lilypond/lily/out/lilypond'
+#. only use installed binary  when we're installed too.
+#. only use installed binary  when we're installed too.
+#. ###############################################################
+#. Dimension handling for LaTeX.
+#.
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#: lilypond-book.py:230
+msgid "LaTeX failed."
+msgstr ""
+
+#. URG see ly2dvi
+#. Convert numeric values, with or without specific dimension, to floats.
+#. Keep other strings
+#. ###############################################################
+#. How to output various structures.
+#. # maybe <hr> ?
+#. Verbatim text is always finished with \n.  FIXME: For HTML,
+#. this newline should be removed.
+#. Verbatim text is always finished with \n.  FIXME: For HTML,
+#. this newline should be removed.
+#. # Ugh we need to differentiate on origin:
+#. # lilypond-block origin wants an extra <p>, but
+#. # inline music doesn't.
+#. # possibly other center options?
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. do some tweaking: @ is needed in some ps stuff.
+#.
+#. ugh, the <p> below breaks inline images...
+#. clumsy workaround for python 2.2 pre bug.
+#. ###############################################################
+#. Recognize special sequences in the input
+#. Warning: This uses extended regular expressions.  Tread with care.
+#.
+#. legenda
+#.
+#. (?P<name>regex) -- assign result of REGEX to NAME
+#. *? -- match non-greedily.
+#. (?m) -- multiline regex: make ^ and $ match at each line
+#. (?s) -- make the dot match all characters including newline
+#. why do we have distinction between @mbinclude and @include?
+#. # we'd like to catch and reraise a more
+#. # detailed error, but alas, the exceptions
+#. # changed across the 1.5/2.1 boundary.
+#. ughUGH not original options
+#. First we want to scan the \documentclass line
+#. it should be the first non-comment line.
+#. The only thing we really need to know about the \documentclass line
+#. is if there are one or two columns to begin with.
+#. Then we add everything before \begin{document} to
+#. paperguru.m_document_preamble so that we can later write this header
+#. to a temporary file in find_latex_dims() to find textwidth.
+#. this is not bulletproof..., it checks the first 10 chunks
+#. newchunks.extend (func (m))
+#. python 1.5 compatible:
+#. we have to check for verbatim before doing include,
+#. because we don't want to include files that are mentioned
+#. inside a verbatim environment
+#. ugh fix input
+#. # Hmm, we should hash only lilypond source, and skip the
+#. # %options are ...
+#. # comment line
+#. # todo: include path, but strip
+#. # first part of the path.
+#. format == 'html'
+#. ugh rename
+#. Count sections/chapters.
+#. # TODO: do something like
+#. # this for texinfo/latex as well ?
+#. ugh
+#. fixme: be sys-independent.
+#.
+#. Ugh, fixing up dependencies for .tex generation
+#.
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#. # There used to be code to write .tex dependencies, but
+#. # that is silly: lilypond-book has its own dependency scheme
+#. # to ensure that all lily-XXX.tex files are there
+#. # TODO: put file name in front of texidoc.
+#. #
+#. # what's this? Docme --hwn
+#. #
+#. #docme: why global?
+#. Do It.
+#. should chmod -w
+#: lilypond-book.py:1557 ly2dvi.py:673 midi2ly.py:1018
+#, python-format
+msgid "getopt says: `%s'"
+msgstr "getopt() indique: « %s »"
+
+#. HACK
+#. status = os.system ('lilypond -w')
+#: lilypond-book.py:1630 ly2dvi.py:777
+msgid "no files specified on command line"
+msgstr "aucun fichier spéficié sur la ligne de commande"
+
+#.
+#. Petr, ik zou willen dat ik iets zinvoller deed,
+#. maar wat ik kan ik doen, het verandert toch niets?
+#. --hwn 20/aug/99
+#. !@PYTHON@
+#.
+#. ly2dvi.py -- Run LilyPond, add titles to bare score, generate printable
+#. document
+#. Invokes: lilypond, latex (or pdflatex), dvips, ps2pdf, gs
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. This is the third incarnation of ly2dvi.
+#.
+#. Earlier incarnations of ly2dvi were written by
+#. Jeffrey B. Reed<daboys@austin.rr.com> (Python version)
+#. Jan Arne Fagertun <Jan.A.Fagertun@@energy.sintef.no> (Bourne shell script)
+#.
+#. Note: gettext work best if we use ' for docstrings and "
+#. for gettextable strings.
+#. --> DO NOT USE ''' for docstrings.
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. if __name__ == '__main__':
+#. lilylib globals
+#. # FIXME
+#. # ly2dvi: silly name?
+#. # do -P or -p by default?
+#. #help_summary = _ ("Run LilyPond using LaTeX for titling")
+#: ly2dvi.py:121
+msgid "Run LilyPond, add titles, generate printable document"
+msgstr ""
+
+#: ly2dvi.py:127 main.cc:115
+msgid "write Makefile dependencies for every input file"
+msgstr ""
+"produire les dépendances pour Makefile concernant chaque fichier d'entrée"
+
+#: ly2dvi.py:129
+msgid "print even more output"
+msgstr ""
+
+#: ly2dvi.py:130
 msgid "add DIR to LilyPond's search path"
 msgstr "ajouter le RÉPERTOIRE au chemin de recherche de LilyPond"
 
-#: ly2dvi.py:338
-#, c-format
+#: ly2dvi.py:132
+#, python-format
 msgid "keep all output, output to directory %s.dir"
 msgstr "conserver toutes les sorties dans le répertoire %s.dir"
 
-#: ly2dvi.py:339
+#: ly2dvi.py:133
 msgid "don't run LilyPond"
 msgstr "ne pas exécuter LilyPond"
 
-#: ly2dvi.py:340 main.cc:116
+#: ly2dvi.py:134 main.cc:116
 msgid "produce MIDI output only"
 msgstr "produire une sortie MIDI seulement"
 
-#: ly2dvi.py:341 ly2dvi.py:342 midi2ly.py:100 main.cc:114 main.cc:117
-msgid "FILE"
-msgstr "FICHIER"
-
-#: ly2dvi.py:341 midi2ly.py:100
+#: ly2dvi.py:135 midi2ly.py:102
 msgid "write ouput to FILE"
 msgstr "produire la sortie dans le FICHIER"
 
-#: ly2dvi.py:342
+#: ly2dvi.py:136
 msgid "find pfa fonts used in FILE"
 msgstr "repérer les fontes pfa utilisées dans le FICHIER"
 
-#: ly2dvi.py:344
-msgid "set the resolution of the preview to RES"
-msgstr "utiliser la RÉSOLUTION pour la prévisualitation"
-
-#: ly2dvi.py:345
+#: ly2dvi.py:139
 msgid "generate PostScript output"
 msgstr "générer une sortie PostScript"
 
-#: ly2dvi.py:346
+#: ly2dvi.py:140
+msgid "generate PNG page images"
+msgstr ""
+
+#: ly2dvi.py:141
+#, fuzzy
+msgid "generate PS.GZ"
+msgstr "générer une sortie PDF"
+
+#: ly2dvi.py:142
 msgid "generate PDF output"
 msgstr "générer une sortie PDF"
 
-#: ly2dvi.py:347
+#: ly2dvi.py:143
 msgid "use pdflatex to generate a PDF output"
 msgstr "utiliser pdflatex pour générer la sortie PDF"
 
-#: ly2dvi.py:349
+#. FIXME: preview, picture; to indicate creation of a PNG?
+#: ly2dvi.py:145
 msgid "make a picture of the first system"
 msgstr "produire une image de ce premier système"
 
-#: ly2dvi.py:350
+#: ly2dvi.py:146
+msgid "make HTML file with links to all output"
+msgstr ""
+
+#: ly2dvi.py:147
 msgid "KEY=VAL"
 msgstr "CLÉ=VALEUR"
 
-#: ly2dvi.py:350
+#: ly2dvi.py:147
 msgid "change global setting KEY to VAL"
 msgstr "modifier le paramètre global de la CLÉ à VALEUR"
 
-#: ly2dvi.py:351 midi2ly.py:103 mup2ly.py:77 update-lily.py:91 main.cc:126
-msgid "verbose"
-msgstr "mode explicatif"
-
-#: ly2dvi.py:352 midi2ly.py:104 mup2ly.py:78 update-lily.py:92 main.cc:125
+#: ly2dvi.py:149 midi2ly.py:106 mup2ly.py:79 main.cc:125
 msgid "print version number"
 msgstr "afficher le numéro de version"
 
-#: ly2dvi.py:353 midi2ly.py:105 mup2ly.py:79 update-lily.py:94 main.cc:127
-msgid "show warranty and copyright"
-msgstr "afficher la notice de garantie et du droit d'auteur"
-
-#: ly2dvi.py:448
-#, c-format
+#. other globals
+#. Pdftex support
+#. # yuk.
+#. lilypond_binary = 'valgrind --suppressions=%(home)s/usr/src/guile-1.6.supp --num-callers=10 %(home)s/usr/src/lilypond/lily/out/lilypond '% { 'home' : '/home/hanwen' }
+#. only use installed binary  when we're installed too.
+#. init to empty; values here take precedence over values in the file
+#. # TODO: change name.
+#. for geometry v3
+#. Output formats that ly2dvi should create
+#. what a name.
+#. ly.warning (_ ("invalid value: %s") % `val`)
+#. ly.warning (_ ("invalid value: %s") % `val`)
+#: ly2dvi.py:232
+#, python-format
 msgid "no such setting: `%s'"
 msgstr "pas de telle configuration: « %s »"
 
-#: ly2dvi.py:508
-#, c-format
+#. 2 == user interrupt.
+#: ly2dvi.py:274
+#, python-format
 msgid "LilyPond crashed (signal %d)."
 msgstr "Lilypond a planté (signal %d)."
 
-#: ly2dvi.py:509
+#: ly2dvi.py:275
 msgid "Please submit a bug report to bug-lilypond@gnu.org"
 msgstr "SVP soumettre un rapport d'anomalies à bug-lilypond@gnu.org"
 
-#: ly2dvi.py:513
-#, c-format
-msgid "LilyPond failed on the input file (exit status %d)."
+#: ly2dvi.py:281
+#, fuzzy, python-format
+msgid "LilyPond failed on input file %s (exit status %d)"
 msgstr "Échec de Lilypond sur le fichier d'entrée (état de sortie %d)."
 
-#: ly2dvi.py:522
-#, c-format
+#: ly2dvi.py:284
+#, fuzzy, python-format
+msgid "LilyPond failed on an input file (exit status %d)"
+msgstr "Échec de Lilypond sur le fichier d'entrée (état de sortie %d)."
+
+#: ly2dvi.py:285
+#, fuzzy
+msgid "Continuing..."
+msgstr "Exécution de %s..."
+
+#. urg
+#: ly2dvi.py:296
+#, python-format
 msgid "Analyzing %s..."
 msgstr "Analyse de %s..."
 
-#: ly2dvi.py:578
-#, c-format
+#. search only the first 10k
+#: ly2dvi.py:354
+#, python-format
 msgid "no LilyPond output found for `%s'"
 msgstr "aucune sortie de Lilypond n'a été trouvée pour « %s »"
 
-#: ly2dvi.py:618
-#, c-format
+#. The final \n seems important here. It ensures that the footers and taglines end up on the right page.
+#. TODO: should set textheight (enlarge) depending on papersize.
+#: ly2dvi.py:397
+#, python-format
 msgid "invalid value: `%s'"
 msgstr "valeur invalide: « %s »"
 
-#: ly2dvi.py:724
+#. set sane geometry width (a4-width) for linewidth = -1.
+#. who the hell is 597 ?
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#: ly2dvi.py:511
 msgid "LaTeX failed on the output file."
 msgstr "Échec de LaTex sur le fichier de sortie."
 
-#: ly2dvi.py:726
-msgid "The error log is as follows:"
-msgstr "Le journal d'erreurs est comme suit:"
+#. make a preview by rendering only the 1st line
+#. of each score
+#: ly2dvi.py:568
+msgid ""
+"Trying create PDF, but no PFA fonts found.\n"
+"Using bitmap fonts instead. This will look bad."
+msgstr ""
 
-#: ly2dvi.py:849
-#, c-format
+#. ugh. Different targets?
+#. Added as functionality to ly2dvi, because ly2dvi may well need to do this
+#. in future too.
+#. no ps header?
+#: ly2dvi.py:615
+#, python-format
 msgid "not a PostScript file: `%s'"
 msgstr "n'est pas un fichier PostScript: « %s »"
 
-#: ly2dvi.py:865 midi2ly.py:1012 update-lily.py:458
-#, c-format
-msgid "getopt says: `%s'"
-msgstr "getopt() indique: « %s »"
+#. todo
+#: ly2dvi.py:660
+#, fuzzy, python-format
+msgid "Writing HTML menu `%s'"
+msgstr "Écriture de « %s »..."
 
-#: ly2dvi.py:948
+#. signal programming error
+#. Don't convert input files to abspath, rather prepend '.' to include
+#. path.
+#. As a neat trick, add directory part of first input file
+#. to include path.  That way you can do without the clumsy -I in:
+#. ly2dvi -I foe/bar/baz foo/bar/baz/baz.ly
+#: ly2dvi.py:769
 msgid "pseudo filter"
 msgstr "pseudo filtre"
 
-#: ly2dvi.py:951
+#: ly2dvi.py:772
 msgid "pseudo filter only for single input file"
 msgstr "pseudo filtre seulement pour le seul fichier d'entrée"
 
-#: ly2dvi.py:980
-#, c-format
+#. Ugh, maybe make a setup () function
+#. hmmm. Wish I'd 've written comments when I wrote this.
+#. now it looks complicated.
+#: ly2dvi.py:806
+#, python-format
 msgid "filename should not contain spaces: `%s'"
 msgstr "le nom de fichier ne peut contenir des espaces: « %s »"
 
-#: ly2dvi.py:1076 input-file-results.cc:67
-#, c-format
+#. to be sure, add tmpdir *in front* of inclusion path.
+#. os.environ['TEXINPUTS'] =  tmpdir + ':' + os.environ['TEXINPUTS']
+#. We catch all exceptions, because we need to do stuff at exit:
+#. * copy any successfully generated stuff from tempdir and
+#. notify user of that
+#. * cleanout tempdir
+#. ## ARGH. This also catches python programming errors.
+#. ## this should only catch lilypond nonzero exit  status
+#. ## --hwn
+#. TODO: friendly message about LilyPond setup/failing?
+#.
+#: ly2dvi.py:845
+msgid "Running LilyPond failed. Rerun with --verbose for a trace."
+msgstr ""
+
+#. Our LilyPond pseudo filter always outputs to 'lelie'
+#. have subsequent stages and use 'lelie' output.
+#. unless: add --tex, or --latex?
+#. TODO: friendly message about TeX/LaTeX setup,
+#. trying to run tex/latex by hand
+#: ly2dvi.py:886
+msgid "Failed to make PS file. Rerun with --verbose for a trace."
+msgstr ""
+
+#. unless: add --tex, or --latex?
+#. TODO: friendly message about TeX/LaTeX setup,
+#. trying to run tex/latex by hand
+#: ly2dvi.py:916
+msgid "Running LaTeX falied. Rerun with --verbose for a trace."
+msgstr ""
+
+#. add DEP to targets?
+#: ly2dvi.py:926 input-file-results.cc:68
+#, c-format, python-format
 msgid "dependencies output to `%s'..."
 msgstr "dépendances produites dans « %s »"
 
-#: ly2dvi.py:1090 ly2dvi.py:1104 includable-lexer.cc:49
-#: input-file-results.cc:187 input-file-results.cc:193 lily-guile.cc:97
-#, c-format
+#: ly2dvi.py:937
+#, fuzzy, python-format
+msgid "%s output to <stdout>..."
+msgstr "%s produites dans « %s »..."
+
+#: ly2dvi.py:942 ly2dvi.py:968 includable-lexer.cc:57
+#: input-file-results.cc:191 input-file-results.cc:197 lily-guile.cc:86
+#, c-format, python-format
 msgid "can't find file: `%s'"
 msgstr "ne peut repérer le fichier: « %s »"
 
-#: ly2dvi.py:1102 midi2ly.py:996
-#, c-format
-msgid "%s output to `%s'..."
+#. Hmm, if this were a function, we could call it the except: clauses
+#: ly2dvi.py:965
+#, fuzzy, python-format
+msgid "%s output to %s..."
 msgstr "%s produites dans « %s »..."
 
-#: ly2dvi.py:1111
-msgid "no files specified on command line"
-msgstr "aucun fichier spéficié sur la ligne de commande"
-
-#: midi2ly.py:92
+#. !@PYTHON@
+#.
+#. midi2ly.py -- LilyPond midi import script
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. ###############################################################
+#. Users of python modules should include this snippet.
+#.
+#. This soon to be removed for: import lilypond.lilylib as ly
+#. ###############################################################
+#. ###############################################################
+#. ############### CONSTANTS
+#. ###############################################################
+#. temp_dir = os.path.join (original_dir,  '%s.dir' % program_name)
+#. original_dir = os.getcwd ()
+#. keep_temp_dir_p = 0
+#: midi2ly.py:94
 msgid "Convert MIDI to LilyPond source"
 msgstr "Convertir de MIDI en source LilyPond"
 
-#: midi2ly.py:95
+#: midi2ly.py:97
 msgid "print absolute pitches"
 msgstr "afficher des tons absolus"
 
-#: midi2ly.py:96 midi2ly.py:101
+#: midi2ly.py:98 midi2ly.py:103
 msgid "DUR"
 msgstr "DUR"
 
-#: midi2ly.py:96
+#: midi2ly.py:98
 msgid "quantise note durations on DUR"
 msgstr "quantifier la durée de la note sur DUR"
 
-#: midi2ly.py:97
+#: midi2ly.py:99
 msgid "print explicit durations"
 msgstr "afficher les durées explicites"
 
-#: midi2ly.py:99
+#: midi2ly.py:101
 msgid "ALT[:MINOR]"
 msgstr "ALT[:MINEUR]"
 
-#: midi2ly.py:99
+#: midi2ly.py:101
 msgid "set key: ALT=+sharps|-flats; MINOR=1"
 msgstr "définir la clef: ALT=+dièse|-bémol; MINEUR=1"
 
-#: midi2ly.py:101
+#: midi2ly.py:103
 msgid "quantise note starts on DUR"
 msgstr "quantifier le début de la note sur DUR"
 
-#: midi2ly.py:102
+#: midi2ly.py:104
 msgid "DUR*NUM/DEN"
 msgstr "DUR*NUM/DEN"
 
-#: midi2ly.py:102
+#: midi2ly.py:104
 msgid "allow tuplet durations DUR*NUM/DEN"
 msgstr "permettre un tuplet de durées DUR*NUM/DEN"
 
-#: midi2ly.py:106
+#: midi2ly.py:108
 msgid "treat every text as a lyric"
 msgstr "traiter chaque texte comme des paroles"
 
-#: midi2ly.py:1027
+#: midi2ly.py:136 mup2ly.py:130
+msgid " 2001--2003"
+msgstr ""
+
+#: midi2ly.py:141 mup2ly.py:135
+#, fuzzy
+msgid ""
+"\n"
+"Distributed under terms of the GNU General Public License. It comes with\n"
+"NO WARRANTY."
+msgstr ""
+"Distribué selon les termes de la GNU General Public License.  Le logiciel "
+"est fourni sans GARANTIE."
+
+#: midi2ly.py:166 mup2ly.py:162
+msgid "Exiting ... "
+msgstr "Fin d'exécution... "
+
+#: midi2ly.py:264 mup2ly.py:261
+#, python-format
+msgid "command exited with value %d"
+msgstr "fin de la commande avec l'état %d"
+
+#. ###############################################################
+#. END Library
+#. ###############################################################
+#. hmm
+#. major scale: do-do
+#. minor scale: la-la  (= + 5) '''
+#. By tradition, all scales now consist of a sequence
+#. of 7 notes each with a distinct name, from amongst
+#. a b c d e f g.  But, minor scales have a wide
+#. second interval at the top - the 'leading note' is
+#. sharped. (Why? it just works that way! Anything
+#. else doesn't sound as good and isn't as flexible at
+#. saying things. In medieval times, scales only had 6
+#. notes to avoid this problem - the hexachords.)
+#. So, the d minor scale is d e f g a b-flat c-sharp d
+#. - using d-flat for the leading note would skip the
+#. name c and duplicate the name d.  Why isn't c-sharp
+#. put in the key signature? Tradition. (It's also
+#. supposedly based on the Pythagorean theory of the
+#. cycle of fifths, but that really only applies to
+#. major scales...)  Anyway, g minor is g a b-flat c d
+#. e-flat f-sharp g, and all the other flat minor keys
+#. end up with a natural leading note. And there you
+#. have it.
+#. John Sankey <bf250@freenet.carleton.ca>
+#.
+#. Let's also do a-minor: a b c d e f gis a
+#.
+#. --jcn
+#. as -> gis
+#. des -> cis
+#. ges -> fis
+#. g -> fisis
+#. d -> cisis
+#. a -> gisis
+#. b -> ces
+#. e -> fes
+#. f -> eis
+#. c -> bis
+#. # FIXME: compile fix --jcn
+#. TODO: move space
+#. fis cis gis dis ais eis bis
+#. bes es as des ges ces fes
+#. urg, we should be sure that we're in a lyrics staff
+#. all include ALL_NOTES_OFF
+#. ugh, must set key while parsing
+#. because Note init uses key
+#. Better do Note.calc () at dump time?
+#. last_lyric.clocks = t - last_time
+#. hmm
+#. urg, this will barf at meter changes
+#. urg LilyPond doesn't start at c4, but
+#. remembers from previous tracks!
+#. reference_note = Note (clocks_per_4, 4*12, 0)
+#. must be in \notes mode for parsing \skip
+#: midi2ly.py:1002
+#, python-format
+msgid "%s output to `%s'..."
+msgstr "%s produites dans « %s »..."
+
+#: midi2ly.py:1033
 msgid "Example:"
 msgstr "Exemple:"
 
-#: midi2ly.py:1081
+#: midi2ly.py:1083
 msgid "no files specified on command line."
 msgstr "aucun fichier spéficié sur la ligne de commande."
 
-#: mup2ly.py:69
+#. !@PYTHON@
+#. mup2ly.py -- mup input converter
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c) 2001
+#. if set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#: mup2ly.py:70
 msgid "Convert mup to LilyPond source"
 msgstr "Conversion de mup en source LilyPond"
 
-#: mup2ly.py:72
+#: mup2ly.py:73
 msgid "debug"
 msgstr "débug"
 
-#: mup2ly.py:73
+#: mup2ly.py:74
 msgid "define macro NAME [optional expansion EXP]"
 msgstr "définit la macro NOM [EXPRESSION contient les options étendues]"
 
-#: mup2ly.py:75 main.cc:117
+#: mup2ly.py:76 main.cc:117
 msgid "write output to FILE"
 msgstr "produire la sortie dans le FICHIER"
 
-#: mup2ly.py:76
+#: mup2ly.py:77
 msgid "only pre-process"
 msgstr "pré-traitement seulement"
 
-#: mup2ly.py:1073
-#, c-format
+#. Duh.  Python style portable: cp *.EXT OUTDIR
+#. system ('cp *.%s %s' % (ext, outdir), 1)
+#. Python < 1.5.2 compatibility
+#.
+#. On most platforms, this is equivalent to
+#. `normpath(join(os.getcwd()), PATH)'.  *Added in Python version 1.5.2*
+#. if set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. ###############################################################
+#. END Library
+#.
+#. PMX cut and paste
+#.
+#. if not self.entries:
+#. #return '\n'
+#. #ugh ugh
+#. return '\n%s = {}\n\n' % self.idstring ()
+#. ugh
+#. def set_clef (self, letter):
+#. clstr = clef_table[letter]
+#. self.voices[0].add_nonchord (Clef (clstr))
+#. urg
+#. maybe use import copy?
+#. for i in self.pitches:
+#. ch.pitches.append (i)
+#. for i in self.scripts:
+#. ch.scripts.append (i)
+#. http://www.arkkra.com/doc/uguide/contexts.html
+#. #self.current_staffs = []
+#. duh
+#. FIXME: 1?
+#. FIXME: does key play any role in this?
+#. ch = self.current_voices[0].last_chord ()
+#. ch.basic_duration = self.current_voices[0].last_chord ().basic_duration
+#. ugh
+#. ch = self.current_voices[0].last_chord ()
+#. `;' is not a separator, chords end with ';'
+#. mup resets default duration and pitch each bar
+#. ugh: these (and lots more) should also be parsed in
+#. context staff.  we should have a class Staff_properties
+#. and parse/set all those.
+#. shortcut: set to official mup maximum (duh)
+#. self.set_staffs (40)
+#: mup2ly.py:1076
+#, python-format
 msgid "no such context: %s"
 msgstr "pas de tel contexte: %s"
 
-#: mup2ly.py:1297
-#, c-format
+#. hmm
+#. dig this: mup allows ifdefs inside macro bodies
+#. don't do nested multi-line defines
+#. duh: mup is strictly line-based, except for `define',
+#. which is `@' terminated and may span several lines
+#. don't define new macros in unactive areas
+#. To support nested multi-line define's
+#. process_function and macro_name, macro_body
+#. should become lists (stacks)
+#. The mup manual is undetermined on this
+#. and I haven't seen examples doing it.
+#.
+#. don't do nested multi-line define's
+#. writes to stdout for help2man
+#. don't call
+#. identify ()
+#. sys.stdout.flush ()
+#. handy emacs testing
+#. if not files:
+#. files = ['template.mup']
+#: mup2ly.py:1300
+#, python-format
 msgid "Processing `%s'..."
 msgstr "Traitement de « %s »..."
 
-#: mup2ly.py:1316
-#, c-format
+#: mup2ly.py:1319
+#, python-format
 msgid "Writing `%s'..."
 msgstr "Écriture de « %s »..."
 
-#: update-lily.py:76
-msgid "Fetch and rebuild from latest source package"
-msgstr "Repérer et reconstruire depuis les sources du dernier package"
-
-#: update-lily.py:79
-#, c-format
-msgid "unpack and build in DIR [%s]"
-msgstr "dépaqueter et construire dans le RÉPERTOIRE [%s]"
-
-#: update-lily.py:80
-msgid "execute COMMAND, subtitute:"
-msgstr "exécuter la COMMANDE de substitution:"
-
-#: update-lily.py:81
-msgid "%b: build root"
-msgstr "%b: construit la racine"
-
-#: update-lily.py:82
-#, c-format
-msgid "%n: package name"
-msgstr "%n: nom du package"
-
-#: update-lily.py:83
-msgid "%r: release directory"
-msgstr "%r: répertoire de production de version"
-
-#: update-lily.py:84
-msgid "%t: tarball"
-msgstr "%t: tarball"
-
-#: update-lily.py:85
-msgid "%v: package version"
-msgstr "%v: version du package"
-
-#: update-lily.py:88
-#, c-format
-msgid "keep all output, and name the directory %s"
-msgstr "conserver toutes les sorties et nommer le répertoire %s"
-
-#: update-lily.py:89
-msgid "upon failure notify EMAIL[,EMAIL]"
-msgstr "lors d'un échec aviser par EMAIL[,EMAIL]"
-
-#: update-lily.py:90
-msgid "remove previous build"
-msgstr "enlever la construction précédente"
-
-#: update-lily.py:93
-#, c-format
-msgid "fetch and build URL [%s]"
-msgstr "rechercher et construire le URL [%s]"
-
-#: update-lily.py:429
-#, c-format
-msgid "Listing `%s'..."
-msgstr "Listage de « %s »..."
-
-#: update-lily.py:497
-#, c-format
-msgid "latest is: %s"
-msgstr "le plus à jour est: %s"
-
-#: update-lily.py:498
-#, c-format
-msgid "relax, %s is up to date"
-msgstr "relaxer, %s est à jour"
-
-#: update-lily.py:507 update-lily.py:520
-#, c-format
-msgid "Fetching `%s'..."
-msgstr "Recherche de « %s »..."
-
-#: update-lily.py:529
-#, c-format
-msgid "Building `%s'..."
-msgstr "Construction de « %s »..."
-
 #: getopt-long.cc:146
 #, c-format
 msgid "option `%s' requires an argument"
@@ -423,52 +1210,58 @@ msgstr "option non reconnue: 
 msgid "invalid argument `%s' to option `%s'"
 msgstr "argument invalide « %s » pour l'option « %s »"
 
-#: warn.cc:24
+#: warn.cc:25
 #, c-format
 msgid "warning: %s\n"
 msgstr "AVERTISSEMENT: %s\n"
 
-#: warn.cc:30
+#: warn.cc:31
 #, c-format
 msgid "error: %s\n"
 msgstr "Erreur: %s\n"
 
-#: warn.cc:43
+#: warn.cc:44
 #, c-format
 msgid "programming error: %s (Continuing; cross thumbs)\n"
 msgstr "Erreur de programmation: %s (Poursuite; croisons les doigts)\n"
 
-#: accidental-engraver.cc:181 new-accidental-engraver.cc:237
+#: accidental.cc:202 key-signature-interface.cc:137
+#, c-format
+msgid "accidental `%s' not found"
+msgstr ""
+
+#: accidental-engraver.cc:171 new-accidental-engraver.cc:238
 #, c-format
 msgid "Accidental typesetting list must begin with context-name: %s"
-msgstr "Liste de mise en page accidentelle doit débuter avec un nom de contexte: %s"
+msgstr ""
+"Liste de mise en page accidentelle doit débuter avec un nom de contexte: %s"
 
-#: accidental-engraver.cc:206 new-accidental-engraver.cc:262
+#: accidental-engraver.cc:196 new-accidental-engraver.cc:263
 #, c-format
 msgid "unknown accidental typesetting: %s. Ignored"
 msgstr "mise en page accidentelle inconnue: %s. Ignorée"
 
-#: accidental-engraver.cc:222 new-accidental-engraver.cc:278
+#: accidental-engraver.cc:212 new-accidental-engraver.cc:279
 #, c-format
 msgid "Symbol is not a parent context: %s. Ignored"
 msgstr "Symbole n'est pas un contexte parent: %s. Ignoré"
 
-#: accidental-engraver.cc:225 new-accidental-engraver.cc:281
+#: accidental-engraver.cc:215 new-accidental-engraver.cc:282
 #, c-format
 msgid "Accidental typesetting must be pair or context-name: %s"
 msgstr "Mise en page accidentelle doit être pair ou un nom de contexte: %s"
 
-#: afm.cc:60
+#: afm.cc:66
 #, c-format
 msgid "can't find character number: %d"
 msgstr "ne peut repérer le nombre de caractères: %d"
 
-#: afm.cc:75
+#: afm.cc:81
 #, c-format
 msgid "can't find character called: `%s'"
 msgstr "ne peut repérer le caractère portant le nom: « %s »"
 
-#: afm.cc:125
+#: afm.cc:142
 #, c-format
 msgid "Error parsing AFM file: `%s'"
 msgstr "Erreur d'analyse syntaxique du fichier AFM: « %s »"
@@ -484,75 +1277,89 @@ msgid "does not match: `%s'"
 msgstr "ne concorde pas: « %s »"
 
 #: all-font-metrics.cc:102
-msgid " Rebuild all .afm files, and remove all .pk and .tfm files.  Rerun with -V to show font paths."
-msgstr " Reconstruire tous les fichiers .afm et enlever tous les fichiers .pk et .tfm. Ré-exécuter avec l'option -V pour afficher les chemins vers les fontes"
+msgid ""
+" Rebuild all .afm files, and remove all .pk and .tfm files.  Rerun with -V "
+"to show font paths."
+msgstr ""
+" Reconstruire tous les fichiers .afm et enlever tous les fichiers .pk et ."
+"tfm. Ré-exécuter avec l'option -V pour afficher les chemins vers les fontes"
 
-#: all-font-metrics.cc:167
+#: all-font-metrics.cc:103
+msgid ""
+"A script for removing font-files is delivered with the source-code,\n"
+"in buildscripts/clean-fonts.sh"
+msgstr ""
+
+#: all-font-metrics.cc:169
 #, c-format
 msgid "can't find font: `%s'"
 msgstr "ne peut repérer la fonte: « %s »"
 
-#: all-font-metrics.cc:168
+#: all-font-metrics.cc:170
 msgid "Loading default font"
 msgstr "Chargement de la fonte par défaut"
 
-#: all-font-metrics.cc:183
+#: all-font-metrics.cc:185
 #, c-format
 msgid "can't find default font: `%s'"
 msgstr "ne peut reprérer la fonte par défaut: « %s »"
 
-#: all-font-metrics.cc:184 includable-lexer.cc:51 input-file-results.cc:188
+#: all-font-metrics.cc:186 includable-lexer.cc:59 input-file-results.cc:192
 #, c-format
 msgid "(search path: `%s')"
 msgstr "(chemin de recherche: « %s »)"
 
-#: all-font-metrics.cc:185
+#: all-font-metrics.cc:187
 msgid "Giving up"
 msgstr "Abandon"
 
 #: auto-change-iterator.cc:43 change-iterator.cc:60
-#: part-combine-music-iterator.cc:97
+#: part-combine-music-iterator.cc:120
 msgid "Can't switch translators, I'm there already"
 msgstr "Ne peut commuter d'un traducteur à l'autre, je suis là déjà"
 
-#: bar-check-iterator.cc:58
+#: bar-check-iterator.cc:51
 #, c-format
 msgid "barcheck failed at: %s"
 msgstr "échec du barcheck à: %s"
 
-#: beam-engraver.cc:167
+#: beam.cc:146
+msgid "beam has less than two visible stems"
+msgstr "faisceau a moins que deux queues visibles"
+
+#: beam.cc:151
+msgid "Beam has less than two stems. Removing beam."
+msgstr "faisceau a moins de deux queues. Retrait du faisceau."
+
+#: beam.cc:976
+msgid ""
+"Not sure that we can find a nice beam slope (no viable initial configuration "
+"found)."
+msgstr ""
+"Pas certain que l'on puisse repérer un joli pente dans le faisceau "
+"(configuration initiale viable non repérée)"
+
+#: beam-engraver.cc:176
 msgid "already have a beam"
 msgstr "faisceau déjà présent"
 
-#: beam-engraver.cc:234
+#: beam-engraver.cc:259
 msgid "unterminated beam"
 msgstr "faisceau non terminé"
 
-#: beam-engraver.cc:267 chord-tremolo-engraver.cc:175
+#: beam-engraver.cc:292 chord-tremolo-engraver.cc:197
 msgid "stem must have Rhythmic structure"
 msgstr "la queue doit avoir une structure rythmiique"
 
-#: beam-engraver.cc:281
+#: beam-engraver.cc:306
 msgid "stem doesn't fit in beam"
 msgstr "la queue ne s'insère pas dans le faisceau"
 
-#: beam-engraver.cc:282
-msgid "beam was started here"
-msgstr "faisceau a débuté ici"
-
-#: beam.cc:134
-msgid "beam has less than two visible stems"
-msgstr "faisceau a moins que deux queues visibles"
-
-#: beam.cc:139
-msgid "Beam has less than two stems. Removing beam."
-msgstr "faisceau a moins de deux queues. Retrait du faisceau."
-
-#: beam.cc:951
-msgid "Not sure that we can find a nice beam slope (no viable initial configuration found)."
-msgstr "Pas certain que l'on puisse repérer un joli pente dans le faisceau (configuration initiale viable non repérée)"
+#: beam-engraver.cc:307
+msgid "beam was started here"
+msgstr "faisceau a débuté ici"
 
-#: break-align-interface.cc:166
+#: break-align-interface.cc:173
 #, c-format
 msgid "No spacing entry from %s to `%s'"
 msgstr "Pas d'espacement des entrées à partir de %s à « %s »"
@@ -576,64 +1383,107 @@ msgstr "J'en suis un moi-m
 msgid "none of these in my family"
 msgstr "aucun de ceux-ci dans ma famille"
 
-#: chord-tremolo-engraver.cc:137 percent-repeat-engraver.cc:182
+#: chord-tremolo-engraver.cc:98
+#, c-format
+msgid "Chord tremolo with %d elements. Must have two elements."
+msgstr ""
+
+#: chord-tremolo-engraver.cc:157
 msgid "unterminated chord tremolo"
 msgstr "accord de tremolo non terminé"
 
-#: chord-tremolo-iterator.cc:50
+#: chord-tremolo-iterator.cc:69
 msgid "no one to print a tremolos"
 msgstr "aucun pour l'impression de tremolos"
 
-#: chord.cc:313
+#: clef.cc:64
+#, c-format
+msgid "clef `%s' not found"
+msgstr ""
+
+#: cluster.cc:131
+#, fuzzy, c-format
+msgid "unknown cluster style `%s'"
+msgstr "traducteur inconnu: « %s »"
+
+#: coherent-ligature-engraver.cc:84
+#, c-format
+msgid "gotcha: ptr=%ul"
+msgstr ""
+
+#: coherent-ligature-engraver.cc:96
+#, c-format
+msgid "distance=%f"
+msgstr ""
+
+#: coherent-ligature-engraver.cc:139
 #, c-format
-msgid "invalid subtraction: not part of chord: %s"
-msgstr "soustraction invalide: ne fait pas partie de l'accord: %s"
+msgid "Coherent_ligature_engraver: setting `spacing-increment = 0.01': ptr=%ul"
+msgstr ""
 
-#: chord.cc:342
+#: custos.cc:92
 #, c-format
-msgid "invalid inversion pitch: not part of chord: %s"
-msgstr "inversion de tons invalide: ne fait pas parti de l'accord: %s"
+msgid "custos `%s' not found"
+msgstr ""
 
 #: dimensions.cc:13
 msgid "NaN"
 msgstr "NaN"
 
-#: dynamic-engraver.cc:187 span-dynamic-performer.cc:82
+#: dynamic-engraver.cc:204 span-dynamic-performer.cc:82
 msgid "can't find start of (de)crescendo"
 msgstr "ne peut repérer le début du (de)crescendo"
 
-#: dynamic-engraver.cc:211
+#: dynamic-engraver.cc:216
 msgid "already have a crescendo"
 msgstr "crescendo déjà présent"
 
-#: dynamic-engraver.cc:212
+#: dynamic-engraver.cc:217
 msgid "already have a decrescendo"
 msgstr "decrescendo déjà présent"
 
-#: dynamic-engraver.cc:215
+#: dynamic-engraver.cc:220
 msgid "Cresc started here"
 msgstr "Crescendo a débuté ici"
 
-#: dynamic-engraver.cc:307
+#: dynamic-engraver.cc:323
 msgid "unterminated (de)crescendo"
 msgstr "(de)crescendo n'est pas terminé"
 
-#: extender-engraver.cc:96
+#: event.cc:49
+#, fuzzy, c-format
+msgid "Transposition by %s makes alteration larger than two"
+msgstr "Transposition faite par %s crée des accidentels plus grand que deux"
+
+#: event-chord-iterator.cc:76 output-property-music-iterator.cc:27
+#, fuzzy, c-format
+msgid "Junking event: `%s'"
+msgstr "Requête de mise au rebut: « %s »"
+
+#: extender-engraver.cc:94
 msgid "unterminated extender"
 msgstr "prolongation non terminée"
 
-#: extender-engraver.cc:108
-msgid "Nothing to connect extender to on the left.  Ignoring extender request."
-msgstr "Rien à relier à la prolongation sur la gauche. Requête de prolongation ignorée."
+#: extender-engraver.cc:106
+#, fuzzy
+msgid "Nothing to connect extender to on the left.  Ignoring extender event."
+msgstr ""
+"Rien à relier à la prolongation sur la gauche. Requête de prolongation "
+"ignorée."
 
-#: folded-repeat-iterator.cc:78
+#: folded-repeat-iterator.cc:88
 msgid "no one to print a repeat brace"
 msgstr "aucun pour l'impression d'accolades répétées"
 
-#: font-interface.cc:238
+#: font-interface.cc:239
 msgid "couldn't find any font satisfying "
 msgstr "ne peut repérer aucune fonte satisfaisante"
 
+#: glissando-engraver.cc:100
+#, fuzzy
+msgid "Unterminated glissando."
+msgstr "ligature non terminée"
+
 #: gourlay-breaking.cc:188
 #, c-format
 msgid "Optimal demerits: %f"
@@ -643,6 +1493,27 @@ msgstr "D
 msgid "No feasible line breaking found"
 msgstr "Aucun morcèlement de ligne faisable repéré"
 
+#: gregorian-ligature-engraver.cc:59
+#, fuzzy, c-format
+msgid "\\%s ignored"
+msgstr "(ignoré)"
+
+#: gregorian-ligature-engraver.cc:64
+#, c-format
+msgid "implied \\%s added"
+msgstr ""
+
+#.
+#. Todo: do something sensible. The grob-pq-engraver is not water
+#. tight, and stuff like tupletSpannerDuration confuses it.
+#.
+#: grob-pq-engraver.cc:130
+#, c-format
+msgid ""
+"Skipped something?\n"
+"Grob %s ended before I expected it to end."
+msgstr ""
+
 #: hairpin.cc:98
 msgid "decrescendo too small"
 msgstr "decrescendo trop petit"
@@ -651,111 +1522,121 @@ msgstr "decrescendo trop petit"
 msgid "crescendo too small"
 msgstr "crescendo trop petit"
 
-#: hyphen-engraver.cc:89
+#: horizontal-bracket-engraver.cc:64
+msgid "Don't have that many brackets."
+msgstr ""
+
+#: horizontal-bracket-engraver.cc:73
+#, fuzzy
+msgid "Conflicting note group events."
+msgstr "Clés de signature conflictuelles repérées."
+
+#: hyphen-engraver.cc:87
 msgid "unterminated hyphen"
 msgstr "trait d'union non terminé"
 
-#: hyphen-engraver.cc:101
-msgid "Nothing to connect hyphen to on the left.  Ignoring hyphen request."
-msgstr "Rien à connecter au trait d'union sur la gauche. Requête de trait d'union ignoré"
+#: hyphen-engraver.cc:99
+#, fuzzy
+msgid "Nothing to connect hyphen to on the left.  Ignoring hyphen event."
+msgstr ""
+"Rien à connecter au trait d'union sur la gauche. Requête de trait d'union "
+"ignoré"
+
+#: input.cc:99
+msgid "non fatal error: "
+msgstr "pas une erreur fatale: "
 
-#: input-file-results.cc:71 source-file.cc:52 streams.cc:38
+#: input.cc:107 source-file.cc:146 source-file.cc:239
+msgid "position unknown"
+msgstr "position inconnue"
+
+#: input-file-results.cc:72 source-file.cc:54 streams.cc:38
 #, c-format
 msgid "can't open file: `%s'"
 msgstr "ne peut ouvrir le fichier: « %s »"
 
-#: input-file-results.cc:131
+#: input-file-results.cc:132
 msgid "Score contains errors; will not process it"
 msgstr "La feuille de musique contient des erreurs; elle ne sera pas traitée"
 
-#: input-file-results.cc:168
+#: input-file-results.cc:172
 #, c-format
 msgid "Now processing: `%s'"
 msgstr "Maintenant en traitement: « %s »"
 
-#: input.cc:98
-msgid "non fatal error: "
-msgstr "pas une erreur fatale: "
-
-#: input.cc:106 source-file.cc:147 source-file.cc:240
-msgid "position unknown"
-msgstr "position inconnue"
-
-#: key-engraver.cc:91
-msgid "Conflicting key signatures found."
-msgstr "Clés de signature conflictuelles repérées."
-
-#: key-engraver.cc:92
-msgid "This was the other key definition."
-msgstr "C'était l'autre définition de clé"
-
-#: key-performer.cc:92
+#: key-performer.cc:96
 msgid "FIXME: key change merge"
 msgstr "FIXME: changement de fusion de clés"
 
-#: kpath.cc:64
+#: kpath.cc:76
 #, c-format
 msgid "Kpathsea couldn't find TFM file `%s'"
 msgstr "Kpathsea ne peut repérer le fichier TFM: « %s »"
 
-#: ligature-bracket.cc:105 ligature-bracket.cc:139 ligature-engraver.cc:124
-msgid "no left bound"
-msgstr "pas de borne à gauche"
-
-#: ligature-engraver.cc:81
+#: ligature-engraver.cc:159
 msgid "can't find start of ligature"
 msgstr "ne peut repérer le début d'une ligature"
 
-#: ligature-engraver.cc:86
+#: ligature-engraver.cc:165
 msgid "no right bound"
 msgstr "pas de borne à droite"
 
-#: ligature-engraver.cc:108
+#: ligature-engraver.cc:191
 msgid "already have a ligature"
 msgstr "a déjà une ligature"
 
-#: ligature-engraver.cc:166
+#: ligature-engraver.cc:207
+msgid "no left bound"
+msgstr "pas de borne à gauche"
+
+#: ligature-engraver.cc:258
 msgid "unterminated ligature"
 msgstr "ligature non terminée"
 
-#: ligature-engraver.cc:183
+#: ligature-engraver.cc:282
 msgid "ligature may not contain rest; ignoring rest"
 msgstr "ligature ne peut contenir une pause; pause ignorée"
 
-#: ligature-engraver.cc:184
+#: ligature-engraver.cc:283
 msgid "ligature was started here"
 msgstr "ligature a débuté ici"
 
-#: lily-guile.cc:99
+#: lily-guile.cc:88
 #, c-format
 msgid "(load path: `%s')"
 msgstr "(chemin de chargement: « %s »)"
 
-#: lily-guile.cc:582
+#: lily-guile.cc:576
 #, c-format
 msgid "Can't find property type-check for `%s' (%s)."
 msgstr "Ne peut repérer la propriété de vérification de type pour « %s » (%s)."
 
-#: lily-guile.cc:585
+#: lily-guile.cc:579
 msgid "Perhaps you made a typing error?"
 msgstr "Peut-être avez-vous commis une erreur?"
 
-#: lily-guile.cc:591
+#: lily-guile.cc:585
 msgid "Doing assignment anyway."
 msgstr "Affectation faite malgré tout."
 
-#: lily-guile.cc:605
+#: lily-guile.cc:599
 #, c-format
 msgid "Type check for `%s' failed; value `%s' must be of type `%s'"
-msgstr "Vérification de type pour « %s » a échoué; la valeur « %s » doit être de type « %s »"
+msgstr ""
+"Vérification de type pour « %s » a échoué; la valeur « %s » doit être de "
+"type « %s »"
 
-#: lookup.cc:141
+#: lookup.cc:173
 msgid "round filled box horizontal extent smaller than blot; decreasing blot"
-msgstr "largeur horizontale de la boîte plus petite que le diamètre du coin; réduction du diamètre du coin"
+msgstr ""
+"largeur horizontale de la boîte plus petite que le diamètre du coin; "
+"réduction du diamètre du coin"
 
-#: lookup.cc:146
+#: lookup.cc:178
 msgid "round filled box vertical extent smaller than blot; decreasing blot"
-msgstr "hauteur verticale de la boîte plus petite que le diamètre du coin; réduction du diamètre du coin"
+msgstr ""
+"hauteur verticale de la boîte plus petite que le diamètre du coin; réduction "
+"du diamètre du coin"
 
 #: lyric-phrasing-engraver.cc:311
 msgid "lyrics found without any matching notehead"
@@ -771,13 +1652,8 @@ msgstr "EXPR"
 
 #: main.cc:107
 msgid "set options, use -e '(ly-option-usage)' for help"
-msgstr "options d'initialisation: utiliser -e '(ly-option-usage)' pour de l'aide"
-
-#. another bug in option parser: --output=foe is taken as an abbreviation
-#. for --output-format
-#: main.cc:110
-msgid "EXT"
-msgstr "EXT"
+msgstr ""
+"options d'initialisation: utiliser -e '(ly-option-usage)' pour de l'aide"
 
 #: main.cc:110
 msgid "use output format EXT"
@@ -826,8 +1702,10 @@ msgid ""
 "using a high level description file as input.  LilyPond is part of \n"
 "the GNU Project.\n"
 msgstr ""
-"LilyPond est un logiciel de composition de musique. Il produit de jolies feuilles\n"
-"de musique en utilisant un fichier de description de haut niveau à l'entrée.\n"
+"LilyPond est un logiciel de composition de musique. Il produit de jolies "
+"feuilles\n"
+"de musique en utilisant un fichier de description de haut niveau à "
+"l'entrée.\n"
 "LilyPond fait parti du projet GNU.\n"
 
 #: main.cc:182
@@ -837,20 +1715,18 @@ msgid ""
 "and you are welcome to change it and/or distribute copies of it under\n"
 "certain conditions.  Invoke as `%s --warranty' for more information.\n"
 msgstr ""
-"Ce logiciel est libre. Il est couvert par la licence GNU General Public License,\n"
-"et vous êtes libre de le modifier et/ou distribuer sous certaines conditions\n"
+"Ce logiciel est libre. Il est couvert par la licence GNU General Public "
+"License,\n"
+"et vous êtes libre de le modifier et/ou distribuer sous certaines "
+"conditions\n"
 "Invoquer commme suit « %s --warranty » pour plus de détails.\n"
 
-#: main.cc:188 main.cc:200
-#, c-format
-msgid "Copyright (c) %s by"
-msgstr "Copyright (c) %s écrit par"
-
 #: main.cc:198
 msgid "GNU LilyPond -- The music typesetter"
 msgstr "GNU LilyPond -- Le logiciel de composition de musique"
 
 #: main.cc:206
+#, fuzzy
 msgid ""
 "    This program is free software; you can redistribute it and/or\n"
 "modify it under the terms of the GNU General Public License version 2\n"
@@ -863,7 +1739,8 @@ msgid ""
 "\n"
 "    You should have received a copy (refer to the file COPYING) of the\n"
 "GNU General Public License along with this program; if not, write to\n"
-"the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,\n"
+"the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA "
+"02111-1307,\n"
 "USA.\n"
 msgstr ""
 "    Ce logiciel est libre; vous pouvez le redistribuer et/ou le modifier\n"
@@ -876,82 +1753,82 @@ msgstr ""
 "la license GNU General Public License for more details.\n"
 "\n"
 "    Vous devriez avoir reçu une copie (consulter le fichier COPYING) de la\n"
-"license GNU General Public License accompagnant ce logiciel; si absente écrire à\n"
+"license GNU General Public License accompagnant ce logiciel; si absente "
+"écrire à\n"
 "la Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,\n"
 "USA.\n"
 
-#: mensural-ligature-engraver.cc:321 mensural-ligature-engraver.cc:483
+#: mensural-ligature.cc:153
+#, fuzzy, c-format
+msgid "Mensural_ligature:thickness undefined on flexa %d; assuming 1.4"
+msgstr "Mensural_ligature: épaisseur indéfinie sur flexa %d; 1.4 est assumé"
+
+#: mensural-ligature.cc:169
+#, fuzzy, c-format
+msgid "Mensural_ligature:delta-pitch undefined on flexa %d; assuming 0"
+msgstr ""
+"Mensural_ligature: croissance du ton indéfinie sur flexa %d; 0 est assumé"
+
+#: mensural-ligature.cc:182
+#, fuzzy, c-format
+msgid "Mensural_ligature:flexa-width undefined on flexa %d; assuming 2.0"
+msgstr ""
+"Mensural_ligature: largeur de flexa indéfinie sur flexa %d; 2.0 est assumé"
+
+#: mensural-ligature.cc:215
+#, fuzzy
+msgid "Mensural_ligature:unexpected case fall-through"
+msgstr "Mensural_ligature: cas inattendu sans interception"
+
+#: mensural-ligature.cc:225
+#, fuzzy
+msgid "Mensural_ligature: (join_left == 0)"
+msgstr "Mensural_liguture: (joint_left == 0)"
+
+#: mensural-ligature-engraver.cc:248 mensural-ligature-engraver.cc:397
 msgid "unexpected case fall-through"
 msgstr "cas inattendu non intercepté"
 
-#: mensural-ligature-engraver.cc:332
+#: mensural-ligature-engraver.cc:259
 msgid "ligature with less than 2 heads -> skipping"
 msgstr "ligature avec moins que 2 tête -> escamoté"
 
-#: mensural-ligature-engraver.cc:347
+#: mensural-ligature-engraver.cc:279
 msgid "can not determine pitch of ligature primitive -> skipping"
 msgstr "ne peut déterminer le ton de la primitive de la ligature -> escamoté"
 
-#: mensural-ligature-engraver.cc:370
+#: mensural-ligature-engraver.cc:302
 msgid "prime interval within ligature -> skipping"
 msgstr "premier interval dans la ligature -> escamoté"
 
-#: mensural-ligature-engraver.cc:380
+#: mensural-ligature-engraver.cc:312
 msgid "mensural ligature: duration none of L, B, S -> skipping"
 msgstr "Mensural_ligature: aucune durée parmie L, B, S -> escomatée"
 
-#: mensural-ligature.cc:152
-#, c-format
-msgid "Mensural_ligature: thickness undefined on flexa %d; assuming 1.4"
-msgstr "Mensural_ligature: épaisseur indéfinie sur flexa %d; 1.4 est assumé"
-
-#: mensural-ligature.cc:166
-#, c-format
-msgid "Mensural_ligature: delta-pitch undefined on flexa %d; assuming 0"
-msgstr "Mensural_ligature: croissance du ton indéfinie sur flexa %d; 0 est assumé"
-
-#: mensural-ligature.cc:177
-#, c-format
-msgid "Mensural_ligature: flexa-width undefined on flexa %d; assuming 2.0"
-msgstr "Mensural_ligature: largeur de flexa indéfinie sur flexa %d; 2.0 est assumé"
-
-#: mensural-ligature.cc:208
-msgid "Mensural_ligature: unexpected case fall-through"
-msgstr "Mensural_ligature: cas inattendu sans interception"
-
-#: mensural-ligature.cc:217
-msgid "Menusral_ligature: (join_left == 0)"
-msgstr "Mensural_liguture: (joint_left == 0)"
-
-#: midi-item.cc:144
+#: midi-item.cc:148
 #, c-format
 msgid "no such instrument: `%s'"
 msgstr "pas un tel instrument: « %s »"
 
-#: midi-item.cc:234
+#: midi-item.cc:238
 msgid "silly duration"
 msgstr "durée ridicule"
 
-#: midi-item.cc:247
+#: midi-item.cc:251
 msgid "silly pitch"
 msgstr "ton bizarre"
 
-#: music-output-def.cc:113
+#: music-output-def.cc:111
 #, c-format
 msgid "can't find `%s' context"
 msgstr "ne peut repérer le contexte « %s »"
 
-#: music.cc:159
-#, c-format
-msgid "Transposition by %s makes accidental larger than two"
-msgstr "Transposition faite par %s crée des accidentels plus grand que deux"
-
-#: my-lily-lexer.cc:142
+#: my-lily-lexer.cc:169
 #, c-format
 msgid "Identifier name is a keyword: `%s'"
 msgstr "Le nom de l'identificateur est un mot clé: « %s »"
 
-#: my-lily-lexer.cc:162
+#: my-lily-lexer.cc:191
 #, c-format
 msgid "error at EOF: %s"
 msgstr "erreur à la fin du fichier (EOF): %s"
@@ -964,42 +1841,46 @@ msgstr "Analyse..."
 msgid "Braces don't match"
 msgstr "Accolades non pairées"
 
+#.
+#. music for the softenon children?
+#.
+#: new-fingering-engraver.cc:143
+msgid "music for the martians."
+msgstr ""
+
+#: new-tie-engraver.cc:166 tie-engraver.cc:217
+msgid "lonely tie"
+msgstr "lien isolé"
+
 #: note-collision.cc:340
 msgid "Too many clashing notecolumns.  Ignoring them."
 msgstr "Trop de note-colonnes qui se heurtent. On les ignore."
 
-#: note-head.cc:134
-msgid "Symbol not found, "
-msgstr "Symbole non repéré, "
-
-#: output-property-music-iterator.cc:20 request-chord-iterator.cc:76
+#: note-head.cc:127
 #, c-format
-msgid "Junking request: `%s'"
-msgstr "Requête de mise au rebut: « %s »"
+msgid "note head `%s' not found"
+msgstr ""
 
-#: paper-def.cc:122
+#: paper-def.cc:96
 #, c-format
 msgid "paper output to `%s'..."
 msgstr "sortie sur papier vers « %s »..."
 
-#: paper-outputter.cc:57
-msgid ", at "
-msgstr ", à "
-
-#: paper-score.cc:77
+#: paper-score.cc:78
 #, c-format
 msgid "Element count %d (spanners %d) "
 msgstr "Éléments dénombrés %d (spanners %d) "
 
-#: paper-score.cc:82
-msgid "Preprocessing elements..."
+#: paper-score.cc:83
+#, fuzzy
+msgid "Preprocessing graphical objects..."
 msgstr "Pré-traitement des éléments..."
 
-#: paper-score.cc:115
+#: paper-score.cc:116
 msgid "Outputting Score, defined at: "
 msgstr "Production d'une feuille de musique, définie à: "
 
-#: parse-scm.cc:80
+#: parse-scm.cc:79
 msgid "GUILE signaled an error for the expression begining here"
 msgstr "GUILE a signalé une erreur pour l'expression débutant ici"
 
@@ -1009,21 +1890,26 @@ msgstr "GUILE a signal
 #.
 #. last->translator_id_string_  = get_change ()->change_to_id_string_;
 #.
-#: part-combine-music-iterator.cc:116
+#: part-combine-music-iterator.cc:139
 #, c-format
 msgid "I'm one myself: `%s'"
 msgstr "J'en sui sun moi-même: « %s »"
 
-#: part-combine-music-iterator.cc:119
+#: part-combine-music-iterator.cc:142
 #, c-format
 msgid "none of these in my family: `%s'"
 msgstr "aucun de ceux-ci dans ma famille: « %s »"
 
-#: percent-repeat-engraver.cc:116
+#: percent-repeat-engraver.cc:109
 msgid "Don't know how to handle a percent repeat of this length."
 msgstr "Ne sait comment traiter la répétition de pourcent de cette longueur."
 
-#: percent-repeat-iterator.cc:53
+#: percent-repeat-engraver.cc:163
+#, fuzzy
+msgid "unterminated percent repeat"
+msgstr "accolades des pédales non complétées"
+
+#: percent-repeat-iterator.cc:65
 msgid "no one to print a percent"
 msgstr "aucun pour l'impression de pourcent"
 
@@ -1049,131 +1935,105 @@ msgstr "
 msgid "MIDI output to `%s'..."
 msgstr "Sortie MIDI vers « %s »..."
 
-#: phrasing-slur-engraver.cc:117
+#: phrasing-slur-engraver.cc:123
 msgid "unterminated phrasing slur"
 msgstr "phrase de liaison non terminée"
 
-#: phrasing-slur-engraver.cc:132
+#: phrasing-slur-engraver.cc:141
 msgid "can't find start of phrasing slur"
 msgstr "ne peut repérer le début d'une phrase de liaison"
 
-#: piano-pedal-engraver.cc:230 piano-pedal-engraver.cc:245
-#: piano-pedal-engraver.cc:300 piano-pedal-performer.cc:82
+#: piano-pedal-engraver.cc:235 piano-pedal-engraver.cc:250
+#: piano-pedal-engraver.cc:305 piano-pedal-performer.cc:82
 #, c-format
 msgid "can't find start of piano pedal: `%s'"
 msgstr "ne peut repérer le début de la pédale de piano: « %s »"
 
-#: piano-pedal-engraver.cc:405
+#: piano-pedal-engraver.cc:410
 msgid "unterminated pedal bracket"
 msgstr "accolades des pédales non complétées"
 
-#: pitch.cc:25
-msgid "Pitch arguments out of range"
-msgstr "Arguments des tons hors gamme"
-
-#: porrectus.cc:35
-msgid "(left_head == 0)"
-msgstr "(left_head == 0)"
-
-#: porrectus.cc:46
-msgid "undefined left_head"
-msgstr "left_head indéfini"
-
-#: porrectus.cc:65
-msgid "(right_head == 0)"
-msgstr "(right_head == 0)"
-
-#: porrectus.cc:76
-msgid "undefined right_head"
-msgstr "right_head indéfini"
-
-#: porrectus.cc:96
-msgid "junking lonely porrectus"
-msgstr "porrectus rebut isolé"
-
-#: porrectus.cc:106
-msgid "porrectus style undefined; using mensural"
-msgstr "style porrectus indéfini; utilisation du mensural"
-
-#: porrectus.cc:251
-msgid "ascending vaticana style porrectus"
-msgstr "porrectus ascendant de style vaticana"
-
-#: property-iterator.cc:64
+#: property-iterator.cc:97
 #, c-format
 msgid "Not a grob name, `%s'."
 msgstr "N'est pas un nom de type grob, « %s »"
 
-#: rest-collision.cc:186
+#: rest.cc:139
+#, fuzzy, c-format
+msgid "rest `%s' not found, "
+msgstr "Symbole non repéré, "
+
+#: rest-collision.cc:199
 msgid "too many colliding rests"
 msgstr "trop de pauses en collision"
 
-#: scm-option.cc:44
+#: scm-option.cc:45
 msgid "lilypond -e EXPR means:"
 msgstr "lilypond -e EXPRESSION signifie:"
 
-#: scm-option.cc:46
+#: scm-option.cc:47
 msgid "  Evalute the Scheme EXPR before parsing any .ly files."
 msgstr "Evaluer l'EXPRESSION Scheme avant d'analyser les fichiers .ly"
 
-#: scm-option.cc:48
-msgid "  Multiple -e options may be given, they will be evaluated sequentially."
-msgstr "Les options multiples -e peuvent être fournis, elles seront évaluées séquentiellement."
+#: scm-option.cc:49
+msgid ""
+"  Multiple -e options may be given, they will be evaluated sequentially."
+msgstr ""
+"Les options multiples -e peuvent être fournis, elles seront évaluées "
+"séquentiellement."
 
-#: scm-option.cc:50
-msgid "  The function ly-set-option allows for access to some internal variables."
-msgstr "L'option de la fonction ly-set-option permet l'accès à quelques variables internes."
+#: scm-option.cc:51
+msgid ""
+"  The function ly-set-option allows for access to some internal variables."
+msgstr ""
+"L'option de la fonction ly-set-option permet l'accès à quelques variables "
+"internes."
 
-#: scm-option.cc:52
+#: scm-option.cc:53
 msgid "Usage: lilypond -e \"(ly-set-option SYMBOL VAL)\""
 msgstr "Usage: lilypond -e \"(ly-set-option SYMBOLE VALEUR)\""
 
-#: scm-option.cc:54
+#: scm-option.cc:55
 msgid "Where SYMBOL VAL pair is any of:"
 msgstr "Où la paire SYMBOLE VALEUR peut prendre les options suivantes:"
 
-#: scm-option.cc:122
+#: scm-option.cc:128
 msgid "Unknown internal option!"
 msgstr "Option interne inconnue!"
 
-#: score-engraver.cc:102
-#, c-format
-msgid "can't find `%s'"
-msgstr "ne peut trouver « %s »"
-
-#: score-engraver.cc:103
-msgid "Fonts have not been installed properly.  Aborting"
-msgstr "Les fontes n'ont pas été installées correctement. Abandon"
-
-#: score-engraver.cc:207
-#, c-format
-msgid "unbound spanner `%s'"
-msgstr "clef sans borne « %s »"
-
-#: score.cc:92
-#, c-format
-msgid "stack size cur %d, max %d\n"
-msgstr "taille de la pile courante %d, max %d\n"
-
-#: score.cc:109
+#: score.cc:85
 msgid "Interpreting music..."
 msgstr "Interprétation de la musique..."
 
-#: score.cc:122
+#: score.cc:97
 msgid "Need music in a score"
 msgstr "Musique manquante pour produire la feuille de musique"
 
 #. should we? hampers debugging.
-#: score.cc:135
+#: score.cc:111
 msgid "Errors found/*, not processing score*/"
 msgstr "Erreurs trouvées/*, pas de traitement de la feuille de musique*/"
 
-#: score.cc:142
+#: score.cc:118
 #, c-format
 msgid "elapsed time: %.2f seconds"
 msgstr "temps écoulé: %.2f seconds"
 
-#: script-engraver.cc:66
+#: score-engraver.cc:99
+#, c-format
+msgid "can't find `%s'"
+msgstr "ne peut trouver « %s »"
+
+#: score-engraver.cc:100
+msgid "Fonts have not been installed properly.  Aborting"
+msgstr "Les fontes n'ont pas été installées correctement. Abandon"
+
+#: score-engraver.cc:205
+#, c-format
+msgid "unbound spanner `%s'"
+msgstr "clef sans borne « %s »"
+
+#: script-engraver.cc:90
 #, c-format
 msgid "Don't know how to interpret articulation `%s'"
 msgstr "Ne sait comment interpréter l'articulation « %s »"
@@ -1183,30 +2043,22 @@ msgstr "Ne sait comment interpr
 msgid "Separation_item:  I've been drinking too much"
 msgstr "Separation_item:  cela ne devrait pas se produire mais..."
 
-#: simple-spacer.cc:254
+#: simple-spacer.cc:248
 #, c-format
 msgid "No spring between column %d and next one"
 msgstr "Pas de tension entre la colonne %d et la suivante"
 
-#: slur-engraver.cc:140
+#: slur-engraver.cc:141
 msgid "unterminated slur"
 msgstr "liaison non terminée"
 
 #. How to shut up this warning, when Voice_devnull_engraver has
-#. eaten start request?
-#: slur-engraver.cc:157
+#. eaten start event?
+#: slur-engraver.cc:159
 msgid "can't find start of slur"
 msgstr "ne peut repérer le début d'une liaison"
 
-#: slur.cc:53
-msgid "Putting slur over rest."
-msgstr "Mise en place d'un liaison par-dessus une pause."
-
-#: slur.cc:424
-msgid "Slur over rest?"
-msgstr "Liaison par-dessus une pause?"
-
-#: source-file.cc:65
+#: source-file.cc:67
 #, c-format
 msgid "Huh?  Got %d, expected %d characters"
 msgstr "Euh?  Obtenu %d caractères, on s'attendait à %d"
@@ -1221,18 +2073,36 @@ msgstr "La plus petite dur
 msgid "#<spring smob d= %f>"
 msgstr "#<spring smob d= %f>"
 
-#: staff-symbol.cc:62
+#: staff-symbol.cc:61
 msgid "staff symbol: indentation yields beyond end of line"
 msgstr "symbole staff: l'indentation a cédé avant la fin de la ligne"
 
-#: stem-engraver.cc:117
+#: stem.cc:118
+msgid "Weird stem size; check for narrow beams"
+msgstr "Taille bizarre de hampe de not; vérifier pour des faisceaux étroits"
+
+#: stem.cc:611
+#, c-format
+msgid "flag `%s' not found"
+msgstr ""
+
+#: stem.cc:624
+#, c-format
+msgid "flag stroke `%s' not found"
+msgstr ""
+
+#: stem-engraver.cc:96
+msgid "tremolo duration is too long"
+msgstr ""
+
+#: stem-engraver.cc:124
 #, c-format
 msgid "Adding note head to incompatible stem (type = %d)"
 msgstr "Ajout d'une note de tête à une hampe de not incompatible (type = %d)"
 
-#: stem.cc:118
-msgid "Weird stem size; check for narrow beams"
-msgstr "Taille bizarre de hampe de not; vérifier pour des faisceaux étroits"
+#: stem-engraver.cc:125
+msgid "Don't you want polyphonic voices instead?"
+msgstr ""
 
 #: streams.cc:34
 #, c-format
@@ -1248,30 +2118,32 @@ msgstr "Erreur de synchronisation du fichier (disque plein?)"
 msgid "Element count %d."
 msgstr "Éléments dénombrés %d."
 
-#: system.cc:377
+#: system.cc:372
 #, c-format
 msgid "Grob count %d "
 msgstr "Éléments de type grob dénombrés %d."
 
-#: system.cc:391
-msgid "Calculating column positions..."
+#: system.cc:386
+#, fuzzy
+msgid "Calculating line breaks..."
 msgstr "Calcul des positions des colonnes..."
 
-#: text-spanner-engraver.cc:92
+#: text-spanner-engraver.cc:81
 msgid "can't find start of text spanner"
 msgstr "ne peut repérer le début du texte de clef"
 
-#: text-spanner-engraver.cc:112
+#: text-spanner-engraver.cc:95
 msgid "already have a text spanner"
 msgstr "a déjà un texte de clef"
 
-#: text-spanner-engraver.cc:167
+#: text-spanner-engraver.cc:164
 msgid "unterminated text spanner"
 msgstr "texte de clef non terminé"
 
-#: text-spanner.cc:130
-msgid "Text_spanner too small"
-msgstr "Text_spanner trop petit"
+#: tfm.cc:83
+#, c-format
+msgid "can't find ascii character: %d"
+msgstr "ne peut repérer le caractère ascii: %d"
 
 #. Not using ngettext's plural feature here, as this message is
 #. more of a programming error.
@@ -1283,18 +2155,10 @@ msgstr "L'en-t
 #: tfm-reader.cc:142
 #, c-format
 msgid "%s: TFM file has %u parameters, which is more than the %u I can handle"
-msgstr "%s: le fichier TFM a %u paramètres qui sont plus que %u pouvant être traités"
-
-#: tfm.cc:83
-#, c-format
-msgid "can't find ascii character: %d"
-msgstr "ne peut repérer le caractère ascii: %d"
-
-#: tie-engraver.cc:216
-msgid "lonely tie"
-msgstr "lien isolé"
+msgstr ""
+"%s: le fichier TFM a %u paramètres qui sont plus que %u pouvant être traités"
 
-#: tie-performer.cc:161
+#: tie-performer.cc:159
 msgid "No ties were created!"
 msgstr "Aucun lien n'a été créé!"
 
@@ -1302,159 +2166,314 @@ msgstr "Aucun lien n'a 
 msgid "no one to print a tuplet start bracket"
 msgstr "aucun pour l'impression d'un tuplet d'accolades de départ"
 
+#. If there is no such symbol, we default to the numbered style.
+#. (Here really with a warning!)
+#: time-signature.cc:87
+#, c-format
+msgid "time signature symbol `%s' not found; reverting to numbered style"
+msgstr ""
+
+#.
+#. Todo: should make typecheck?
+#.
+#. OTOH, Tristan Keuris writes 8/20 in his Intermezzi.
+#.
+#: time-signature-engraver.cc:57
+#, c-format
+msgid "Found strange time signature %d/%d."
+msgstr ""
+
 #: translator-ctors.cc:53
 #, c-format
 msgid "unknown translator: `%s'"
 msgstr "traducteur inconnu: « %s »"
 
-#: translator-def.cc:87
+#: translator-def.cc:105
 msgid "Program has no such type"
 msgstr "Programme ne peut traiter un tel type"
 
-#: translator-def.cc:93
+#: translator-def.cc:111
 #, c-format
 msgid "Already contains: `%s'"
 msgstr "Contient déjà: « %s »"
 
-#: translator-def.cc:94
+#: translator-def.cc:112
 #, c-format
 msgid "Not adding translator: `%s'"
 msgstr "Le traducteur n'est pas ajouté: « %s »"
 
-#: translator-def.cc:209
+#: translator-def.cc:229
 #, c-format
 msgid "can't find: `%s'"
 msgstr "ne peut trouver: « %s »"
 
-#: translator-group.cc:159
+#: translator-group.cc:158
 #, c-format
 msgid "can't find or create `%s' called `%s'"
 msgstr "ne peut trouver ou créer « %s » qui a appelé « %s »"
 
-#: translator-group.cc:244
+#: translator-group.cc:230
 #, c-format
 msgid "can't find or create: `%s'"
 msgstr "ne peut toruver ou créer: « %s »"
 
-#: volta-engraver.cc:111
+#: vaticana-ligature.cc:49
+#, fuzzy
+msgid "ascending vaticana style flexa"
+msgstr "porrectus ascendant de style vaticana"
+
+#: vaticana-ligature.cc:219
+#, fuzzy
+msgid "Vaticana_ligature:thickness undefined; assuming 1.4"
+msgstr "Mensural_ligature: épaisseur indéfinie sur flexa %d; 1.4 est assumé"
+
+#: vaticana-ligature.cc:233
+#, fuzzy
+msgid "Vaticana_ligature:x-offset undefined; assuming 0.0"
+msgstr ""
+"Mensural_ligature: largeur de flexa indéfinie sur flexa %d; 2.0 est assumé"
+
+#: vaticana-ligature.cc:258
+#, fuzzy
+msgid "Vaticana_ligature: (delta_pitch == 0)"
+msgstr "Mensural_liguture: (joint_left == 0)"
+
+#: vaticana-ligature.cc:271
+msgid "Vaticana_ligature:delta-pitch -> ignoring join"
+msgstr ""
+
+#: vaticana-ligature-engraver.cc:477
+#, c-format
+msgid "Vaticana_ligature_engraver: setting `spacing-increment = %f': ptr=%ul"
+msgstr ""
+
+#: volta-engraver.cc:112
 msgid "No volta spanner to end"
 msgstr "Aucune clef volta pour terminer"
 
-#: volta-engraver.cc:121
+#: volta-engraver.cc:123
 msgid "Already have a volta spanner.  Stopping that one prematurely."
 msgstr "A déjà une clef volta. Arrêt de celle-ci prématurément."
 
-#: volta-engraver.cc:125
+#: volta-engraver.cc:127
 msgid "Also have a stopped spanner.  Giving up."
 msgstr "A aussi une clef arrêtée. Abandon."
 
-#: parser.yy:434
+#: parser.yy:480
 msgid "Identifier should have alphabetic characters only"
 msgstr "L'identificateur doit contenir des caractères alphabétiques seulement"
 
-#: parser.yy:729
+#: parser.yy:779
 msgid "More alternatives than repeats.  Junking excess alternatives."
-msgstr "Plus d'alternatives que de répétitions. Rebuts dépasse la limite des alternatives."
+msgstr ""
+"Plus d'alternatives que de répétitions. Rebuts dépasse la limite des "
+"alternatives."
+
+#: parser.yy:861 parser.yy:868
+msgid "\applycontext takes function argument"
+msgstr ""
 
-#: parser.yy:798
+#: parser.yy:877
 msgid "Second argument must be a symbol"
 msgstr "Le second argument doit être un symbole"
 
-#: parser.yy:803
+#: parser.yy:882
 msgid "First argument must be a procedure taking one argument"
 msgstr "Le premier argument doit être une procédure n'acceptant qu'un argument"
 
-#: parser.yy:1380
+#: parser.yy:1009
+msgid "\apply takes function argument"
+msgstr ""
+
+#: parser.yy:1501
 msgid "Expecting string as script definition"
 msgstr "Chaîne attendue comme définition de script"
 
-#: parser.yy:1390
-msgid "Can't specify direction for this request"
-msgstr "Ne peut spécifier une direction pour cette requête"
-
-#: parser.yy:1516
+#: parser.yy:1598
 msgid "Expecting musical-pitch value"
 msgstr "Valeur du ton musical attendu"
 
-#: parser.yy:1527
+#: parser.yy:1609
 msgid "Must have duration object"
 msgstr "Doit avoir une durée pour l'objet"
 
-#: parser.yy:1536 parser.yy:1544
+#: parser.yy:1618 parser.yy:1626
 msgid "Have to be in Lyric mode for lyrics"
 msgstr "Doit être en mode Lyric pour les paroles"
 
-#: parser.yy:1715 parser.yy:1768
+#: parser.yy:1798 parser.yy:1853
 #, c-format
 msgid "not a duration: %d"
 msgstr "n'est pas une durée: %d"
 
-#: parser.yy:1855
+#: parser.yy:1949
 msgid "Have to be in Note mode for notes"
 msgstr "Doit être en mode Note pour les notes"
 
-#: parser.yy:1954
+#: parser.yy:2032
 msgid "Have to be in Chord mode for chords"
 msgstr "Doit être en mode Chord pour les choeurs"
 
-#: parser.yy:2134
+#: parser.yy:2171
 msgid "need integer number arg"
 msgstr "A besoin d'un nombre entier pour l'argument"
 
-#: parser.yy:2206
+#: parser.yy:2316
 msgid "Suspect duration found following this beam"
 msgstr "Durée suspecte repéré après ce faisceau"
 
-#: lexer.ll:178
+#: lexer.ll:186
 msgid "EOF found inside a comment"
 msgstr "Fin de fichier (EOF) à l'intérieur du commentaire"
 
-#: lexer.ll:192
+#: lexer.ll:200
 msgid "\\maininput disallowed outside init files"
 msgstr "\\maininput désactivé en dehord des fichiers init"
 
-#: lexer.ll:216
+#: lexer.ll:224
 #, c-format
 msgid "wrong or undefined identifier: `%s'"
 msgstr "identificateur erroné ou non défini: « %s »"
 
 #. backup rule
-#: lexer.ll:225
+#: lexer.ll:233
 msgid "Missing end quote"
 msgstr "Caractère de fin de citation manquant"
 
 #. backup rule
-#: lexer.ll:247 lexer.ll:251
+#: lexer.ll:255 lexer.ll:259
 msgid "white expected"
 msgstr "blanche attendue"
 
-#: lexer.ll:260
+#: lexer.ll:268
 msgid "Can't evaluate Scheme in safe mode"
 msgstr "Ne peut évaluer le Schème de façon sûre"
 
-#: lexer.ll:364
+#: lexer.ll:397 lexer.ll:487
 msgid "Brace found at end of lyric.  Did you forget a space?"
 msgstr "Accolade repérée à la fin des paroles. Avez-vous oublié un espace?"
 
-#: lexer.ll:480
+#: lexer.ll:574
 #, c-format
 msgid "invalid character: `%c'"
 msgstr "caractère invalide: « %c »"
 
-#: lexer.ll:566
+#: lexer.ll:651
 #, c-format
 msgid "unknown escaped string: `\\%s'"
 msgstr "chaîne d'échappement inconnue: « \\%s »"
 
-#: lexer.ll:657
+#: lexer.ll:742
 #, c-format
 msgid "Incorrect lilypond version: %s (%s, %s)"
 msgstr "Version de lilypond incorrecte: %s (%s, %s)"
 
-#: lexer.ll:658
+#: lexer.ll:743
 msgid "Consider updating the input with the convert-ly script"
 msgstr "Considérer la mise à jour de l'entrée à l'aide du script convert-ly"
 
+#~ msgid "Run LilyPond using LaTeX for titling"
+#~ msgstr "Exécuter LilyPond en utilisant LaTeX pour le « titling »"
+
+#~ msgid "Fetch and rebuild from latest source package"
+#~ msgstr "Repérer et reconstruire depuis les sources du dernier package"
+
+#~ msgid "unpack and build in DIR [%s]"
+#~ msgstr "dépaqueter et construire dans le RÉPERTOIRE [%s]"
+
+#~ msgid "execute COMMAND, subtitute:"
+#~ msgstr "exécuter la COMMANDE de substitution:"
+
+#~ msgid "%b: build root"
+#~ msgstr "%b: construit la racine"
+
+#~ msgid "%n: package name"
+#~ msgstr "%n: nom du package"
+
+#~ msgid "%r: release directory"
+#~ msgstr "%r: répertoire de production de version"
+
+#~ msgid "%t: tarball"
+#~ msgstr "%t: tarball"
+
+#~ msgid "%v: package version"
+#~ msgstr "%v: version du package"
+
+#~ msgid "keep all output, and name the directory %s"
+#~ msgstr "conserver toutes les sorties et nommer le répertoire %s"
+
+#~ msgid "upon failure notify EMAIL[,EMAIL]"
+#~ msgstr "lors d'un échec aviser par EMAIL[,EMAIL]"
+
+#~ msgid "remove previous build"
+#~ msgstr "enlever la construction précédente"
+
+#~ msgid "fetch and build URL [%s]"
+#~ msgstr "rechercher et construire le URL [%s]"
+
+#~ msgid "Listing `%s'..."
+#~ msgstr "Listage de « %s »..."
+
+#~ msgid "latest is: %s"
+#~ msgstr "le plus à jour est: %s"
+
+#~ msgid "relax, %s is up to date"
+#~ msgstr "relaxer, %s est à jour"
+
+#~ msgid "Fetching `%s'..."
+#~ msgstr "Recherche de « %s »..."
+
+#~ msgid "Building `%s'..."
+#~ msgstr "Construction de « %s »..."
+
+#~ msgid "invalid subtraction: not part of chord: %s"
+#~ msgstr "soustraction invalide: ne fait pas partie de l'accord: %s"
+
+#~ msgid "invalid inversion pitch: not part of chord: %s"
+#~ msgstr "inversion de tons invalide: ne fait pas parti de l'accord: %s"
+
+#~ msgid "This was the other key definition."
+#~ msgstr "C'était l'autre définition de clé"
+
+#~ msgid ", at "
+#~ msgstr ", à "
+
+#~ msgid "Pitch arguments out of range"
+#~ msgstr "Arguments des tons hors gamme"
+
+#~ msgid "(left_head == 0)"
+#~ msgstr "(left_head == 0)"
+
+#~ msgid "undefined left_head"
+#~ msgstr "left_head indéfini"
+
+#~ msgid "(right_head == 0)"
+#~ msgstr "(right_head == 0)"
+
+#~ msgid "undefined right_head"
+#~ msgstr "right_head indéfini"
+
+#~ msgid "junking lonely porrectus"
+#~ msgstr "porrectus rebut isolé"
+
+#~ msgid "porrectus style undefined; using mensural"
+#~ msgstr "style porrectus indéfini; utilisation du mensural"
+
+#~ msgid "stack size cur %d, max %d\n"
+#~ msgstr "taille de la pile courante %d, max %d\n"
+
+#~ msgid "Putting slur over rest."
+#~ msgstr "Mise en place d'un liaison par-dessus une pause."
+
+#~ msgid "Slur over rest?"
+#~ msgstr "Liaison par-dessus une pause?"
+
+#~ msgid "Text_spanner too small"
+#~ msgstr "Text_spanner trop petit"
+
+#~ msgid "Can't specify direction for this request"
+#~ msgstr "Ne peut spécifier une direction pour cette requête"
+
 #~ msgid "Generate .dvi with LaTeX for LilyPond"
 #~ msgstr "Générer un fichier .dvi à l'aide de LaTeX pour LilyPond"
 
@@ -1464,9 +2483,6 @@ msgstr "Consid
 #~ msgid "can't map file"
 #~ msgstr "ne peut produire le fichier map"
 
-#~ msgid "use output format EXT (tex [default], pdftex, ps, scm or as)"
-#~ msgstr "utiliser le format de sortie EXT (tex (par défaut), pdftex, ps, scm ou as)"
-
 #~ msgid "This binary was compiled with the following options:"
 #~ msgstr "Ce binaire a été compilé avec les options suivantes:"
 
@@ -1474,10 +2490,8 @@ msgstr "Consid
 #~ msgstr "%d arguments attendus"
 
 #~ msgid "%s is far from completed.  Not all constructs are recognised."
-#~ msgstr "%s est loin d'être complet. Tous les construits n'ont pas été reconnus."
-
-#~ msgid "Cleaning `%s'..."
-#~ msgstr "Nettoyage de « %s »..."
+#~ msgstr ""
+#~ "%s est loin d'être complet. Tous les construits n'ont pas été reconnus."
 
 #~ msgid "EOF in a string"
 #~ msgstr "Fin de fichier (EOF) dans la chaîne"
@@ -1501,10 +2515,13 @@ msgstr "Consid
 #~ msgstr "Aucun contexte disponible pour la note d'ornement"
 
 #~ msgid "Unattached grace notes.  Attaching to last musical column."
-#~ msgstr "Notes d'ornement non attachées. On les rattache à la dernière colonne musicale."
+#~ msgstr ""
+#~ "Notes d'ornement non attachées. On les rattache à la dernière colonne "
+#~ "musicale."
 
 #~ msgid "evalute EXPR as Scheme after .scm init is read"
-#~ msgstr "évaluer EXPR comme un Schème après la lecture de initialisation .scm"
+#~ msgstr ""
+#~ "évaluer EXPR comme un Schème après la lecture de initialisation .scm"
 
 #~ msgid "ly_get_mus_property (): Not a Music"
 #~ msgstr "ly_get_mus_property (): n'est pas de la musique"
@@ -1532,7 +2549,8 @@ msgstr "Consid
 #~ " \\propriété %s.%s \\pour écraser #'%s = #%s"
 
 #~ msgid "Wrong type for property: %s, type: %s, value found: %s, type: %s"
-#~ msgstr "Type erroné pour la propriété: %s, type: %s, valeur trouvée: %s, type: %s"
+#~ msgstr ""
+#~ "Type erroné pour la propriété: %s, type: %s, valeur trouvée: %s, type: %s"
 
 #~ msgid "too many notes for rest collision"
 #~ msgstr "trop de notes pour la pause en collision"
@@ -1541,7 +2559,8 @@ msgstr "Consid
 #~ msgstr "Option de schèmes:"
 
 #~ msgid "ly-get-trans-property: expecting a Translator_group argument"
-#~ msgstr "ly-get-trans-property: s'attendait à un argument de type Translator_group"
+#~ msgstr ""
+#~ "ly-get-trans-property: s'attendait à un argument de type Translator_group"
 
 #~ msgid "Oldest supported input version: %s"
 #~ msgstr "Version supportant les plus vieux formats: %s"
@@ -1602,7 +2621,9 @@ msgstr "Consid
 #~ msgstr "autoriser la mise au point de sortie"
 
 #~ msgid "don't output tuplets, double dots or rests, smallest is 32"
-#~ msgstr "ne pas produire les tuplets, les doubles pointées ou les pauses, plus petits que 32"
+#~ msgstr ""
+#~ "ne pas produire les tuplets, les doubles pointées ou les pauses, plus "
+#~ "petits que 32"
 
 #~ msgid "set FILE as default output"
 #~ msgstr "définir le FICHIER comme étant la sortie par défaut"
index 8ce89b39e0118b5804a05708835ee8c06b53c5a8..6b28683eef2a1d5d007136d2b7c06f50a33dbd6f 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -5,7 +5,7 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"POT-Creation-Date: 2002-08-18 17:05+0200\n"
+"POT-Creation-Date: 2003-07-18 14:45+0200\n"
 "Content-Type: text/plain; charset=ISO-8859-1\n"
 "Date: 1998-05-30 00:17:12+0200\n"
 "From:  <jantien@xs4all.nl>\n"
@@ -13,409 +13,1180 @@ msgstr ""
 "out --add-comments --keyword=_ --keyword=_f\n"
 "Files: bow.cc int.cc\n"
 
-#: lilypond-book.py:1019 ly2dvi.py:458 ly2dvi.py:491
-#, fuzzy, c-format
-msgid "Running %s..."
-msgstr "Genero le voci..."
+#. this is where special info is often stored
+#. ###############################################################
+#. lilylib.py -- options and stuff
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. ##  subst:\(^\|[^._a-z]\)\(abspath\|identify\|warranty\|progress\|warning\|error\|exit\|getopt_args\|option_help_str\|options_help_str\|help\|setup_temp\|read_pipe\|system\|cleanup_temp\|strip_extension\|cp_to_dir\|mkdir_p\|init\) *(
+#. ##  replace:\1ly.\2 (
+#. ## subst: \(help_summary\|keep_temp_dir_p\|option_definitions\|original_dir\|program_name\|pseudo_filter_p\|temp_dir\|verbose_p\)
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. lilylib globals
+#: lilylib.py:60
+msgid "lilylib module"
+msgstr ""
+
+#: lilylib.py:63 lilypond-book.py:131 ly2dvi.py:128 midi2ly.py:100
+#: mup2ly.py:75 main.cc:111
+msgid "this help"
+msgstr ""
 
-#: ly2dvi.py:118
-msgid ""
-"Distributed under terms of the GNU General Public License.  It comes with NO "
-"WARRANTY."
+#. ###############################################################
+#. Handle bug in Python 1.6-2.1
+#.
+#. there are recursion limits for some patterns in Python 1.6 til 2.1.
+#. fix this by importing pre instead. Fix by Mats.
+#. Attempt to fix problems with limited stack size set by Python!
+#. Sets unlimited stack size. Note that the resource module only
+#. is available on UNIX.
+#: lilylib.py:114 midi2ly.py:136 mup2ly.py:130 main.cc:188 main.cc:200
+#, c-format, python-format
+msgid "Copyright (c) %s by"
+msgstr "Copyright (c) %s di"
+
+#: lilylib.py:114
+msgid " 1998--2003"
 msgstr ""
 
-#: ly2dvi.py:125 midi2ly.py:148 mup2ly.py:143 update-lily.py:137 input.cc:87
+#: lilylib.py:118
+msgid "Distributed under terms of the GNU General Public License."
+msgstr ""
+
+#: lilylib.py:120
+msgid "It comes with NO WARRANTY."
+msgstr ""
+
+#: lilylib.py:127 midi2ly.py:150 mup2ly.py:144 input.cc:88
 msgid "warning: "
 msgstr "attenzione: "
 
-#: ly2dvi.py:128 ly2dvi.py:143 midi2ly.py:163 midi2ly.py:1012 midi2ly.py:1081
-#: mup2ly.py:146 mup2ly.py:160 update-lily.py:152 update-lily.py:458
-#: input.cc:92
+#. lots of midi files use plain text for lyric events
+#. FIXME: read from stdin when files[0] = '-'
+#: lilylib.py:130 midi2ly.py:165 midi2ly.py:1018 midi2ly.py:1083 mup2ly.py:147
+#: mup2ly.py:161 input.cc:93
 msgid "error: "
 msgstr "errore: "
 
-#: ly2dvi.py:144 midi2ly.py:164 mup2ly.py:161 update-lily.py:153
-msgid "Exiting ... "
-msgstr ""
+#: lilylib.py:134
+#, fuzzy, python-format
+msgid "Exiting (%d)..."
+msgstr "Genero le voci..."
 
-#: ly2dvi.py:202 midi2ly.py:222 mup2ly.py:219 update-lily.py:211
-#, fuzzy, c-format
+#: lilylib.py:194 midi2ly.py:224 mup2ly.py:220
+#, fuzzy, python-format
 msgid "Usage: %s [OPTION]... FILE"
 msgstr "Uso: %s [OPZIONE... [FILE]"
 
-#: ly2dvi.py:206 midi2ly.py:226 mup2ly.py:223 update-lily.py:215 main.cc:166
+#: lilylib.py:198 midi2ly.py:228 mup2ly.py:224 main.cc:166
 msgid "Options:"
 msgstr "Opzioni: "
 
-#: ly2dvi.py:210 midi2ly.py:230 mup2ly.py:227 update-lily.py:219 main.cc:172
-#, c-format
+#: lilylib.py:202 midi2ly.py:232 mup2ly.py:228 main.cc:172
+#, c-format, python-format
 msgid "Report bugs to %s"
 msgstr ""
 
-#: ly2dvi.py:238 midi2ly.py:258 mup2ly.py:255 update-lily.py:247
-#, c-format
+#: lilylib.py:228
+#, fuzzy, python-format
+msgid "Opening pipe `%s'"
+msgstr "Genero le voci..."
+
+#. successful pipe close returns 'None'
+#: lilylib.py:240
+#, python-format
+msgid "`%s' failed (%d)"
+msgstr ""
+
+#: lilylib.py:242 lilylib.py:289 lilypond-book.py:231 ly2dvi.py:512
+msgid "The error log is as follows:"
+msgstr ""
+
+#: lilylib.py:262 midi2ly.py:260 mup2ly.py:256
+#, python-format
 msgid "Invoking `%s'"
 msgstr ""
 
-#: ly2dvi.py:243 midi2ly.py:262 mup2ly.py:260 update-lily.py:251
-#, c-format
-msgid "command exited with value %d"
+#: lilylib.py:264
+#, fuzzy, python-format
+msgid "Running %s..."
+msgstr "Genero le voci..."
+
+#: lilylib.py:282
+#, python-format
+msgid "`%s' failed (%s)"
 msgstr ""
 
-#: ly2dvi.py:246 midi2ly.py:264 mup2ly.py:263 update-lily.py:253
+#: lilylib.py:285 midi2ly.py:266 mup2ly.py:264
 msgid "(ignored)"
 msgstr ""
 
-#: ly2dvi.py:256 midi2ly.py:274 mup2ly.py:273 update-lily.py:263
-#, fuzzy, c-format
+#: lilylib.py:299 midi2ly.py:276 mup2ly.py:274
+#, fuzzy, python-format
 msgid "Cleaning %s..."
 msgstr "Genero le voci..."
 
-#: ly2dvi.py:330
-msgid "Run LilyPond using LaTeX for titling"
+#. Duh.  Python style portable: cp *.EXT OUTDIR
+#. system ('cp *.%s %s' % (ext, outdir), 1)
+#. Python < 1.5.2 compatibility
+#.
+#. On most platforms, this is equivalent to
+#. `normpath(join(os.getcwd()), PATH)'.  *Added in Python version 1.5.2*
+#. tex needs lots of memory, more than it gets by default on Debian
+#. TODO: * prevent multiple addition.
+#. * clean TEXINPUTS, MFINPUTS, TFMFONTS,
+#. as these take prevalence over $TEXMF
+#. and thus may break tex run?
+#. $TEXMF is special, previous value is already taken care of
+#. # -sOutputFile does not work with bbox?
+#. # todo:
+#. # have better algorithm for deciding when to crop page,
+#. # and when to show full page
+#: lilylib.py:458
+msgid "Removing output file"
+msgstr ""
+
+#. !@PYTHON@
+#. once upon a rainy monday afternoon.
+#.
+#. ...
+#.
+#. (not finished.)
+#. ABC standard v1.6:  http://www.gre.ac.uk/~c.walshaw/abc2mtex/abc.txt
+#.
+#. Enhancements  (Roy R. Rankin)
+#.
+#. Header section moved to top of lilypond file
+#. handle treble, treble-8, alto, and bass clef
+#. Handle voices (V: headers) with clef and part names, multiple voices
+#. Handle w: lyrics with multiple verses
+#. Handle key mode names for minor, major, phrygian, ionian, locrian, aeolian,
+#. mixolydian, lydian, dorian
+#. Handle part names from V: header
+#. Tuplets handling fixed up
+#. Lines starting with |: not discarded as header lines
+#. Multiple T: and C: header entries handled
+#. Accidental maintained until next bar check
+#. Silent rests supported
+#. articulations fermata, upbow, downbow, ltoe, accent, tenuto supported
+#. Chord strings([-^]"string") can contain a '#'
+#. Header fields enclosed by [] in notes string processed
+#. W: words output after tune as abc2ps does it (they failed before)
+#. Enhancements (Laura Conrad)
+#.
+#. Barring now preserved between ABC and lilypond
+#. the default placement for text in abc is above the staff.
+#. %%LY now supported.
+#. \breve and \longa supported.
+#. M:none doesn't crash lily.
+#. Limitations
+#.
+#. Multiple tunes in single file not supported
+#. Blank T: header lines should write score and open a new score
+#. Not all header fields supported
+#. ABC line breaks are ignored
+#. Block comments generate error and are ignored
+#. Postscript commands are ignored
+#. lyrics not resynchronized by line breaks (lyrics must fully match notes)
+#. %%LY slyrics can't be directly before a w: line.
+#. ???
+#. TODO:
+#.
+#. Convert to new chord styles.
+#.
+#. UNDEF -> None
+#.
+#. uGUHGUHGHGUGH
+#. UGH
+#. treble8 is used by abctab2ps; -8va is used by barfly,
+#. and by my patch to abc2ps. If there's ever a standard
+#. about this we'll support that.
+#. find keywork
+#. assume that Q takes the form "Q:1/4=120"
+#. There are other possibilities, but they are deprecated
+#. outf.write ("\t\t\\consists Staff_margin_engraver\n")
+#. pitch manipulation. Tuples are (name, alteration).
+#. 0 is (central) C. Alteration -1 is a flat, Alteration +1 is a sharp
+#. pitch in semitones.
+#. abc to lilypond key mode names
+#. semitone shifts for key mode names
+#. latex does not like naked #'s
+#. latex does not like naked "'s
+#. break lyrics to words and put "'s around words containing numbers and '"'s
+#. escape "
+#. _ causes probs inside ""
+#. _ to ' _ '
+#. split words with -
+#. unless \-
+#. ~ to space('_')
+#. * to to space
+#. latex does not like naked #'s
+#. put numbers and " and ( into quoted string
+#. insure space between lines
+#. title
+#. strip trailing blanks
+#. Meter
+#. KEY
+#. seperate clef info
+#. there may or may not be a space
+#. between the key letter and the mode
+#. ugh.
+#. ugh.
+#. Notes
+#. Origin
+#. Reference Number
+#. Area
+#. History
+#. Book
+#. Composer
+#. Default note length
+#. Voice
+#. Words
+#. vocals
+#. tempo
+#. we use in this order specified accidental, active accidental for bar,
+#. active accidental for key
+#. (num /  den)  / defaultlen < 1/base
+#. return (str, num,den,dots)
+#. ignore slide
+#. ignore roll
+#. s7m2 input doesnt care about spaces
+#.
+#. remember accidental for rest of bar
+#.
+#. get accidental set in this bar or UNDEF if not set
+#. WAT IS ABC EEN ONTZETTENDE PROGRAMMEERPOEP  !
+#. failed; not a note!
+#. escape '#'s
+#.
+#. |] thin-thick double bar line
+#. || thin-thin double bar line
+#. [| thick-thin double bar line
+#. :| left repeat
+#. |: right repeat
+#. :: left-right repeat
+#. |1 volta 1
+#. |2 volta 2
+#. first try the longer one
+#. bracket escape
+#. the nobarlines option is necessary for an abc to lilypond translator for
+#. exactly the same reason abc2midi needs it: abc requires the user to enter
+#. the note that will be printed, and MIDI and lilypond expect entry of the
+#. pitch that will be played.
+#.
+#. In standard 19th century musical notation, the algorithm for translating
+#. between printed note and pitch involves using the barlines to determine
+#. the scope of the accidentals.
+#.
+#. Since ABC is frequently used for music in styles that do not use this
+#. convention, such as most music written before 1700, or ethnic music in
+#. non-western scales, it is necessary to be able to tell a translator that
+#. the barlines should not affect its interpretation of the pitch.
+#. write other kinds of appending  if we ever need them.
+#. add comments to current voice
+#. Try nibbling characters off until the line doesn't change.
+#. dump_global (outf)
+#. !@PYTHON@
+#.
+#. convert-ly.py -- Update old LilyPond input files (fix name?)
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. TODO
+#. use -f and -t for -s output
+#. NEWS
+#. 0.2
+#. - rewrite in python
+#. Did we ever have \mudela-version?  I doubt it.
+#. lilypond_version_re_str = '\\\\version *\"(.*)\"'
+#. ###########################
+#. need new a namespace
+#. raise FatalConversionError()
+#. need new a namespace
+#. harmful to current .lys
+#. str = re.sub ('\\\\key([^;]+);', '\\\\accidentals \\1;', str)
+#. raise FatalConversionError()
+#. raise FatalConversionError()
+#. raise FatalConversionError()
+#. TODO: lots of other syntax change should be done here as well
+#. Ugh, but meaning of \stemup changed too
+#. maybe we should do \stemup -> \stemUp\slurUp\tieUp ?
+#. I don't know exactly when these happened...
+#. ugh, we loose context setting here...
+#. (lacks capitalisation slur -> Slur)
+#. # dynamic..
+#. TODO: add lots of these
+#. ugh
+#. old fix
+#. Make sure groups of more than one ; have space before
+#. them, so that non of them gets removed by next rule
+#. Only remove ; that are not after spaces, # or ;
+#. Otherwise  we interfere with Scheme comments,
+#. which is badbadbad.
+#. 40 ?
+#. ###############################
+#. END OF CONVERSIONS
+#. ###############################
+#. !@PYTHON@
+#. info mostly taken from looking at files. See also
+#. http://lilypond.org/wiki/?EnigmaTransportFormat
+#. This supports
+#.
+#. * notes
+#. * rests
+#. * ties
+#. * slurs
+#. * lyrics
+#. * articulation
+#. * grace notes
+#. * tuplets
+#.
+#. todo:
+#. * slur/stem directions
+#. * voices (2nd half of frame?)
+#. * more intelligent lyrics
+#. * beams (better use autobeam?)
+#. * more robust: try entertainer.etf (freenote)
+#. * dynamics
+#. * empty measures (eg. twopt03.etf from freenote)
+#.
+#. uGUHGUHGHGUGH
+#. notename 0 == central C
+#. represent pitches as (notename, alteration), relative to C-major scale
+#. a fifth up
+#. should cache this.
+#. flag1 isn't all that interesting.
+#. 3: '>',
+#. 18: '\arpeggio' ,
+#. do grace notes.
+#. ugh.
+#. we don't attempt voltas since they fail easily.
+#. and g.repeat_bar == '|:' or g.repeat_bar == ':|:' or g.bracket:
+#. 4 layers.
+#. let's not do this: this really confuses when eE happens to be before  a ^text.
+#. if last_tag and last_indices:
+#. etf_file_dict[last_tag][last_indices].append (l)
+#. # do it
+#. staff-spec
+#. should use \addlyrics ?
+#. !@PYTHON@
+#. vim: set noexpandtab:
+#. This is was the idea for handling of comments:
+#. Multiline comments, @ignore .. @end ignore is scanned for
+#. in read_doc_file, and the chunks are marked as 'ignore', so
+#. lilypond-book will not touch them any more. The content of the
+#. chunks are written to the output file. Also 'include' and 'input'
+#. regex has to check if they are commented out.
+#.
+#. Then it is scanned for 'lilypond', 'lilypond-file' and 'lilypond-block'.
+#. These three regex's has to check if they are on a commented line,
+#. % for latex, @c for texinfo.
+#.
+#. Then lines that are commented out with % (latex) and @c (Texinfo)
+#. are put into chunks marked 'ignore'. This cannot be done before
+#. searching for the lilypond-blocks because % is also the comment character
+#. for lilypond.
+#.
+#. The the rest of the rexeces are searched for. They don't have to test
+#. if they are on a commented out line.
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. if __name__ == '__main__':
+#. lilylib globals
+#. temp_dir = os.path.join (original_dir,  '%s.dir' % program_name)
+#. urg
+#. # FIXME
+#. # ly2dvi: silly name?
+#. # do -P or -p by default?
+#. #help_summary = _ ("Run LilyPond using LaTeX for titling")
+#: lilypond-book.py:120
+msgid "Process LilyPond snippets in hybrid html, LaTeX or texinfo document"
+msgstr ""
+
+#. another bug in option parser: --output=foe is taken as an abbreviation
+#. for --output-format
+#: lilypond-book.py:125 main.cc:110
+msgid "EXT"
+msgstr ""
+
+#: lilypond-book.py:125
+msgid "use output format EXT (texi [default], texi-html, latex, html)"
 msgstr ""
 
-#: ly2dvi.py:334 main.cc:115
+#: lilypond-book.py:126 lilypond-book.py:127 lilypond-book.py:129
+#: lilypond-book.py:130
+msgid "DIM"
+msgstr ""
+
+#: lilypond-book.py:126
+msgid "default fontsize for music.  DIM is assumed to be in points"
+msgstr ""
+
+#: lilypond-book.py:127
+msgid "deprecated, use --default-music-fontsize"
+msgstr ""
+
+#: lilypond-book.py:128
+msgid "OPT"
+msgstr ""
+
+#: lilypond-book.py:128
+msgid "pass OPT quoted to the lilypond command line"
+msgstr ""
+
+#: lilypond-book.py:129
+msgid "force fontsize for all inline lilypond. DIM is assumed be to in points"
+msgstr ""
+
+#: lilypond-book.py:130
+msgid "deprecated, use --force-music-fontsize"
+msgstr ""
+
+#: lilypond-book.py:132 ly2dvi.py:130 main.cc:113 main.cc:118
+msgid "DIR"
+msgstr ""
+
+#: lilypond-book.py:132
+msgid "include path"
+msgstr ""
+
+#: lilypond-book.py:133
+#, fuzzy
+msgid "write dependencies"
+msgstr "aspettavo uno spazio bianco"
+
+#: lilypond-book.py:134
+msgid "PREF"
+msgstr ""
+
+#: lilypond-book.py:134
+msgid "prepend PREF before each -M dependency"
+msgstr ""
+
+#: lilypond-book.py:135
+msgid "don't run lilypond"
+msgstr ""
+
+#: lilypond-book.py:136
+msgid "don't generate pictures"
+msgstr ""
+
+#: lilypond-book.py:137
+msgid "strip all lilypond blocks from output"
+msgstr ""
+
+#: lilypond-book.py:138 lilypond-book.py:139 ly2dvi.py:135 ly2dvi.py:136
+#: midi2ly.py:102 main.cc:114 main.cc:117
+msgid "FILE"
+msgstr ""
+
+#: lilypond-book.py:138
+#, fuzzy
+msgid "filename main output file"
+msgstr "  -D, --debug            abilita l'output di debugging\n"
+
+#: lilypond-book.py:139
+msgid "where to place generated files"
+msgstr ""
+
+#: lilypond-book.py:140 ly2dvi.py:137
+msgid "RES"
+msgstr ""
+
+#: lilypond-book.py:141 ly2dvi.py:138
+msgid "set the resolution of the preview to RES"
+msgstr ""
+
+#: lilypond-book.py:142 ly2dvi.py:148 midi2ly.py:105 mup2ly.py:78 main.cc:126
+msgid "verbose"
+msgstr ""
+
+#: lilypond-book.py:143
+msgid "print version information"
+msgstr ""
+
+#: lilypond-book.py:144 ly2dvi.py:150 midi2ly.py:107 mup2ly.py:80 main.cc:127
+#, fuzzy
+msgid "show warranty and copyright"
+msgstr "  -w, --warranty         mostra la garanzia e il copyright\n"
+
+#. format specific strings, ie. regex-es for input, and % strings for output
+#. global variables
+#. lilypond_binary = 'valgrind --suppressions=/home/hanwen/usr/src/guile-1.6.supp  --num-callers=10 /home/hanwen/usr/src/lilypond/lily/out/lilypond'
+#. only use installed binary  when we're installed too.
+#. only use installed binary  when we're installed too.
+#. ###############################################################
+#. Dimension handling for LaTeX.
+#.
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#: lilypond-book.py:230
+msgid "LaTeX failed."
+msgstr ""
+
+#. URG see ly2dvi
+#. Convert numeric values, with or without specific dimension, to floats.
+#. Keep other strings
+#. ###############################################################
+#. How to output various structures.
+#. # maybe <hr> ?
+#. Verbatim text is always finished with \n.  FIXME: For HTML,
+#. this newline should be removed.
+#. Verbatim text is always finished with \n.  FIXME: For HTML,
+#. this newline should be removed.
+#. # Ugh we need to differentiate on origin:
+#. # lilypond-block origin wants an extra <p>, but
+#. # inline music doesn't.
+#. # possibly other center options?
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. do some tweaking: @ is needed in some ps stuff.
+#.
+#. ugh, the <p> below breaks inline images...
+#. clumsy workaround for python 2.2 pre bug.
+#. ###############################################################
+#. Recognize special sequences in the input
+#. Warning: This uses extended regular expressions.  Tread with care.
+#.
+#. legenda
+#.
+#. (?P<name>regex) -- assign result of REGEX to NAME
+#. *? -- match non-greedily.
+#. (?m) -- multiline regex: make ^ and $ match at each line
+#. (?s) -- make the dot match all characters including newline
+#. why do we have distinction between @mbinclude and @include?
+#. # we'd like to catch and reraise a more
+#. # detailed error, but alas, the exceptions
+#. # changed across the 1.5/2.1 boundary.
+#. ughUGH not original options
+#. First we want to scan the \documentclass line
+#. it should be the first non-comment line.
+#. The only thing we really need to know about the \documentclass line
+#. is if there are one or two columns to begin with.
+#. Then we add everything before \begin{document} to
+#. paperguru.m_document_preamble so that we can later write this header
+#. to a temporary file in find_latex_dims() to find textwidth.
+#. this is not bulletproof..., it checks the first 10 chunks
+#. newchunks.extend (func (m))
+#. python 1.5 compatible:
+#. we have to check for verbatim before doing include,
+#. because we don't want to include files that are mentioned
+#. inside a verbatim environment
+#. ugh fix input
+#. # Hmm, we should hash only lilypond source, and skip the
+#. # %options are ...
+#. # comment line
+#. # todo: include path, but strip
+#. # first part of the path.
+#. format == 'html'
+#. ugh rename
+#. Count sections/chapters.
+#. # TODO: do something like
+#. # this for texinfo/latex as well ?
+#. ugh
+#. fixme: be sys-independent.
+#.
+#. Ugh, fixing up dependencies for .tex generation
+#.
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#. # There used to be code to write .tex dependencies, but
+#. # that is silly: lilypond-book has its own dependency scheme
+#. # to ensure that all lily-XXX.tex files are there
+#. # TODO: put file name in front of texidoc.
+#. #
+#. # what's this? Docme --hwn
+#. #
+#. #docme: why global?
+#. Do It.
+#. should chmod -w
+#: lilypond-book.py:1557 ly2dvi.py:673 midi2ly.py:1018
+#, python-format
+msgid "getopt says: `%s'"
+msgstr ""
+
+#. HACK
+#. status = os.system ('lilypond -w')
+#: lilypond-book.py:1630 ly2dvi.py:777
+msgid "no files specified on command line"
+msgstr ""
+
+#.
+#. Petr, ik zou willen dat ik iets zinvoller deed,
+#. maar wat ik kan ik doen, het verandert toch niets?
+#. --hwn 20/aug/99
+#. !@PYTHON@
+#.
+#. ly2dvi.py -- Run LilyPond, add titles to bare score, generate printable
+#. document
+#. Invokes: lilypond, latex (or pdflatex), dvips, ps2pdf, gs
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. This is the third incarnation of ly2dvi.
+#.
+#. Earlier incarnations of ly2dvi were written by
+#. Jeffrey B. Reed<daboys@austin.rr.com> (Python version)
+#. Jan Arne Fagertun <Jan.A.Fagertun@@energy.sintef.no> (Bourne shell script)
+#.
+#. Note: gettext work best if we use ' for docstrings and "
+#. for gettextable strings.
+#. --> DO NOT USE ''' for docstrings.
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. if __name__ == '__main__':
+#. lilylib globals
+#. # FIXME
+#. # ly2dvi: silly name?
+#. # do -P or -p by default?
+#. #help_summary = _ ("Run LilyPond using LaTeX for titling")
+#: ly2dvi.py:121
+msgid "Run LilyPond, add titles, generate printable document"
+msgstr ""
+
+#: ly2dvi.py:127 main.cc:115
 #, fuzzy
 msgid "write Makefile dependencies for every input file"
 msgstr ""
 "  -d, --dependencies     scrive le dependenze del Makefile per ogni file di "
 "input\n"
 
-#: ly2dvi.py:335 midi2ly.py:98 mup2ly.py:74 update-lily.py:87 main.cc:111
-msgid "this help"
-msgstr ""
-
-#: ly2dvi.py:336 main.cc:113 main.cc:118
-msgid "DIR"
+#: ly2dvi.py:129
+msgid "print even more output"
 msgstr ""
 
-#: ly2dvi.py:336
+#: ly2dvi.py:130
 #, fuzzy
 msgid "add DIR to LilyPond's search path"
 msgstr "  -I, --include=DIR      aggiunge DIR ai path di ricerca\n"
 
-#: ly2dvi.py:338
-#, c-format
+#: ly2dvi.py:132
+#, python-format
 msgid "keep all output, output to directory %s.dir"
 msgstr ""
 
-#: ly2dvi.py:339
+#: ly2dvi.py:133
 msgid "don't run LilyPond"
 msgstr ""
 
-#: ly2dvi.py:340 main.cc:116
+#: ly2dvi.py:134 main.cc:116
 #, fuzzy
 msgid "produce MIDI output only"
 msgstr "  -M, --no-paper         produce solo output midi\n"
 
-#: ly2dvi.py:341 ly2dvi.py:342 midi2ly.py:100 main.cc:114 main.cc:117
-msgid "FILE"
-msgstr ""
-
-#: ly2dvi.py:341 midi2ly.py:100
+#: ly2dvi.py:135 midi2ly.py:102
 msgid "write ouput to FILE"
 msgstr ""
 
-#: ly2dvi.py:342
+#: ly2dvi.py:136
 msgid "find pfa fonts used in FILE"
 msgstr ""
 
-#: ly2dvi.py:344
-msgid "set the resolution of the preview to RES"
+#: ly2dvi.py:139
+#, fuzzy
+msgid "generate PostScript output"
+msgstr "vincoli degenerati"
+
+#: ly2dvi.py:140
+msgid "generate PNG page images"
 msgstr ""
 
-#: ly2dvi.py:345
+#: ly2dvi.py:141
 #, fuzzy
-msgid "generate PostScript output"
+msgid "generate PS.GZ"
 msgstr "vincoli degenerati"
 
-#: ly2dvi.py:346
+#: ly2dvi.py:142
 #, fuzzy
 msgid "generate PDF output"
 msgstr "vincoli degenerati"
 
-#: ly2dvi.py:347
+#: ly2dvi.py:143
 msgid "use pdflatex to generate a PDF output"
 msgstr ""
 
-#: ly2dvi.py:349
+#. FIXME: preview, picture; to indicate creation of a PNG?
+#: ly2dvi.py:145
 msgid "make a picture of the first system"
 msgstr ""
 
-#: ly2dvi.py:350
-msgid "KEY=VAL"
+#: ly2dvi.py:146
+msgid "make HTML file with links to all output"
 msgstr ""
 
-#: ly2dvi.py:350
-msgid "change global setting KEY to VAL"
+#: ly2dvi.py:147
+msgid "KEY=VAL"
 msgstr ""
 
-#: ly2dvi.py:351 midi2ly.py:103 mup2ly.py:77 update-lily.py:91 main.cc:126
-msgid "verbose"
+#: ly2dvi.py:147
+msgid "change global setting KEY to VAL"
 msgstr ""
 
-#: ly2dvi.py:352 midi2ly.py:104 mup2ly.py:78 update-lily.py:92 main.cc:125
+#: ly2dvi.py:149 midi2ly.py:106 mup2ly.py:79 main.cc:125
 msgid "print version number"
 msgstr ""
 
-#: ly2dvi.py:353 midi2ly.py:105 mup2ly.py:79 update-lily.py:94 main.cc:127
-#, fuzzy
-msgid "show warranty and copyright"
-msgstr "  -w, --warranty         mostra la garanzia e il copyright\n"
-
-#: ly2dvi.py:448
-#, fuzzy, c-format
+#. other globals
+#. Pdftex support
+#. # yuk.
+#. lilypond_binary = 'valgrind --suppressions=%(home)s/usr/src/guile-1.6.supp --num-callers=10 %(home)s/usr/src/lilypond/lily/out/lilypond '% { 'home' : '/home/hanwen' }
+#. only use installed binary  when we're installed too.
+#. init to empty; values here take precedence over values in the file
+#. # TODO: change name.
+#. for geometry v3
+#. Output formats that ly2dvi should create
+#. what a name.
+#. ly.warning (_ ("invalid value: %s") % `val`)
+#. ly.warning (_ ("invalid value: %s") % `val`)
+#: ly2dvi.py:232
+#, fuzzy, python-format
 msgid "no such setting: `%s'"
 msgstr "% strumento:"
 
-#: ly2dvi.py:508
-#, c-format
+#. 2 == user interrupt.
+#: ly2dvi.py:274
+#, python-format
 msgid "LilyPond crashed (signal %d)."
 msgstr ""
 
-#: ly2dvi.py:509
+#: ly2dvi.py:275
 msgid "Please submit a bug report to bug-lilypond@gnu.org"
 msgstr ""
 
-#: ly2dvi.py:513
-#, c-format
-msgid "LilyPond failed on the input file (exit status %d)."
+#: ly2dvi.py:281
+#, python-format
+msgid "LilyPond failed on input file %s (exit status %d)"
 msgstr ""
 
-#: ly2dvi.py:522
-#, fuzzy, c-format
+#: ly2dvi.py:284
+#, python-format
+msgid "LilyPond failed on an input file (exit status %d)"
+msgstr ""
+
+#: ly2dvi.py:285
+#, fuzzy
+msgid "Continuing..."
+msgstr "Genero le voci..."
+
+#. urg
+#: ly2dvi.py:296
+#, fuzzy, python-format
 msgid "Analyzing %s..."
 msgstr "Genero le voci..."
 
-#: ly2dvi.py:578
-#, fuzzy, c-format
+#. search only the first 10k
+#: ly2dvi.py:354
+#, fuzzy, python-format
 msgid "no LilyPond output found for `%s'"
 msgstr "Output di Lily in %s..."
 
-#: ly2dvi.py:618
-#, fuzzy, c-format
+#. The final \n seems important here. It ensures that the footers and taglines end up on the right page.
+#. TODO: should set textheight (enlarge) depending on papersize.
+#: ly2dvi.py:397
+#, fuzzy, python-format
 msgid "invalid value: `%s'"
 msgstr "carattere illegale: `%c'"
 
-#: ly2dvi.py:724
+#. set sane geometry width (a4-width) for linewidth = -1.
+#. who the hell is 597 ?
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#: ly2dvi.py:511
 msgid "LaTeX failed on the output file."
 msgstr ""
 
-#: ly2dvi.py:726
-msgid "The error log is as follows:"
+#. make a preview by rendering only the 1st line
+#. of each score
+#: ly2dvi.py:568
+msgid ""
+"Trying create PDF, but no PFA fonts found.\n"
+"Using bitmap fonts instead. This will look bad."
 msgstr ""
 
-#: ly2dvi.py:849
-#, fuzzy, c-format
+#. ugh. Different targets?
+#. Added as functionality to ly2dvi, because ly2dvi may well need to do this
+#. in future too.
+#. no ps header?
+#: ly2dvi.py:615
+#, fuzzy, python-format
 msgid "not a PostScript file: `%s'"
 msgstr "non posso aprire il file: `%s'"
 
-#: ly2dvi.py:865 midi2ly.py:1012 update-lily.py:458
-#, c-format
-msgid "getopt says: `%s'"
-msgstr ""
+#. todo
+#: ly2dvi.py:660
+#, fuzzy, python-format
+msgid "Writing HTML menu `%s'"
+msgstr "Genero le voci..."
 
-#: ly2dvi.py:948
+#. signal programming error
+#. Don't convert input files to abspath, rather prepend '.' to include
+#. path.
+#. As a neat trick, add directory part of first input file
+#. to include path.  That way you can do without the clumsy -I in:
+#. ly2dvi -I foe/bar/baz foo/bar/baz/baz.ly
+#: ly2dvi.py:769
 msgid "pseudo filter"
 msgstr ""
 
-#: ly2dvi.py:951
+#: ly2dvi.py:772
 msgid "pseudo filter only for single input file"
 msgstr ""
 
-#: ly2dvi.py:980
-#, c-format
+#. Ugh, maybe make a setup () function
+#. hmmm. Wish I'd 've written comments when I wrote this.
+#. now it looks complicated.
+#: ly2dvi.py:806
+#, python-format
 msgid "filename should not contain spaces: `%s'"
 msgstr ""
 
-#: ly2dvi.py:1076 input-file-results.cc:67
-#, fuzzy, c-format
+#. to be sure, add tmpdir *in front* of inclusion path.
+#. os.environ['TEXINPUTS'] =  tmpdir + ':' + os.environ['TEXINPUTS']
+#. We catch all exceptions, because we need to do stuff at exit:
+#. * copy any successfully generated stuff from tempdir and
+#. notify user of that
+#. * cleanout tempdir
+#. ## ARGH. This also catches python programming errors.
+#. ## this should only catch lilypond nonzero exit  status
+#. ## --hwn
+#. TODO: friendly message about LilyPond setup/failing?
+#.
+#: ly2dvi.py:845
+msgid "Running LilyPond failed. Rerun with --verbose for a trace."
+msgstr ""
+
+#. Our LilyPond pseudo filter always outputs to 'lelie'
+#. have subsequent stages and use 'lelie' output.
+#. unless: add --tex, or --latex?
+#. TODO: friendly message about TeX/LaTeX setup,
+#. trying to run tex/latex by hand
+#: ly2dvi.py:886
+msgid "Failed to make PS file. Rerun with --verbose for a trace."
+msgstr ""
+
+#. unless: add --tex, or --latex?
+#. TODO: friendly message about TeX/LaTeX setup,
+#. trying to run tex/latex by hand
+#: ly2dvi.py:916
+msgid "Running LaTeX falied. Rerun with --verbose for a trace."
+msgstr ""
+
+#. add DEP to targets?
+#: ly2dvi.py:926 input-file-results.cc:68
+#, fuzzy, c-format, python-format
 msgid "dependencies output to `%s'..."
 msgstr "L'output stampato è inviato a %s..."
 
-#: ly2dvi.py:1090 ly2dvi.py:1104 includable-lexer.cc:49
-#: input-file-results.cc:187 input-file-results.cc:193 lily-guile.cc:97
-#, c-format
+#: ly2dvi.py:937
+#, fuzzy, python-format
+msgid "%s output to <stdout>..."
+msgstr "L'output MIDI è inviato a %s..."
+
+#: ly2dvi.py:942 ly2dvi.py:968 includable-lexer.cc:57
+#: input-file-results.cc:191 input-file-results.cc:197 lily-guile.cc:86
+#, c-format, python-format
 msgid "can't find file: `%s'"
 msgstr "non trovo il file: `%s'"
 
-#: ly2dvi.py:1102 midi2ly.py:996
-#, fuzzy, c-format
-msgid "%s output to `%s'..."
+#. Hmm, if this were a function, we could call it the except: clauses
+#: ly2dvi.py:965
+#, fuzzy, python-format
+msgid "%s output to %s..."
 msgstr "L'output MIDI è inviato a %s..."
 
-#: ly2dvi.py:1111
-msgid "no files specified on command line"
-msgstr ""
-
-#: midi2ly.py:92
+#. !@PYTHON@
+#.
+#. midi2ly.py -- LilyPond midi import script
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. ###############################################################
+#. Users of python modules should include this snippet.
+#.
+#. This soon to be removed for: import lilypond.lilylib as ly
+#. ###############################################################
+#. ###############################################################
+#. ############### CONSTANTS
+#. ###############################################################
+#. temp_dir = os.path.join (original_dir,  '%s.dir' % program_name)
+#. original_dir = os.getcwd ()
+#. keep_temp_dir_p = 0
+#: midi2ly.py:94
 msgid "Convert MIDI to LilyPond source"
 msgstr ""
 
-#: midi2ly.py:95
+#: midi2ly.py:97
 msgid "print absolute pitches"
 msgstr ""
 
-#: midi2ly.py:96 midi2ly.py:101
+#: midi2ly.py:98 midi2ly.py:103
 msgid "DUR"
 msgstr ""
 
-#: midi2ly.py:96
+#: midi2ly.py:98
 msgid "quantise note durations on DUR"
 msgstr ""
 
-#: midi2ly.py:97
+#: midi2ly.py:99
 msgid "print explicit durations"
 msgstr ""
 
-#: midi2ly.py:99
+#: midi2ly.py:101
 msgid "ALT[:MINOR]"
 msgstr ""
 
-#: midi2ly.py:99
+#: midi2ly.py:101
 #, fuzzy
 msgid "set key: ALT=+sharps|-flats; MINOR=1"
 msgstr ""
 " -k, --key=ACC[:MINOR]  imposta l'armatura: ACC +diesis/-bemolli; :1 minore\n"
 
-#: midi2ly.py:101
+#: midi2ly.py:103
 msgid "quantise note starts on DUR"
 msgstr ""
 
-#: midi2ly.py:102
+#: midi2ly.py:104
 msgid "DUR*NUM/DEN"
 msgstr ""
 
-#: midi2ly.py:102
+#: midi2ly.py:104
 msgid "allow tuplet durations DUR*NUM/DEN"
 msgstr ""
 
-#: midi2ly.py:106
+#: midi2ly.py:108
 msgid "treat every text as a lyric"
 msgstr ""
 
-#: midi2ly.py:1027
+#: midi2ly.py:136 mup2ly.py:130
+msgid " 2001--2003"
+msgstr ""
+
+#: midi2ly.py:141 mup2ly.py:135
+msgid ""
+"\n"
+"Distributed under terms of the GNU General Public License. It comes with\n"
+"NO WARRANTY."
+msgstr ""
+
+#: midi2ly.py:166 mup2ly.py:162
+msgid "Exiting ... "
+msgstr ""
+
+#: midi2ly.py:264 mup2ly.py:261
+#, python-format
+msgid "command exited with value %d"
+msgstr ""
+
+#. ###############################################################
+#. END Library
+#. ###############################################################
+#. hmm
+#. major scale: do-do
+#. minor scale: la-la  (= + 5) '''
+#. By tradition, all scales now consist of a sequence
+#. of 7 notes each with a distinct name, from amongst
+#. a b c d e f g.  But, minor scales have a wide
+#. second interval at the top - the 'leading note' is
+#. sharped. (Why? it just works that way! Anything
+#. else doesn't sound as good and isn't as flexible at
+#. saying things. In medieval times, scales only had 6
+#. notes to avoid this problem - the hexachords.)
+#. So, the d minor scale is d e f g a b-flat c-sharp d
+#. - using d-flat for the leading note would skip the
+#. name c and duplicate the name d.  Why isn't c-sharp
+#. put in the key signature? Tradition. (It's also
+#. supposedly based on the Pythagorean theory of the
+#. cycle of fifths, but that really only applies to
+#. major scales...)  Anyway, g minor is g a b-flat c d
+#. e-flat f-sharp g, and all the other flat minor keys
+#. end up with a natural leading note. And there you
+#. have it.
+#. John Sankey <bf250@freenet.carleton.ca>
+#.
+#. Let's also do a-minor: a b c d e f gis a
+#.
+#. --jcn
+#. as -> gis
+#. des -> cis
+#. ges -> fis
+#. g -> fisis
+#. d -> cisis
+#. a -> gisis
+#. b -> ces
+#. e -> fes
+#. f -> eis
+#. c -> bis
+#. # FIXME: compile fix --jcn
+#. TODO: move space
+#. fis cis gis dis ais eis bis
+#. bes es as des ges ces fes
+#. urg, we should be sure that we're in a lyrics staff
+#. all include ALL_NOTES_OFF
+#. ugh, must set key while parsing
+#. because Note init uses key
+#. Better do Note.calc () at dump time?
+#. last_lyric.clocks = t - last_time
+#. hmm
+#. urg, this will barf at meter changes
+#. urg LilyPond doesn't start at c4, but
+#. remembers from previous tracks!
+#. reference_note = Note (clocks_per_4, 4*12, 0)
+#. must be in \notes mode for parsing \skip
+#: midi2ly.py:1002
+#, fuzzy, python-format
+msgid "%s output to `%s'..."
+msgstr "L'output MIDI è inviato a %s..."
+
+#: midi2ly.py:1033
 msgid "Example:"
 msgstr ""
 
-#: midi2ly.py:1081
+#: midi2ly.py:1083
 msgid "no files specified on command line."
 msgstr ""
 
-#: mup2ly.py:69
+#. !@PYTHON@
+#. mup2ly.py -- mup input converter
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c) 2001
+#. if set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#: mup2ly.py:70
 msgid "Convert mup to LilyPond source"
 msgstr ""
 
-#: mup2ly.py:72
+#: mup2ly.py:73
 msgid "debug"
 msgstr ""
 
-#: mup2ly.py:73
+#: mup2ly.py:74
 msgid "define macro NAME [optional expansion EXP]"
 msgstr ""
 
-#: mup2ly.py:75 main.cc:117
+#: mup2ly.py:76 main.cc:117
 msgid "write output to FILE"
 msgstr ""
 
-#: mup2ly.py:76
+#: mup2ly.py:77
 msgid "only pre-process"
 msgstr ""
 
-#: mup2ly.py:1073
-#, fuzzy, c-format
+#. Duh.  Python style portable: cp *.EXT OUTDIR
+#. system ('cp *.%s %s' % (ext, outdir), 1)
+#. Python < 1.5.2 compatibility
+#.
+#. On most platforms, this is equivalent to
+#. `normpath(join(os.getcwd()), PATH)'.  *Added in Python version 1.5.2*
+#. if set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. ###############################################################
+#. END Library
+#.
+#. PMX cut and paste
+#.
+#. if not self.entries:
+#. #return '\n'
+#. #ugh ugh
+#. return '\n%s = {}\n\n' % self.idstring ()
+#. ugh
+#. def set_clef (self, letter):
+#. clstr = clef_table[letter]
+#. self.voices[0].add_nonchord (Clef (clstr))
+#. urg
+#. maybe use import copy?
+#. for i in self.pitches:
+#. ch.pitches.append (i)
+#. for i in self.scripts:
+#. ch.scripts.append (i)
+#. http://www.arkkra.com/doc/uguide/contexts.html
+#. #self.current_staffs = []
+#. duh
+#. FIXME: 1?
+#. FIXME: does key play any role in this?
+#. ch = self.current_voices[0].last_chord ()
+#. ch.basic_duration = self.current_voices[0].last_chord ().basic_duration
+#. ugh
+#. ch = self.current_voices[0].last_chord ()
+#. `;' is not a separator, chords end with ';'
+#. mup resets default duration and pitch each bar
+#. ugh: these (and lots more) should also be parsed in
+#. context staff.  we should have a class Staff_properties
+#. and parse/set all those.
+#. shortcut: set to official mup maximum (duh)
+#. self.set_staffs (40)
+#: mup2ly.py:1076
+#, fuzzy, python-format
 msgid "no such context: %s"
 msgstr "% strumento:"
 
-#: mup2ly.py:1297
-#, fuzzy, c-format
+#. hmm
+#. dig this: mup allows ifdefs inside macro bodies
+#. don't do nested multi-line defines
+#. duh: mup is strictly line-based, except for `define',
+#. which is `@' terminated and may span several lines
+#. don't define new macros in unactive areas
+#. To support nested multi-line define's
+#. process_function and macro_name, macro_body
+#. should become lists (stacks)
+#. The mup manual is undetermined on this
+#. and I haven't seen examples doing it.
+#.
+#. don't do nested multi-line define's
+#. writes to stdout for help2man
+#. don't call
+#. identify ()
+#. sys.stdout.flush ()
+#. handy emacs testing
+#. if not files:
+#. files = ['template.mup']
+#: mup2ly.py:1300
+#, fuzzy, python-format
 msgid "Processing `%s'..."
 msgstr "Elaboro..."
 
-#: mup2ly.py:1316
-#, fuzzy, c-format
+#: mup2ly.py:1319
+#, fuzzy, python-format
 msgid "Writing `%s'..."
 msgstr "Genero le voci..."
 
-#: update-lily.py:76
-msgid "Fetch and rebuild from latest source package"
-msgstr ""
-
-#: update-lily.py:79
-#, c-format
-msgid "unpack and build in DIR [%s]"
-msgstr ""
-
-#: update-lily.py:80
-msgid "execute COMMAND, subtitute:"
-msgstr ""
-
-#: update-lily.py:81
-msgid "%b: build root"
-msgstr ""
-
-#: update-lily.py:82
-#, c-format
-msgid "%n: package name"
-msgstr ""
-
-#: update-lily.py:83
-#, fuzzy
-msgid "%r: release directory"
-msgstr "non trovo e non posso creare `%s'"
-
-#: update-lily.py:84
-msgid "%t: tarball"
-msgstr ""
-
-#: update-lily.py:85
-msgid "%v: package version"
-msgstr ""
-
-#: update-lily.py:88
-#, c-format
-msgid "keep all output, and name the directory %s"
-msgstr ""
-
-#: update-lily.py:89
-msgid "upon failure notify EMAIL[,EMAIL]"
-msgstr ""
-
-#: update-lily.py:90
-msgid "remove previous build"
-msgstr ""
-
-#: update-lily.py:93
-#, c-format
-msgid "fetch and build URL [%s]"
-msgstr ""
-
-#: update-lily.py:429
-#, fuzzy, c-format
-msgid "Listing `%s'..."
-msgstr "Genero le voci..."
-
-#: update-lily.py:497
-#, c-format
-msgid "latest is: %s"
-msgstr ""
-
-#: update-lily.py:498
-#, c-format
-msgid "relax, %s is up to date"
-msgstr ""
-
-#: update-lily.py:507 update-lily.py:520
-#, fuzzy, c-format
-msgid "Fetching `%s'..."
-msgstr "Genero le voci..."
-
-#: update-lily.py:529
-#, fuzzy, c-format
-msgid "Building `%s'..."
-msgstr "Genero le voci..."
-
 #: getopt-long.cc:146
 #, c-format
 msgid "option `%s' requires an argument"
@@ -436,52 +1207,57 @@ msgstr "opzione non riconosciuta: `%s'"
 msgid "invalid argument `%s' to option `%s'"
 msgstr "argomento `%s' non valido per l'opzione `%s'"
 
-#: warn.cc:24
+#: warn.cc:25
 #, fuzzy, c-format
 msgid "warning: %s\n"
 msgstr "attenzione: "
 
-#: warn.cc:30
+#: warn.cc:31
 #, fuzzy, c-format
 msgid "error: %s\n"
 msgstr "errore: "
 
-#: warn.cc:43
+#: warn.cc:44
 #, c-format
 msgid "programming error: %s (Continuing; cross thumbs)\n"
 msgstr ""
 
-#: accidental-engraver.cc:181 new-accidental-engraver.cc:237
+#: accidental.cc:202 key-signature-interface.cc:137
+#, c-format
+msgid "accidental `%s' not found"
+msgstr ""
+
+#: accidental-engraver.cc:171 new-accidental-engraver.cc:238
 #, c-format
 msgid "Accidental typesetting list must begin with context-name: %s"
 msgstr ""
 
-#: accidental-engraver.cc:206 new-accidental-engraver.cc:262
+#: accidental-engraver.cc:196 new-accidental-engraver.cc:263
 #, fuzzy, c-format
 msgid "unknown accidental typesetting: %s. Ignored"
 msgstr "stringa di escape sconosciuta: `\\%s'"
 
-#: accidental-engraver.cc:222 new-accidental-engraver.cc:278
+#: accidental-engraver.cc:212 new-accidental-engraver.cc:279
 #, c-format
 msgid "Symbol is not a parent context: %s. Ignored"
 msgstr ""
 
-#: accidental-engraver.cc:225 new-accidental-engraver.cc:281
+#: accidental-engraver.cc:215 new-accidental-engraver.cc:282
 #, c-format
 msgid "Accidental typesetting must be pair or context-name: %s"
 msgstr ""
 
-#: afm.cc:60
+#: afm.cc:66
 #, fuzzy, c-format
 msgid "can't find character number: %d"
 msgstr "non riesco a trovare il carattere `%s'"
 
-#: afm.cc:75
+#: afm.cc:81
 #, fuzzy, c-format
 msgid "can't find character called: `%s'"
 msgstr "non riesco a trovare il carattere `%s'"
 
-#: afm.cc:125
+#: afm.cc:142
 #, c-format
 msgid "Error parsing AFM file: `%s'"
 msgstr ""
@@ -502,78 +1278,84 @@ msgid ""
 "to show font paths."
 msgstr ""
 
-#: all-font-metrics.cc:167
+#: all-font-metrics.cc:103
+msgid ""
+"A script for removing font-files is delivered with the source-code,\n"
+"in buildscripts/clean-fonts.sh"
+msgstr ""
+
+#: all-font-metrics.cc:169
 #, fuzzy, c-format
 msgid "can't find font: `%s'"
 msgstr "non trovo il file: `%s'"
 
-#: all-font-metrics.cc:168
+#: all-font-metrics.cc:170
 msgid "Loading default font"
 msgstr ""
 
-#: all-font-metrics.cc:183
+#: all-font-metrics.cc:185
 #, fuzzy, c-format
 msgid "can't find default font: `%s'"
 msgstr "non trovo il file: `%s'"
 
-#: all-font-metrics.cc:184 includable-lexer.cc:51 input-file-results.cc:188
+#: all-font-metrics.cc:186 includable-lexer.cc:59 input-file-results.cc:192
 #, fuzzy, c-format
 msgid "(search path: `%s')"
 msgstr "(Il path di caricamento è `%s'"
 
-#: all-font-metrics.cc:185
+#: all-font-metrics.cc:187
 msgid "Giving up"
 msgstr ""
 
 #: auto-change-iterator.cc:43 change-iterator.cc:60
-#: part-combine-music-iterator.cc:97
+#: part-combine-music-iterator.cc:120
 msgid "Can't switch translators, I'm there already"
 msgstr ""
 
-#: bar-check-iterator.cc:58
+#: bar-check-iterator.cc:51
 #, fuzzy, c-format
 msgid "barcheck failed at: %s"
 msgstr "controllo del battute fallito: %s"
 
-#: beam-engraver.cc:167
+#: beam.cc:146
+#, fuzzy
+msgid "beam has less than two visible stems"
+msgstr "beam con meno di due gambi"
+
+#: beam.cc:151
+#, fuzzy
+msgid "Beam has less than two stems. Removing beam."
+msgstr "beam con meno di due gambi"
+
+#: beam.cc:976
+msgid ""
+"Not sure that we can find a nice beam slope (no viable initial configuration "
+"found)."
+msgstr ""
+
+#: beam-engraver.cc:176
 msgid "already have a beam"
 msgstr ""
 
-#: beam-engraver.cc:234
+#: beam-engraver.cc:259
 #, fuzzy
 msgid "unterminated beam"
 msgstr "beam non terminato"
 
-#: beam-engraver.cc:267 chord-tremolo-engraver.cc:175
+#: beam-engraver.cc:292 chord-tremolo-engraver.cc:197
 #, fuzzy
 msgid "stem must have Rhythmic structure"
 msgstr "I gambi devono avere una struttura ritmica."
 
-#: beam-engraver.cc:281
+#: beam-engraver.cc:306
 msgid "stem doesn't fit in beam"
 msgstr "il gambo non rientra nel beam"
 
-#: beam-engraver.cc:282
+#: beam-engraver.cc:307
 msgid "beam was started here"
 msgstr ""
 
-#: beam.cc:134
-#, fuzzy
-msgid "beam has less than two visible stems"
-msgstr "beam con meno di due gambi"
-
-#: beam.cc:139
-#, fuzzy
-msgid "Beam has less than two stems. Removing beam."
-msgstr "beam con meno di due gambi"
-
-#: beam.cc:951
-msgid ""
-"Not sure that we can find a nice beam slope (no viable initial configuration "
-"found)."
-msgstr ""
-
-#: break-align-interface.cc:166
+#: break-align-interface.cc:173
 #, fuzzy, c-format
 msgid "No spacing entry from %s to `%s'"
 msgstr "traduttore sconosciuto `%s'"
@@ -597,69 +1379,109 @@ msgstr ""
 msgid "none of these in my family"
 msgstr ""
 
-#: chord-tremolo-engraver.cc:137 percent-repeat-engraver.cc:182
+#: chord-tremolo-engraver.cc:98
+#, c-format
+msgid "Chord tremolo with %d elements. Must have two elements."
+msgstr ""
+
+#: chord-tremolo-engraver.cc:157
 #, fuzzy
 msgid "unterminated chord tremolo"
 msgstr "beam non terminato"
 
-#: chord-tremolo-iterator.cc:50
+#: chord-tremolo-iterator.cc:69
 msgid "no one to print a tremolos"
 msgstr ""
 
-#: chord.cc:313
+#: clef.cc:64
+#, c-format
+msgid "clef `%s' not found"
+msgstr ""
+
+#: cluster.cc:131
+#, fuzzy, c-format
+msgid "unknown cluster style `%s'"
+msgstr "tipo di chiave sconosciuto"
+
+#: coherent-ligature-engraver.cc:84
+#, c-format
+msgid "gotcha: ptr=%ul"
+msgstr ""
+
+#: coherent-ligature-engraver.cc:96
+#, c-format
+msgid "distance=%f"
+msgstr ""
+
+#: coherent-ligature-engraver.cc:139
 #, c-format
-msgid "invalid subtraction: not part of chord: %s"
+msgid "Coherent_ligature_engraver: setting `spacing-increment = 0.01': ptr=%ul"
 msgstr ""
 
-#: chord.cc:342
+#: custos.cc:92
 #, c-format
-msgid "invalid inversion pitch: not part of chord: %s"
+msgid "custos `%s' not found"
 msgstr ""
 
 #: dimensions.cc:13
 msgid "NaN"
 msgstr ""
 
-#: dynamic-engraver.cc:187 span-dynamic-performer.cc:82
+#: dynamic-engraver.cc:204 span-dynamic-performer.cc:82
 #, fuzzy
 msgid "can't find start of (de)crescendo"
 msgstr "non trovo un (de)crescendo fino alla fine"
 
-#: dynamic-engraver.cc:211
+#: dynamic-engraver.cc:216
 #, fuzzy
 msgid "already have a crescendo"
 msgstr "crescendo non terminato"
 
-#: dynamic-engraver.cc:212
+#: dynamic-engraver.cc:217
 #, fuzzy
 msgid "already have a decrescendo"
 msgstr "crescendo non terminato"
 
-#: dynamic-engraver.cc:215
+#: dynamic-engraver.cc:220
 msgid "Cresc started here"
 msgstr ""
 
-#: dynamic-engraver.cc:307
+#: dynamic-engraver.cc:323
 #, fuzzy
 msgid "unterminated (de)crescendo"
 msgstr "crescendo non terminato"
 
-#: extender-engraver.cc:96
+#: event.cc:49
+#, fuzzy, c-format
+msgid "Transposition by %s makes alteration larger than two"
+msgstr "la trasposizine di %s rende le alterazioni più che doppie"
+
+#: event-chord-iterator.cc:76 output-property-music-iterator.cc:27
+#, fuzzy, c-format
+msgid "Junking event: `%s'"
+msgstr "Cosa? Non è una richiesta: `%s'"
+
+#: extender-engraver.cc:94
 msgid "unterminated extender"
 msgstr "extender non terminato"
 
-#: extender-engraver.cc:108
-msgid "Nothing to connect extender to on the left.  Ignoring extender request."
+#: extender-engraver.cc:106
+msgid "Nothing to connect extender to on the left.  Ignoring extender event."
 msgstr ""
 
-#: folded-repeat-iterator.cc:78
+#: folded-repeat-iterator.cc:88
 msgid "no one to print a repeat brace"
 msgstr ""
 
-#: font-interface.cc:238
+#: font-interface.cc:239
 msgid "couldn't find any font satisfying "
 msgstr ""
 
+#: glissando-engraver.cc:100
+#, fuzzy
+msgid "Unterminated glissando."
+msgstr "slur non terminato"
+
 #: gourlay-breaking.cc:188
 #, c-format
 msgid "Optimal demerits: %f"
@@ -669,6 +1491,27 @@ msgstr ""
 msgid "No feasible line breaking found"
 msgstr ""
 
+#: gregorian-ligature-engraver.cc:59
+#, c-format
+msgid "\\%s ignored"
+msgstr ""
+
+#: gregorian-ligature-engraver.cc:64
+#, c-format
+msgid "implied \\%s added"
+msgstr ""
+
+#.
+#. Todo: do something sensible. The grob-pq-engraver is not water
+#. tight, and stuff like tupletSpannerDuration confuses it.
+#.
+#: grob-pq-engraver.cc:130
+#, c-format
+msgid ""
+"Skipped something?\n"
+"Grob %s ended before I expected it to end."
+msgstr ""
+
 #: hairpin.cc:98
 msgid "decrescendo too small"
 msgstr ""
@@ -678,116 +1521,117 @@ msgstr ""
 msgid "crescendo too small"
 msgstr "troppo piccolo"
 
-#: hyphen-engraver.cc:89
+#: horizontal-bracket-engraver.cc:64
+msgid "Don't have that many brackets."
+msgstr ""
+
+#: horizontal-bracket-engraver.cc:73
+#, fuzzy
+msgid "Conflicting note group events."
+msgstr "richieste di timing in conflitto"
+
+#: hyphen-engraver.cc:87
 #, fuzzy
 msgid "unterminated hyphen"
 msgstr "beam non terminato"
 
-#: hyphen-engraver.cc:101
-msgid "Nothing to connect hyphen to on the left.  Ignoring hyphen request."
+#: hyphen-engraver.cc:99
+msgid "Nothing to connect hyphen to on the left.  Ignoring hyphen event."
 msgstr ""
 
-#: input-file-results.cc:71 source-file.cc:52 streams.cc:38
+#: input.cc:99
+#, fuzzy
+msgid "non fatal error: "
+msgstr "Errore non fatale: "
+
+#: input.cc:107 source-file.cc:146 source-file.cc:239
+msgid "position unknown"
+msgstr "posizione sconosciuta"
+
+#: input-file-results.cc:72 source-file.cc:54 streams.cc:38
 #, c-format
 msgid "can't open file: `%s'"
 msgstr "non posso aprire il file: `%s'"
 
-#: input-file-results.cc:131
+#: input-file-results.cc:132
 #, fuzzy
 msgid "Score contains errors; will not process it"
 msgstr "lo spartito contiene errori; non lo elaborerò"
 
-#: input-file-results.cc:168
+#: input-file-results.cc:172
 #, fuzzy, c-format
 msgid "Now processing: `%s'"
 msgstr "stringa di escape sconosciuta: `\\%s'"
 
-#: input.cc:98
-#, fuzzy
-msgid "non fatal error: "
-msgstr "Errore non fatale: "
-
-#: input.cc:106 source-file.cc:147 source-file.cc:240
-msgid "position unknown"
-msgstr "posizione sconosciuta"
-
-#: key-engraver.cc:91
-msgid "Conflicting key signatures found."
-msgstr ""
-
-#: key-engraver.cc:92
-msgid "This was the other key definition."
-msgstr ""
-
-#: key-performer.cc:92
+#: key-performer.cc:96
 msgid "FIXME: key change merge"
 msgstr ""
 
-#: kpath.cc:64
+#: kpath.cc:76
 #, fuzzy, c-format
 msgid "Kpathsea couldn't find TFM file `%s'"
 msgstr "non trovo il file: `%s'"
 
-#: ligature-bracket.cc:105 ligature-bracket.cc:139 ligature-engraver.cc:124
-msgid "no left bound"
-msgstr ""
-
-#: ligature-engraver.cc:81
+#: ligature-engraver.cc:159
 #, fuzzy
 msgid "can't find start of ligature"
 msgstr "non trovo le estremità di %s"
 
-#: ligature-engraver.cc:86
+#: ligature-engraver.cc:165
 msgid "no right bound"
 msgstr ""
 
-#: ligature-engraver.cc:108
+#: ligature-engraver.cc:191
 #, fuzzy
 msgid "already have a ligature"
 msgstr "crescendo non terminato"
 
-#: ligature-engraver.cc:166
+#: ligature-engraver.cc:207
+msgid "no left bound"
+msgstr ""
+
+#: ligature-engraver.cc:258
 #, fuzzy
 msgid "unterminated ligature"
 msgstr "slur non terminato"
 
-#: ligature-engraver.cc:183
+#: ligature-engraver.cc:282
 msgid "ligature may not contain rest; ignoring rest"
 msgstr ""
 
-#: ligature-engraver.cc:184
+#: ligature-engraver.cc:283
 #, fuzzy
 msgid "ligature was started here"
 msgstr "un cambio di tempo non è ammesso in questo punto"
 
-#: lily-guile.cc:99
+#: lily-guile.cc:88
 #, fuzzy, c-format
 msgid "(load path: `%s')"
 msgstr "(Il path di caricamento è `%s'"
 
-#: lily-guile.cc:582
+#: lily-guile.cc:576
 #, c-format
 msgid "Can't find property type-check for `%s' (%s)."
 msgstr ""
 
-#: lily-guile.cc:585
+#: lily-guile.cc:579
 msgid "Perhaps you made a typing error?"
 msgstr ""
 
-#: lily-guile.cc:591
+#: lily-guile.cc:585
 msgid "Doing assignment anyway."
 msgstr ""
 
-#: lily-guile.cc:605
+#: lily-guile.cc:599
 #, c-format
 msgid "Type check for `%s' failed; value `%s' must be of type `%s'"
 msgstr ""
 
-#: lookup.cc:141
+#: lookup.cc:173
 msgid "round filled box horizontal extent smaller than blot; decreasing blot"
 msgstr ""
 
-#: lookup.cc:146
+#: lookup.cc:178
 msgid "round filled box vertical extent smaller than blot; decreasing blot"
 msgstr ""
 
@@ -807,12 +1651,6 @@ msgstr ""
 msgid "set options, use -e '(ly-option-usage)' for help"
 msgstr ""
 
-#. another bug in option parser: --output=foe is taken as an abbreviation
-#. for --output-format
-#: main.cc:110
-msgid "EXT"
-msgstr ""
-
 #: main.cc:110
 msgid "use output format EXT"
 msgstr ""
@@ -875,17 +1713,13 @@ msgid ""
 "certain conditions.  Invoke as `%s --warranty' for more information.\n"
 msgstr ""
 
-#: main.cc:188 main.cc:200
-#, c-format
-msgid "Copyright (c) %s by"
-msgstr "Copyright (c) %s di"
-
 #: main.cc:198
 #, fuzzy
 msgid "GNU LilyPond -- The music typesetter"
 msgstr "GNU LilyPond -- Il tipografo musicale del progetto GNU"
 
 #: main.cc:206
+#, fuzzy
 msgid ""
 "    This program is free software; you can redistribute it and/or\n"
 "modify it under the terms of the GNU General Public License version 2\n"
@@ -898,7 +1732,8 @@ msgid ""
 "\n"
 "    You should have received a copy (refer to the file COPYING) of the\n"
 "GNU General Public License along with this program; if not, write to\n"
-"the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,\n"
+"the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA "
+"02111-1307,\n"
 "USA.\n"
 msgstr ""
 "    Questo programma è free software; puoi ridistribuirlo e/o\n"
@@ -917,78 +1752,73 @@ msgstr ""
 "Cambridge, MA 02136\n"
 "USA.\n"
 
-#: mensural-ligature-engraver.cc:321 mensural-ligature-engraver.cc:483
-msgid "unexpected case fall-through"
+#: mensural-ligature.cc:153
+#, c-format
+msgid "Mensural_ligature:thickness undefined on flexa %d; assuming 1.4"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:332
-msgid "ligature with less than 2 heads -> skipping"
+#: mensural-ligature.cc:169
+#, c-format
+msgid "Mensural_ligature:delta-pitch undefined on flexa %d; assuming 0"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:347
-msgid "can not determine pitch of ligature primitive -> skipping"
+#: mensural-ligature.cc:182
+#, c-format
+msgid "Mensural_ligature:flexa-width undefined on flexa %d; assuming 2.0"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:370
-msgid "prime interval within ligature -> skipping"
+#: mensural-ligature.cc:215
+msgid "Mensural_ligature:unexpected case fall-through"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:380
-msgid "mensural ligature: duration none of L, B, S -> skipping"
+#: mensural-ligature.cc:225
+msgid "Mensural_ligature: (join_left == 0)"
 msgstr ""
 
-#: mensural-ligature.cc:152
-#, c-format
-msgid "Mensural_ligature: thickness undefined on flexa %d; assuming 1.4"
+#: mensural-ligature-engraver.cc:248 mensural-ligature-engraver.cc:397
+msgid "unexpected case fall-through"
 msgstr ""
 
-#: mensural-ligature.cc:166
-#, c-format
-msgid "Mensural_ligature: delta-pitch undefined on flexa %d; assuming 0"
+#: mensural-ligature-engraver.cc:259
+msgid "ligature with less than 2 heads -> skipping"
 msgstr ""
 
-#: mensural-ligature.cc:177
-#, c-format
-msgid "Mensural_ligature: flexa-width undefined on flexa %d; assuming 2.0"
+#: mensural-ligature-engraver.cc:279
+msgid "can not determine pitch of ligature primitive -> skipping"
 msgstr ""
 
-#: mensural-ligature.cc:208
-msgid "Mensural_ligature: unexpected case fall-through"
+#: mensural-ligature-engraver.cc:302
+msgid "prime interval within ligature -> skipping"
 msgstr ""
 
-#: mensural-ligature.cc:217
-msgid "Menusral_ligature: (join_left == 0)"
+#: mensural-ligature-engraver.cc:312
+msgid "mensural ligature: duration none of L, B, S -> skipping"
 msgstr ""
 
-#: midi-item.cc:144
+#: midi-item.cc:148
 #, fuzzy, c-format
 msgid "no such instrument: `%s'"
 msgstr "% strumento:"
 
-#: midi-item.cc:234
+#: midi-item.cc:238
 msgid "silly duration"
 msgstr "indicazione durata priva di senso"
 
-#: midi-item.cc:247
+#: midi-item.cc:251
 msgid "silly pitch"
 msgstr "indicazione altezza priva di senso"
 
-#: music-output-def.cc:113
+#: music-output-def.cc:111
 #, fuzzy, c-format
 msgid "can't find `%s' context"
 msgstr "non trovo `%s'"
 
-#: music.cc:159
-#, fuzzy, c-format
-msgid "Transposition by %s makes accidental larger than two"
-msgstr "la trasposizine di %s rende le alterazioni più che doppie"
-
-#: my-lily-lexer.cc:142
+#: my-lily-lexer.cc:169
 #, fuzzy, c-format
 msgid "Identifier name is a keyword: `%s'"
 msgstr "Il nome dell'identificatore è una parola chiave (`%s')"
 
-#: my-lily-lexer.cc:162
+#: my-lily-lexer.cc:191
 #, c-format
 msgid "error at EOF: %s"
 msgstr "errore alla fine del file: %s"
@@ -1002,44 +1832,48 @@ msgstr "Analisi..."
 msgid "Braces don't match"
 msgstr "le bretelle no si accoppiano"
 
+#.
+#. music for the softenon children?
+#.
+#: new-fingering-engraver.cc:143
+msgid "music for the martians."
+msgstr ""
+
+#: new-tie-engraver.cc:166 tie-engraver.cc:217
+msgid "lonely tie"
+msgstr ""
+
 #: note-collision.cc:340
 #, fuzzy
 msgid "Too many clashing notecolumns.  Ignoring them."
 msgstr "Troppe collisioni tra colonne di note. Le ignoro."
 
-#: note-head.cc:134
-msgid "Symbol not found, "
+#: note-head.cc:127
+#, c-format
+msgid "note head `%s' not found"
 msgstr ""
 
-#: output-property-music-iterator.cc:20 request-chord-iterator.cc:76
-#, fuzzy, c-format
-msgid "Junking request: `%s'"
-msgstr "Cosa? Non è una richiesta: `%s'"
-
-#: paper-def.cc:122
+#: paper-def.cc:96
 #, fuzzy, c-format
 msgid "paper output to `%s'..."
 msgstr "L'output stampato è inviato a %s..."
 
-#: paper-outputter.cc:57
-msgid ", at "
-msgstr ", a "
-
-#: paper-score.cc:77
+#: paper-score.cc:78
 #, c-format
 msgid "Element count %d (spanners %d) "
 msgstr ""
 
-#: paper-score.cc:82
-msgid "Preprocessing elements..."
+#: paper-score.cc:83
+#, fuzzy
+msgid "Preprocessing graphical objects..."
 msgstr "Pre-elaborazione..."
 
-#: paper-score.cc:115
+#: paper-score.cc:116
 #, fuzzy
 msgid "Outputting Score, defined at: "
 msgstr "emetto lo Score, definito a: "
 
-#: parse-scm.cc:80
+#: parse-scm.cc:79
 msgid "GUILE signaled an error for the expression begining here"
 msgstr ""
 
@@ -1049,22 +1883,27 @@ msgstr ""
 #.
 #. last->translator_id_string_  = get_change ()->change_to_id_string_;
 #.
-#: part-combine-music-iterator.cc:116
+#: part-combine-music-iterator.cc:139
 #, c-format
 msgid "I'm one myself: `%s'"
 msgstr ""
 
-#: part-combine-music-iterator.cc:119
+#: part-combine-music-iterator.cc:142
 #, c-format
 msgid "none of these in my family: `%s'"
 msgstr ""
 
-#: percent-repeat-engraver.cc:116
+#: percent-repeat-engraver.cc:109
 #, fuzzy
 msgid "Don't know how to handle a percent repeat of this length."
 msgstr "non so manipolare tasti vuoti"
 
-#: percent-repeat-iterator.cc:53
+#: percent-repeat-engraver.cc:163
+#, fuzzy
+msgid "unterminated percent repeat"
+msgstr "beam non terminato"
+
+#: percent-repeat-iterator.cc:65
 msgid "no one to print a percent"
 msgstr ""
 
@@ -1092,139 +1931,107 @@ msgstr "della definizione musicale: %s"
 msgid "MIDI output to `%s'..."
 msgstr "L'output MIDI è inviato a %s..."
 
-#: phrasing-slur-engraver.cc:117
+#: phrasing-slur-engraver.cc:123
 #, fuzzy
 msgid "unterminated phrasing slur"
 msgstr "slur non terminato"
 
-#: phrasing-slur-engraver.cc:132
+#: phrasing-slur-engraver.cc:141
 #, fuzzy
 msgid "can't find start of phrasing slur"
 msgstr "non trovo le estremità di %s"
 
-#: piano-pedal-engraver.cc:230 piano-pedal-engraver.cc:245
-#: piano-pedal-engraver.cc:300 piano-pedal-performer.cc:82
+#: piano-pedal-engraver.cc:235 piano-pedal-engraver.cc:250
+#: piano-pedal-engraver.cc:305 piano-pedal-performer.cc:82
 #, fuzzy, c-format
 msgid "can't find start of piano pedal: `%s'"
 msgstr "non risco a trovare una ruling note a %s"
 
-#: piano-pedal-engraver.cc:405
+#: piano-pedal-engraver.cc:410
 #, fuzzy
 msgid "unterminated pedal bracket"
 msgstr "beam non terminato"
 
-#: pitch.cc:25
-msgid "Pitch arguments out of range"
-msgstr ""
-
-#: porrectus.cc:35
-msgid "(left_head == 0)"
-msgstr ""
-
-#: porrectus.cc:46
-msgid "undefined left_head"
-msgstr ""
-
-#: porrectus.cc:65
-msgid "(right_head == 0)"
-msgstr ""
-
-#: porrectus.cc:76
-msgid "undefined right_head"
-msgstr ""
-
-#: porrectus.cc:96
-msgid "junking lonely porrectus"
-msgstr ""
-
-#: porrectus.cc:106
-msgid "porrectus style undefined; using mensural"
-msgstr ""
-
-#: porrectus.cc:251
-msgid "ascending vaticana style porrectus"
+#: property-iterator.cc:97
+#, c-format
+msgid "Not a grob name, `%s'."
 msgstr ""
 
-#: property-iterator.cc:64
+#: rest.cc:139
 #, c-format
-msgid "Not a grob name, `%s'."
+msgid "rest `%s' not found, "
 msgstr ""
 
-#: rest-collision.cc:186
+#: rest-collision.cc:199
 #, fuzzy
 msgid "too many colliding rests"
 msgstr "Troppi crescendi"
 
-#: scm-option.cc:44
+#: scm-option.cc:45
 msgid "lilypond -e EXPR means:"
 msgstr ""
 
-#: scm-option.cc:46
+#: scm-option.cc:47
 msgid "  Evalute the Scheme EXPR before parsing any .ly files."
 msgstr ""
 
-#: scm-option.cc:48
+#: scm-option.cc:49
 msgid ""
 "  Multiple -e options may be given, they will be evaluated sequentially."
 msgstr ""
 
-#: scm-option.cc:50
+#: scm-option.cc:51
 msgid ""
 "  The function ly-set-option allows for access to some internal variables."
 msgstr ""
 
-#: scm-option.cc:52
+#: scm-option.cc:53
 msgid "Usage: lilypond -e \"(ly-set-option SYMBOL VAL)\""
 msgstr ""
 
-#: scm-option.cc:54
+#: scm-option.cc:55
 msgid "Where SYMBOL VAL pair is any of:"
 msgstr ""
 
-#: scm-option.cc:122
+#: scm-option.cc:128
 msgid "Unknown internal option!"
 msgstr ""
 
-#: score-engraver.cc:102
-#, fuzzy, c-format
-msgid "can't find `%s'"
-msgstr "non trovo `%s'"
-
-#: score-engraver.cc:103
-msgid "Fonts have not been installed properly.  Aborting"
-msgstr ""
-
-#: score-engraver.cc:207
-#, fuzzy, c-format
-msgid "unbound spanner `%s'"
-msgstr "Spanner non legato `%s'"
-
-#: score.cc:92
-#, c-format
-msgid "stack size cur %d, max %d\n"
-msgstr ""
-
-#: score.cc:109
+#: score.cc:85
 msgid "Interpreting music..."
 msgstr "Interpretazione della musica..."
 
-#: score.cc:122
+#: score.cc:97
 #, fuzzy
 msgid "Need music in a score"
 msgstr "ho bisogno di musica nello spartito"
 
 #. should we? hampers debugging.
-#: score.cc:135
+#: score.cc:111
 #, fuzzy
 msgid "Errors found/*, not processing score*/"
 msgstr "ho trovato un errore, /*non sto elaborando lo spartito*/"
 
-#: score.cc:142
+#: score.cc:118
 #, fuzzy, c-format
 msgid "elapsed time: %.2f seconds"
 msgstr "durata: %.2f secondi"
 
-#: script-engraver.cc:66
+#: score-engraver.cc:99
+#, fuzzy, c-format
+msgid "can't find `%s'"
+msgstr "non trovo `%s'"
+
+#: score-engraver.cc:100
+msgid "Fonts have not been installed properly.  Aborting"
+msgstr ""
+
+#: score-engraver.cc:205
+#, fuzzy, c-format
+msgid "unbound spanner `%s'"
+msgstr "Spanner non legato `%s'"
+
+#: script-engraver.cc:90
 #, c-format
 msgid "Don't know how to interpret articulation `%s'"
 msgstr ""
@@ -1234,33 +2041,23 @@ msgstr ""
 msgid "Separation_item:  I've been drinking too much"
 msgstr ""
 
-#: simple-spacer.cc:254
+#: simple-spacer.cc:248
 #, c-format
 msgid "No spring between column %d and next one"
 msgstr ""
 
-#: slur-engraver.cc:140
+#: slur-engraver.cc:141
 msgid "unterminated slur"
 msgstr "slur non terminato"
 
 #. How to shut up this warning, when Voice_devnull_engraver has
-#. eaten start request?
-#: slur-engraver.cc:157
+#. eaten start event?
+#: slur-engraver.cc:159
 #, fuzzy
 msgid "can't find start of slur"
 msgstr "non trovo le estremità di %s"
 
-#: slur.cc:53
-#, fuzzy
-msgid "Putting slur over rest."
-msgstr "Metto uno slur sulla pausa."
-
-#: slur.cc:424
-#, fuzzy
-msgid "Slur over rest?"
-msgstr "Metto uno slur sulla pausa."
-
-#: source-file.cc:65
+#: source-file.cc:67
 #, fuzzy, c-format
 msgid "Huh?  Got %d, expected %d characters"
 msgstr "Come? Ho trovato %d caratteri al posto di %d"
@@ -1275,20 +2072,38 @@ msgstr ""
 msgid "#<spring smob d= %f>"
 msgstr ""
 
-#: staff-symbol.cc:62
+#: staff-symbol.cc:61
 msgid "staff symbol: indentation yields beyond end of line"
 msgstr ""
 
-#: stem-engraver.cc:117
-#, c-format
-msgid "Adding note head to incompatible stem (type = %d)"
-msgstr ""
-
 #: stem.cc:118
 #, fuzzy
 msgid "Weird stem size; check for narrow beams"
 msgstr "dimensione del gambo poco ortodossa; check for narrow beams"
 
+#: stem.cc:611
+#, c-format
+msgid "flag `%s' not found"
+msgstr ""
+
+#: stem.cc:624
+#, c-format
+msgid "flag stroke `%s' not found"
+msgstr ""
+
+#: stem-engraver.cc:96
+msgid "tremolo duration is too long"
+msgstr ""
+
+#: stem-engraver.cc:124
+#, c-format
+msgid "Adding note head to incompatible stem (type = %d)"
+msgstr ""
+
+#: stem-engraver.cc:125
+msgid "Don't you want polyphonic voices instead?"
+msgstr ""
+
 #: streams.cc:34
 #, fuzzy, c-format
 msgid "can't create directory: `%s'"
@@ -1304,33 +2119,35 @@ msgstr "errore nel sincronizzare il file (disco pieno?)"
 msgid "Element count %d."
 msgstr ""
 
-#: system.cc:377
+#: system.cc:372
 #, c-format
 msgid "Grob count %d "
 msgstr ""
 
-#: system.cc:391
-msgid "Calculating column positions..."
+#: system.cc:386
+#, fuzzy
+msgid "Calculating line breaks..."
 msgstr "Calcolo delle posizioni della colonne..."
 
-#: text-spanner-engraver.cc:92
+#: text-spanner-engraver.cc:81
 #, fuzzy
 msgid "can't find start of text spanner"
 msgstr "non trovo le estremità di %s"
 
-#: text-spanner-engraver.cc:112
+#: text-spanner-engraver.cc:95
 #, fuzzy
 msgid "already have a text spanner"
 msgstr "crescendo non terminato"
 
-#: text-spanner-engraver.cc:167
+#: text-spanner-engraver.cc:164
 #, fuzzy
 msgid "unterminated text spanner"
 msgstr "extender non terminato"
 
-#: text-spanner.cc:130
-msgid "Text_spanner too small"
-msgstr ""
+#: tfm.cc:83
+#, fuzzy, c-format
+msgid "can't find ascii character: %d"
+msgstr "non riesco a trovare il carattere `%s'"
 
 #. Not using ngettext's plural feature here, as this message is
 #. more of a programming error.
@@ -1344,16 +2161,7 @@ msgstr ""
 msgid "%s: TFM file has %u parameters, which is more than the %u I can handle"
 msgstr ""
 
-#: tfm.cc:83
-#, fuzzy, c-format
-msgid "can't find ascii character: %d"
-msgstr "non riesco a trovare il carattere `%s'"
-
-#: tie-engraver.cc:216
-msgid "lonely tie"
-msgstr ""
-
-#: tie-performer.cc:161
+#: tie-performer.cc:159
 msgid "No ties were created!"
 msgstr ""
 
@@ -1361,164 +2169,237 @@ msgstr ""
 msgid "no one to print a tuplet start bracket"
 msgstr ""
 
+#. If there is no such symbol, we default to the numbered style.
+#. (Here really with a warning!)
+#: time-signature.cc:87
+#, c-format
+msgid "time signature symbol `%s' not found; reverting to numbered style"
+msgstr ""
+
+#.
+#. Todo: should make typecheck?
+#.
+#. OTOH, Tristan Keuris writes 8/20 in his Intermezzi.
+#.
+#: time-signature-engraver.cc:57
+#, c-format
+msgid "Found strange time signature %d/%d."
+msgstr ""
+
 #: translator-ctors.cc:53
 #, fuzzy, c-format
 msgid "unknown translator: `%s'"
 msgstr "traduttore sconosciuto `%s'"
 
-#: translator-def.cc:87
+#: translator-def.cc:105
 msgid "Program has no such type"
 msgstr ""
 
-#: translator-def.cc:93
+#: translator-def.cc:111
 #, c-format
 msgid "Already contains: `%s'"
 msgstr ""
 
-#: translator-def.cc:94
+#: translator-def.cc:112
 #, fuzzy, c-format
 msgid "Not adding translator: `%s'"
 msgstr "traduttore sconosciuto `%s'"
 
-#: translator-def.cc:209
+#: translator-def.cc:229
 #, fuzzy, c-format
 msgid "can't find: `%s'"
 msgstr "non trovo `%s'"
 
-#: translator-group.cc:159
+#: translator-group.cc:158
 #, c-format
 msgid "can't find or create `%s' called `%s'"
 msgstr "non trovo e non posso creare '%s' chiamato '%s'"
 
-#: translator-group.cc:244
+#: translator-group.cc:230
 #, fuzzy, c-format
 msgid "can't find or create: `%s'"
 msgstr "non trovo e non posso creare `%s'"
 
-#: volta-engraver.cc:111
+#: vaticana-ligature.cc:49
+msgid "ascending vaticana style flexa"
+msgstr ""
+
+#: vaticana-ligature.cc:219
+msgid "Vaticana_ligature:thickness undefined; assuming 1.4"
+msgstr ""
+
+#: vaticana-ligature.cc:233
+msgid "Vaticana_ligature:x-offset undefined; assuming 0.0"
+msgstr ""
+
+#: vaticana-ligature.cc:258
+msgid "Vaticana_ligature: (delta_pitch == 0)"
+msgstr ""
+
+#: vaticana-ligature.cc:271
+msgid "Vaticana_ligature:delta-pitch -> ignoring join"
+msgstr ""
+
+#: vaticana-ligature-engraver.cc:477
+#, c-format
+msgid "Vaticana_ligature_engraver: setting `spacing-increment = %f': ptr=%ul"
+msgstr ""
+
+#: volta-engraver.cc:112
 msgid "No volta spanner to end"
 msgstr ""
 
-#: volta-engraver.cc:121
+#: volta-engraver.cc:123
 msgid "Already have a volta spanner.  Stopping that one prematurely."
 msgstr ""
 
-#: volta-engraver.cc:125
+#: volta-engraver.cc:127
 msgid "Also have a stopped spanner.  Giving up."
 msgstr ""
 
-#: parser.yy:434
+#: parser.yy:480
 msgid "Identifier should have alphabetic characters only"
 msgstr ""
 
-#: parser.yy:729
+#: parser.yy:779
 msgid "More alternatives than repeats.  Junking excess alternatives."
 msgstr ""
 
-#: parser.yy:798
+#: parser.yy:861 parser.yy:868
+msgid "\applycontext takes function argument"
+msgstr ""
+
+#: parser.yy:877
 msgid "Second argument must be a symbol"
 msgstr ""
 
-#: parser.yy:803
+#: parser.yy:882
 msgid "First argument must be a procedure taking one argument"
 msgstr ""
 
-#: parser.yy:1380
-msgid "Expecting string as script definition"
+#: parser.yy:1009
+msgid "\apply takes function argument"
 msgstr ""
 
-#: parser.yy:1390
-msgid "Can't specify direction for this request"
+#: parser.yy:1501
+msgid "Expecting string as script definition"
 msgstr ""
 
-#: parser.yy:1516
+#: parser.yy:1598
 msgid "Expecting musical-pitch value"
 msgstr ""
 
-#: parser.yy:1527
+#: parser.yy:1609
 #, fuzzy
 msgid "Must have duration object"
 msgstr "indicazione durata priva di senso"
 
-#: parser.yy:1536 parser.yy:1544
+#: parser.yy:1618 parser.yy:1626
 #, fuzzy
 msgid "Have to be in Lyric mode for lyrics"
 msgstr "bisogna essere in Lyric mode per i testi"
 
-#: parser.yy:1715 parser.yy:1768
+#: parser.yy:1798 parser.yy:1853
 #, c-format
 msgid "not a duration: %d"
 msgstr "non è una durata: %d"
 
-#: parser.yy:1855
+#: parser.yy:1949
 #, fuzzy
 msgid "Have to be in Note mode for notes"
 msgstr "bisogna essere in Note mode per le note"
 
-#: parser.yy:1954
+#: parser.yy:2032
 #, fuzzy
 msgid "Have to be in Chord mode for chords"
 msgstr "bisogna essere in Chord mode per gli accordi"
 
-#: parser.yy:2134
+#: parser.yy:2171
 msgid "need integer number arg"
 msgstr ""
 
-#: parser.yy:2206
+#: parser.yy:2316
 msgid "Suspect duration found following this beam"
 msgstr ""
 
-#: lexer.ll:178
+#: lexer.ll:186
 msgid "EOF found inside a comment"
 msgstr "ho trovato un EOF in un commento"
 
-#: lexer.ll:192
+#: lexer.ll:200
 msgid "\\maininput disallowed outside init files"
 msgstr ""
 
-#: lexer.ll:216
+#: lexer.ll:224
 #, fuzzy, c-format
 msgid "wrong or undefined identifier: `%s'"
 msgstr "indentificatore non definito: `%s'"
 
 #. backup rule
-#: lexer.ll:225
+#: lexer.ll:233
 #, fuzzy
 msgid "Missing end quote"
 msgstr "apice finale mancante"
 
 #. backup rule
-#: lexer.ll:247 lexer.ll:251
+#: lexer.ll:255 lexer.ll:259
 msgid "white expected"
 msgstr "aspettavo uno spazio bianco"
 
-#: lexer.ll:260
+#: lexer.ll:268
 msgid "Can't evaluate Scheme in safe mode"
 msgstr ""
 
-#: lexer.ll:364
+#: lexer.ll:397 lexer.ll:487
 msgid "Brace found at end of lyric.  Did you forget a space?"
 msgstr ""
 
-#: lexer.ll:480
+#: lexer.ll:574
 #, fuzzy, c-format
 msgid "invalid character: `%c'"
 msgstr "carattere illegale: `%c'"
 
-#: lexer.ll:566
+#: lexer.ll:651
 #, c-format
 msgid "unknown escaped string: `\\%s'"
 msgstr "stringa di escape sconosciuta: `\\%s'"
 
-#: lexer.ll:657
+#: lexer.ll:742
 #, fuzzy, c-format
 msgid "Incorrect lilypond version: %s (%s, %s)"
 msgstr "versione di mudela errata: %s (%s, %s)"
 
-#: lexer.ll:658
+#: lexer.ll:743
 msgid "Consider updating the input with the convert-ly script"
 msgstr ""
 
+#, fuzzy
+#~ msgid "%r: release directory"
+#~ msgstr "non trovo e non posso creare `%s'"
+
+#, fuzzy
+#~ msgid "Listing `%s'..."
+#~ msgstr "Genero le voci..."
+
+#, fuzzy
+#~ msgid "Fetching `%s'..."
+#~ msgstr "Genero le voci..."
+
+#, fuzzy
+#~ msgid "Building `%s'..."
+#~ msgstr "Genero le voci..."
+
+#~ msgid ", at "
+#~ msgstr ", a "
+
+#, fuzzy
+#~ msgid "Putting slur over rest."
+#~ msgstr "Metto uno slur sulla pausa."
+
+#, fuzzy
+#~ msgid "Slur over rest?"
+#~ msgstr "Metto uno slur sulla pausa."
+
 #~ msgid "can't map file"
 #~ msgstr "non posso mappare il documento"
 
@@ -1545,10 +2426,6 @@ msgstr ""
 #~ msgid "Scheme options:"
 #~ msgstr "Opzioni: "
 
-#, fuzzy
-#~ msgid "Cleaning `%s'..."
-#~ msgstr "Genero le voci..."
-
 #, fuzzy
 #~ msgid "writing header field `%s' to `%s'..."
 #~ msgstr "scrivo il file delle dipendenze: `%s'..."
@@ -1732,17 +2609,10 @@ msgstr ""
 #~ msgid "Wrong type for property"
 #~ msgstr "Tipo sbagliato per il valore di una proprietà"
 
-#, fuzzy
-#~ msgid "unknown clef type"
-#~ msgstr "tipo di chiave sconosciuto"
-
 #, fuzzy
 #~ msgid "Huh?  Not a Request: `%s'"
 #~ msgstr "Cosa? Non è una richiesta: `%s'"
 
-#~ msgid "conflicting timing request"
-#~ msgstr "richieste di timing in conflitto"
-
 #~ msgid "can't find both ends of %s"
 #~ msgstr "non trovo le estremità di %s"
 
@@ -1873,10 +2743,6 @@ msgstr ""
 #~ msgid "Parsing...\n"
 #~ msgstr "Interpreto...\n"
 
-#, fuzzy
-#~ msgid "enable debugging output "
-#~ msgstr "  -D, --debug            abilita l'output di debugging\n"
-
 #, fuzzy
 #~ msgid "don't timestamp the output "
 #~ msgstr ""
index 8755457300b987b6472dc9068eeaea2d5935996b..4e60aa0c9b0cf67646c061c6aafd80bac3501756 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: lilypond 1.2.17\n"
-"POT-Creation-Date: 2002-08-18 17:05+0200\n"
+"POT-Creation-Date: 2003-07-18 14:45+0200\n"
 "PO-Revision-Date: 2000-03-29 20:50+0900\n"
 "Last-Translator: Daisuke Yamashita <yamad@mb.infoweb.ne.jp>\n"
 "Language-Team: Japanese <ja@li.org>\n"
@@ -13,408 +13,1181 @@ msgstr ""
 "Content-Type: text/plain; charset=EUC-JP\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: lilypond-book.py:1019 ly2dvi.py:458 ly2dvi.py:491
-#, fuzzy, c-format
-msgid "Running %s..."
-msgstr "Í×µá¤ò¼Î¤Æ¤Þ¤¹: `%s'"
+#. this is where special info is often stored
+#. ###############################################################
+#. lilylib.py -- options and stuff
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. ##  subst:\(^\|[^._a-z]\)\(abspath\|identify\|warranty\|progress\|warning\|error\|exit\|getopt_args\|option_help_str\|options_help_str\|help\|setup_temp\|read_pipe\|system\|cleanup_temp\|strip_extension\|cp_to_dir\|mkdir_p\|init\) *(
+#. ##  replace:\1ly.\2 (
+#. ## subst: \(help_summary\|keep_temp_dir_p\|option_definitions\|original_dir\|program_name\|pseudo_filter_p\|temp_dir\|verbose_p\)
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. lilylib globals
+#: lilylib.py:60
+msgid "lilylib module"
+msgstr ""
+
+#: lilylib.py:63 lilypond-book.py:131 ly2dvi.py:128 midi2ly.py:100
+#: mup2ly.py:75 main.cc:111
+msgid "this help"
+msgstr "¤³¤Î¥Ø¥ë¥×"
 
-#: ly2dvi.py:118
-msgid ""
-"Distributed under terms of the GNU General Public License.  It comes with NO "
-"WARRANTY."
+#. ###############################################################
+#. Handle bug in Python 1.6-2.1
+#.
+#. there are recursion limits for some patterns in Python 1.6 til 2.1.
+#. fix this by importing pre instead. Fix by Mats.
+#. Attempt to fix problems with limited stack size set by Python!
+#. Sets unlimited stack size. Note that the resource module only
+#. is available on UNIX.
+#: lilylib.py:114 midi2ly.py:136 mup2ly.py:130 main.cc:188 main.cc:200
+#, c-format, python-format
+msgid "Copyright (c) %s by"
+msgstr "Copyright (c) %s by"
+
+#: lilylib.py:114
+msgid " 1998--2003"
+msgstr ""
+
+#: lilylib.py:118
+msgid "Distributed under terms of the GNU General Public License."
+msgstr ""
+
+#: lilylib.py:120
+msgid "It comes with NO WARRANTY."
 msgstr ""
 
-#: ly2dvi.py:125 midi2ly.py:148 mup2ly.py:143 update-lily.py:137 input.cc:87
+#: lilylib.py:127 midi2ly.py:150 mup2ly.py:144 input.cc:88
 msgid "warning: "
 msgstr "·Ù¹ð: "
 
-#: ly2dvi.py:128 ly2dvi.py:143 midi2ly.py:163 midi2ly.py:1012 midi2ly.py:1081
-#: mup2ly.py:146 mup2ly.py:160 update-lily.py:152 update-lily.py:458
-#: input.cc:92
+#. lots of midi files use plain text for lyric events
+#. FIXME: read from stdin when files[0] = '-'
+#: lilylib.py:130 midi2ly.py:165 midi2ly.py:1018 midi2ly.py:1083 mup2ly.py:147
+#: mup2ly.py:161 input.cc:93
 msgid "error: "
 msgstr "¥¨¥é¡¼: "
 
-#: ly2dvi.py:144 midi2ly.py:164 mup2ly.py:161 update-lily.py:153
-#, fuzzy
-msgid "Exiting ... "
+#: lilylib.py:134
+#, fuzzy, python-format
+msgid "Exiting (%d)..."
 msgstr "¹Ô ..."
 
-#: ly2dvi.py:202 midi2ly.py:222 mup2ly.py:219 update-lily.py:211
-#, fuzzy, c-format
+#: lilylib.py:194 midi2ly.py:224 mup2ly.py:220
+#, fuzzy, python-format
 msgid "Usage: %s [OPTION]... FILE"
 msgstr "»È¤¤Êý: %s [¥ª¥×¥·¥ç¥ó]... [¥Õ¥¡¥¤¥ë]"
 
-#: ly2dvi.py:206 midi2ly.py:226 mup2ly.py:223 update-lily.py:215 main.cc:166
+#: lilylib.py:198 midi2ly.py:228 mup2ly.py:224 main.cc:166
 msgid "Options:"
 msgstr "¥ª¥×¥·¥ç¥ó:"
 
-#: ly2dvi.py:210 midi2ly.py:230 mup2ly.py:227 update-lily.py:219 main.cc:172
-#, c-format
+#: lilylib.py:202 midi2ly.py:232 mup2ly.py:228 main.cc:172
+#, c-format, python-format
 msgid "Report bugs to %s"
 msgstr "¥Ð¥°¥ì¥Ý¡¼¥È¤Ï %s ¤Ø"
 
-#: ly2dvi.py:238 midi2ly.py:258 mup2ly.py:255 update-lily.py:247
-#, fuzzy, c-format
+#: lilylib.py:228
+#, fuzzy, python-format
+msgid "Opening pipe `%s'"
+msgstr "Í×µá¤ò¼Î¤Æ¤Þ¤¹: `%s'"
+
+#. successful pipe close returns 'None'
+#: lilylib.py:240
+#, python-format
+msgid "`%s' failed (%d)"
+msgstr ""
+
+#: lilylib.py:242 lilylib.py:289 lilypond-book.py:231 ly2dvi.py:512
+msgid "The error log is as follows:"
+msgstr ""
+
+#: lilylib.py:262 midi2ly.py:260 mup2ly.py:256
+#, fuzzy, python-format
 msgid "Invoking `%s'"
 msgstr "Í×µá¤ò¼Î¤Æ¤Þ¤¹: `%s'"
 
-#: ly2dvi.py:243 midi2ly.py:262 mup2ly.py:260 update-lily.py:251
-#, c-format
-msgid "command exited with value %d"
+#: lilylib.py:264
+#, fuzzy, python-format
+msgid "Running %s..."
+msgstr "Í×µá¤ò¼Î¤Æ¤Þ¤¹: `%s'"
+
+#: lilylib.py:282
+#, python-format
+msgid "`%s' failed (%s)"
 msgstr ""
 
-#: ly2dvi.py:246 midi2ly.py:264 mup2ly.py:263 update-lily.py:253
+#: lilylib.py:285 midi2ly.py:266 mup2ly.py:264
 msgid "(ignored)"
 msgstr ""
 
-#: ly2dvi.py:256 midi2ly.py:274 mup2ly.py:273 update-lily.py:263
-#, fuzzy, c-format
+#: lilylib.py:299 midi2ly.py:276 mup2ly.py:274
+#, fuzzy, python-format
 msgid "Cleaning %s..."
 msgstr "Í×µá¤ò¼Î¤Æ¤Þ¤¹: `%s'"
 
-#: ly2dvi.py:330
-msgid "Run LilyPond using LaTeX for titling"
+#. Duh.  Python style portable: cp *.EXT OUTDIR
+#. system ('cp *.%s %s' % (ext, outdir), 1)
+#. Python < 1.5.2 compatibility
+#.
+#. On most platforms, this is equivalent to
+#. `normpath(join(os.getcwd()), PATH)'.  *Added in Python version 1.5.2*
+#. tex needs lots of memory, more than it gets by default on Debian
+#. TODO: * prevent multiple addition.
+#. * clean TEXINPUTS, MFINPUTS, TFMFONTS,
+#. as these take prevalence over $TEXMF
+#. and thus may break tex run?
+#. $TEXMF is special, previous value is already taken care of
+#. # -sOutputFile does not work with bbox?
+#. # todo:
+#. # have better algorithm for deciding when to crop page,
+#. # and when to show full page
+#: lilylib.py:458
+msgid "Removing output file"
+msgstr ""
+
+#. !@PYTHON@
+#. once upon a rainy monday afternoon.
+#.
+#. ...
+#.
+#. (not finished.)
+#. ABC standard v1.6:  http://www.gre.ac.uk/~c.walshaw/abc2mtex/abc.txt
+#.
+#. Enhancements  (Roy R. Rankin)
+#.
+#. Header section moved to top of lilypond file
+#. handle treble, treble-8, alto, and bass clef
+#. Handle voices (V: headers) with clef and part names, multiple voices
+#. Handle w: lyrics with multiple verses
+#. Handle key mode names for minor, major, phrygian, ionian, locrian, aeolian,
+#. mixolydian, lydian, dorian
+#. Handle part names from V: header
+#. Tuplets handling fixed up
+#. Lines starting with |: not discarded as header lines
+#. Multiple T: and C: header entries handled
+#. Accidental maintained until next bar check
+#. Silent rests supported
+#. articulations fermata, upbow, downbow, ltoe, accent, tenuto supported
+#. Chord strings([-^]"string") can contain a '#'
+#. Header fields enclosed by [] in notes string processed
+#. W: words output after tune as abc2ps does it (they failed before)
+#. Enhancements (Laura Conrad)
+#.
+#. Barring now preserved between ABC and lilypond
+#. the default placement for text in abc is above the staff.
+#. %%LY now supported.
+#. \breve and \longa supported.
+#. M:none doesn't crash lily.
+#. Limitations
+#.
+#. Multiple tunes in single file not supported
+#. Blank T: header lines should write score and open a new score
+#. Not all header fields supported
+#. ABC line breaks are ignored
+#. Block comments generate error and are ignored
+#. Postscript commands are ignored
+#. lyrics not resynchronized by line breaks (lyrics must fully match notes)
+#. %%LY slyrics can't be directly before a w: line.
+#. ???
+#. TODO:
+#.
+#. Convert to new chord styles.
+#.
+#. UNDEF -> None
+#.
+#. uGUHGUHGHGUGH
+#. UGH
+#. treble8 is used by abctab2ps; -8va is used by barfly,
+#. and by my patch to abc2ps. If there's ever a standard
+#. about this we'll support that.
+#. find keywork
+#. assume that Q takes the form "Q:1/4=120"
+#. There are other possibilities, but they are deprecated
+#. outf.write ("\t\t\\consists Staff_margin_engraver\n")
+#. pitch manipulation. Tuples are (name, alteration).
+#. 0 is (central) C. Alteration -1 is a flat, Alteration +1 is a sharp
+#. pitch in semitones.
+#. abc to lilypond key mode names
+#. semitone shifts for key mode names
+#. latex does not like naked #'s
+#. latex does not like naked "'s
+#. break lyrics to words and put "'s around words containing numbers and '"'s
+#. escape "
+#. _ causes probs inside ""
+#. _ to ' _ '
+#. split words with -
+#. unless \-
+#. ~ to space('_')
+#. * to to space
+#. latex does not like naked #'s
+#. put numbers and " and ( into quoted string
+#. insure space between lines
+#. title
+#. strip trailing blanks
+#. Meter
+#. KEY
+#. seperate clef info
+#. there may or may not be a space
+#. between the key letter and the mode
+#. ugh.
+#. ugh.
+#. Notes
+#. Origin
+#. Reference Number
+#. Area
+#. History
+#. Book
+#. Composer
+#. Default note length
+#. Voice
+#. Words
+#. vocals
+#. tempo
+#. we use in this order specified accidental, active accidental for bar,
+#. active accidental for key
+#. (num /  den)  / defaultlen < 1/base
+#. return (str, num,den,dots)
+#. ignore slide
+#. ignore roll
+#. s7m2 input doesnt care about spaces
+#.
+#. remember accidental for rest of bar
+#.
+#. get accidental set in this bar or UNDEF if not set
+#. WAT IS ABC EEN ONTZETTENDE PROGRAMMEERPOEP  !
+#. failed; not a note!
+#. escape '#'s
+#.
+#. |] thin-thick double bar line
+#. || thin-thin double bar line
+#. [| thick-thin double bar line
+#. :| left repeat
+#. |: right repeat
+#. :: left-right repeat
+#. |1 volta 1
+#. |2 volta 2
+#. first try the longer one
+#. bracket escape
+#. the nobarlines option is necessary for an abc to lilypond translator for
+#. exactly the same reason abc2midi needs it: abc requires the user to enter
+#. the note that will be printed, and MIDI and lilypond expect entry of the
+#. pitch that will be played.
+#.
+#. In standard 19th century musical notation, the algorithm for translating
+#. between printed note and pitch involves using the barlines to determine
+#. the scope of the accidentals.
+#.
+#. Since ABC is frequently used for music in styles that do not use this
+#. convention, such as most music written before 1700, or ethnic music in
+#. non-western scales, it is necessary to be able to tell a translator that
+#. the barlines should not affect its interpretation of the pitch.
+#. write other kinds of appending  if we ever need them.
+#. add comments to current voice
+#. Try nibbling characters off until the line doesn't change.
+#. dump_global (outf)
+#. !@PYTHON@
+#.
+#. convert-ly.py -- Update old LilyPond input files (fix name?)
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. TODO
+#. use -f and -t for -s output
+#. NEWS
+#. 0.2
+#. - rewrite in python
+#. Did we ever have \mudela-version?  I doubt it.
+#. lilypond_version_re_str = '\\\\version *\"(.*)\"'
+#. ###########################
+#. need new a namespace
+#. raise FatalConversionError()
+#. need new a namespace
+#. harmful to current .lys
+#. str = re.sub ('\\\\key([^;]+);', '\\\\accidentals \\1;', str)
+#. raise FatalConversionError()
+#. raise FatalConversionError()
+#. raise FatalConversionError()
+#. TODO: lots of other syntax change should be done here as well
+#. Ugh, but meaning of \stemup changed too
+#. maybe we should do \stemup -> \stemUp\slurUp\tieUp ?
+#. I don't know exactly when these happened...
+#. ugh, we loose context setting here...
+#. (lacks capitalisation slur -> Slur)
+#. # dynamic..
+#. TODO: add lots of these
+#. ugh
+#. old fix
+#. Make sure groups of more than one ; have space before
+#. them, so that non of them gets removed by next rule
+#. Only remove ; that are not after spaces, # or ;
+#. Otherwise  we interfere with Scheme comments,
+#. which is badbadbad.
+#. 40 ?
+#. ###############################
+#. END OF CONVERSIONS
+#. ###############################
+#. !@PYTHON@
+#. info mostly taken from looking at files. See also
+#. http://lilypond.org/wiki/?EnigmaTransportFormat
+#. This supports
+#.
+#. * notes
+#. * rests
+#. * ties
+#. * slurs
+#. * lyrics
+#. * articulation
+#. * grace notes
+#. * tuplets
+#.
+#. todo:
+#. * slur/stem directions
+#. * voices (2nd half of frame?)
+#. * more intelligent lyrics
+#. * beams (better use autobeam?)
+#. * more robust: try entertainer.etf (freenote)
+#. * dynamics
+#. * empty measures (eg. twopt03.etf from freenote)
+#.
+#. uGUHGUHGHGUGH
+#. notename 0 == central C
+#. represent pitches as (notename, alteration), relative to C-major scale
+#. a fifth up
+#. should cache this.
+#. flag1 isn't all that interesting.
+#. 3: '>',
+#. 18: '\arpeggio' ,
+#. do grace notes.
+#. ugh.
+#. we don't attempt voltas since they fail easily.
+#. and g.repeat_bar == '|:' or g.repeat_bar == ':|:' or g.bracket:
+#. 4 layers.
+#. let's not do this: this really confuses when eE happens to be before  a ^text.
+#. if last_tag and last_indices:
+#. etf_file_dict[last_tag][last_indices].append (l)
+#. # do it
+#. staff-spec
+#. should use \addlyrics ?
+#. !@PYTHON@
+#. vim: set noexpandtab:
+#. This is was the idea for handling of comments:
+#. Multiline comments, @ignore .. @end ignore is scanned for
+#. in read_doc_file, and the chunks are marked as 'ignore', so
+#. lilypond-book will not touch them any more. The content of the
+#. chunks are written to the output file. Also 'include' and 'input'
+#. regex has to check if they are commented out.
+#.
+#. Then it is scanned for 'lilypond', 'lilypond-file' and 'lilypond-block'.
+#. These three regex's has to check if they are on a commented line,
+#. % for latex, @c for texinfo.
+#.
+#. Then lines that are commented out with % (latex) and @c (Texinfo)
+#. are put into chunks marked 'ignore'. This cannot be done before
+#. searching for the lilypond-blocks because % is also the comment character
+#. for lilypond.
+#.
+#. The the rest of the rexeces are searched for. They don't have to test
+#. if they are on a commented out line.
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. if __name__ == '__main__':
+#. lilylib globals
+#. temp_dir = os.path.join (original_dir,  '%s.dir' % program_name)
+#. urg
+#. # FIXME
+#. # ly2dvi: silly name?
+#. # do -P or -p by default?
+#. #help_summary = _ ("Run LilyPond using LaTeX for titling")
+#: lilypond-book.py:120
+msgid "Process LilyPond snippets in hybrid html, LaTeX or texinfo document"
 msgstr ""
 
-#: ly2dvi.py:334 main.cc:115
-msgid "write Makefile dependencies for every input file"
-msgstr "Á´¤Æ¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤Î Makefile °Í¸´Ø·¸¤ò½ñ¤­¹þ¤à"
+#. another bug in option parser: --output=foe is taken as an abbreviation
+#. for --output-format
+#: lilypond-book.py:125 main.cc:110
+msgid "EXT"
+msgstr "EXT"
 
-#: ly2dvi.py:335 midi2ly.py:98 mup2ly.py:74 update-lily.py:87 main.cc:111
-msgid "this help"
-msgstr "¤³¤Î¥Ø¥ë¥×"
+#: lilypond-book.py:125
+#, fuzzy
+msgid "use output format EXT (texi [default], texi-html, latex, html)"
+msgstr "½ÐÎÏ¥Õ¥©¡¼¥Þ¥Ã¥È EXT ¤ò»È¤¦"
+
+#: lilypond-book.py:126 lilypond-book.py:127 lilypond-book.py:129
+#: lilypond-book.py:130
+#, fuzzy
+msgid "DIM"
+msgstr "DIR"
+
+#: lilypond-book.py:126
+msgid "default fontsize for music.  DIM is assumed to be in points"
+msgstr ""
+
+#: lilypond-book.py:127
+msgid "deprecated, use --default-music-fontsize"
+msgstr ""
+
+#: lilypond-book.py:128
+msgid "OPT"
+msgstr ""
+
+#: lilypond-book.py:128
+msgid "pass OPT quoted to the lilypond command line"
+msgstr ""
+
+#: lilypond-book.py:129
+msgid "force fontsize for all inline lilypond. DIM is assumed be to in points"
+msgstr ""
+
+#: lilypond-book.py:130
+msgid "deprecated, use --force-music-fontsize"
+msgstr ""
 
-#: ly2dvi.py:336 main.cc:113 main.cc:118
+#: lilypond-book.py:132 ly2dvi.py:130 main.cc:113 main.cc:118
 msgid "DIR"
 msgstr "DIR"
 
-#: ly2dvi.py:336
+#: lilypond-book.py:132
+msgid "include path"
+msgstr ""
+
+#: lilypond-book.py:133
+#, fuzzy
+msgid "write dependencies"
+msgstr "¶õÇò¤¬É¬ÍפǤ¹"
+
+#: lilypond-book.py:134
+msgid "PREF"
+msgstr ""
+
+#: lilypond-book.py:134
+msgid "prepend PREF before each -M dependency"
+msgstr ""
+
+#: lilypond-book.py:135
+msgid "don't run lilypond"
+msgstr ""
+
+#: lilypond-book.py:136
+msgid "don't generate pictures"
+msgstr ""
+
+#: lilypond-book.py:137
+msgid "strip all lilypond blocks from output"
+msgstr ""
+
+#: lilypond-book.py:138 lilypond-book.py:139 ly2dvi.py:135 ly2dvi.py:136
+#: midi2ly.py:102 main.cc:114 main.cc:117
+msgid "FILE"
+msgstr "FILE"
+
+#: lilypond-book.py:138
+msgid "filename main output file"
+msgstr ""
+
+#: lilypond-book.py:139
+msgid "where to place generated files"
+msgstr ""
+
+#: lilypond-book.py:140 ly2dvi.py:137
+msgid "RES"
+msgstr ""
+
+#: lilypond-book.py:141 ly2dvi.py:138
+msgid "set the resolution of the preview to RES"
+msgstr ""
+
+#: lilypond-book.py:142 ly2dvi.py:148 midi2ly.py:105 mup2ly.py:78 main.cc:126
+#, fuzzy
+msgid "verbose"
+msgstr "¾ÜºÙ¤Ê¾ðÊó¤òɽ¼¨¤·¤Þ¤¹"
+
+#: lilypond-book.py:143
+#, fuzzy
+msgid "print version information"
+msgstr "¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òɽ¼¨"
+
+#: lilypond-book.py:144 ly2dvi.py:150 midi2ly.py:107 mup2ly.py:80 main.cc:127
+msgid "show warranty and copyright"
+msgstr "ÊݾڤÈÃøºî¸¢¤Ë¤Ä¤¤¤Æɽ¼¨¤¹¤ë"
+
+#. format specific strings, ie. regex-es for input, and % strings for output
+#. global variables
+#. lilypond_binary = 'valgrind --suppressions=/home/hanwen/usr/src/guile-1.6.supp  --num-callers=10 /home/hanwen/usr/src/lilypond/lily/out/lilypond'
+#. only use installed binary  when we're installed too.
+#. only use installed binary  when we're installed too.
+#. ###############################################################
+#. Dimension handling for LaTeX.
+#.
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#: lilypond-book.py:230
+msgid "LaTeX failed."
+msgstr ""
+
+#. URG see ly2dvi
+#. Convert numeric values, with or without specific dimension, to floats.
+#. Keep other strings
+#. ###############################################################
+#. How to output various structures.
+#. # maybe <hr> ?
+#. Verbatim text is always finished with \n.  FIXME: For HTML,
+#. this newline should be removed.
+#. Verbatim text is always finished with \n.  FIXME: For HTML,
+#. this newline should be removed.
+#. # Ugh we need to differentiate on origin:
+#. # lilypond-block origin wants an extra <p>, but
+#. # inline music doesn't.
+#. # possibly other center options?
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. do some tweaking: @ is needed in some ps stuff.
+#.
+#. ugh, the <p> below breaks inline images...
+#. clumsy workaround for python 2.2 pre bug.
+#. ###############################################################
+#. Recognize special sequences in the input
+#. Warning: This uses extended regular expressions.  Tread with care.
+#.
+#. legenda
+#.
+#. (?P<name>regex) -- assign result of REGEX to NAME
+#. *? -- match non-greedily.
+#. (?m) -- multiline regex: make ^ and $ match at each line
+#. (?s) -- make the dot match all characters including newline
+#. why do we have distinction between @mbinclude and @include?
+#. # we'd like to catch and reraise a more
+#. # detailed error, but alas, the exceptions
+#. # changed across the 1.5/2.1 boundary.
+#. ughUGH not original options
+#. First we want to scan the \documentclass line
+#. it should be the first non-comment line.
+#. The only thing we really need to know about the \documentclass line
+#. is if there are one or two columns to begin with.
+#. Then we add everything before \begin{document} to
+#. paperguru.m_document_preamble so that we can later write this header
+#. to a temporary file in find_latex_dims() to find textwidth.
+#. this is not bulletproof..., it checks the first 10 chunks
+#. newchunks.extend (func (m))
+#. python 1.5 compatible:
+#. we have to check for verbatim before doing include,
+#. because we don't want to include files that are mentioned
+#. inside a verbatim environment
+#. ugh fix input
+#. # Hmm, we should hash only lilypond source, and skip the
+#. # %options are ...
+#. # comment line
+#. # todo: include path, but strip
+#. # first part of the path.
+#. format == 'html'
+#. ugh rename
+#. Count sections/chapters.
+#. # TODO: do something like
+#. # this for texinfo/latex as well ?
+#. ugh
+#. fixme: be sys-independent.
+#.
+#. Ugh, fixing up dependencies for .tex generation
+#.
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#. # There used to be code to write .tex dependencies, but
+#. # that is silly: lilypond-book has its own dependency scheme
+#. # to ensure that all lily-XXX.tex files are there
+#. # TODO: put file name in front of texidoc.
+#. #
+#. # what's this? Docme --hwn
+#. #
+#. #docme: why global?
+#. Do It.
+#. should chmod -w
+#: lilypond-book.py:1557 ly2dvi.py:673 midi2ly.py:1018
+#, python-format
+msgid "getopt says: `%s'"
+msgstr ""
+
+#. HACK
+#. status = os.system ('lilypond -w')
+#: lilypond-book.py:1630 ly2dvi.py:777
+msgid "no files specified on command line"
+msgstr ""
+
+#.
+#. Petr, ik zou willen dat ik iets zinvoller deed,
+#. maar wat ik kan ik doen, het verandert toch niets?
+#. --hwn 20/aug/99
+#. !@PYTHON@
+#.
+#. ly2dvi.py -- Run LilyPond, add titles to bare score, generate printable
+#. document
+#. Invokes: lilypond, latex (or pdflatex), dvips, ps2pdf, gs
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. This is the third incarnation of ly2dvi.
+#.
+#. Earlier incarnations of ly2dvi were written by
+#. Jeffrey B. Reed<daboys@austin.rr.com> (Python version)
+#. Jan Arne Fagertun <Jan.A.Fagertun@@energy.sintef.no> (Bourne shell script)
+#.
+#. Note: gettext work best if we use ' for docstrings and "
+#. for gettextable strings.
+#. --> DO NOT USE ''' for docstrings.
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. if __name__ == '__main__':
+#. lilylib globals
+#. # FIXME
+#. # ly2dvi: silly name?
+#. # do -P or -p by default?
+#. #help_summary = _ ("Run LilyPond using LaTeX for titling")
+#: ly2dvi.py:121
+msgid "Run LilyPond, add titles, generate printable document"
+msgstr ""
+
+#: ly2dvi.py:127 main.cc:115
+msgid "write Makefile dependencies for every input file"
+msgstr "Á´¤Æ¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤Î Makefile °Í¸´Ø·¸¤ò½ñ¤­¹þ¤à"
+
+#: ly2dvi.py:129
+msgid "print even more output"
+msgstr ""
+
+#: ly2dvi.py:130
 #, fuzzy
 msgid "add DIR to LilyPond's search path"
 msgstr "DIR ¤ò¸¡º÷¥Ñ¥¹¤ËÄɲÃ"
 
-#: ly2dvi.py:338
-#, c-format
+#: ly2dvi.py:132
+#, python-format
 msgid "keep all output, output to directory %s.dir"
 msgstr ""
 
-#: ly2dvi.py:339
+#: ly2dvi.py:133
 msgid "don't run LilyPond"
 msgstr ""
 
-#: ly2dvi.py:340 main.cc:116
+#: ly2dvi.py:134 main.cc:116
 msgid "produce MIDI output only"
 msgstr "MIDI ½ÐÎϤÎÀ¸À®¤Î¤ß"
 
-#: ly2dvi.py:341 ly2dvi.py:342 midi2ly.py:100 main.cc:114 main.cc:117
-msgid "FILE"
-msgstr "FILE"
-
-#: ly2dvi.py:341 midi2ly.py:100
+#: ly2dvi.py:135 midi2ly.py:102
 #, fuzzy
 msgid "write ouput to FILE"
 msgstr "BASENAME[-x].³ÈÄ¥»Ò ¤Ø½ÐÎϤò½ñ¤­¹þ¤à"
 
-#: ly2dvi.py:342
+#: ly2dvi.py:136
 msgid "find pfa fonts used in FILE"
 msgstr ""
 
-#: ly2dvi.py:344
-msgid "set the resolution of the preview to RES"
+#: ly2dvi.py:139
+#, fuzzy
+msgid "generate PostScript output"
+msgstr "À©¸Â¤ò´ËÏÂ"
+
+#: ly2dvi.py:140
+msgid "generate PNG page images"
 msgstr ""
 
-#: ly2dvi.py:345
+#: ly2dvi.py:141
 #, fuzzy
-msgid "generate PostScript output"
+msgid "generate PS.GZ"
 msgstr "À©¸Â¤ò´ËÏÂ"
 
-#: ly2dvi.py:346
+#: ly2dvi.py:142
 #, fuzzy
 msgid "generate PDF output"
 msgstr "À©¸Â¤ò´ËÏÂ"
 
-#: ly2dvi.py:347
+#: ly2dvi.py:143
 msgid "use pdflatex to generate a PDF output"
 msgstr ""
 
-#: ly2dvi.py:349
+#. FIXME: preview, picture; to indicate creation of a PNG?
+#: ly2dvi.py:145
 msgid "make a picture of the first system"
 msgstr ""
 
-#: ly2dvi.py:350
+#: ly2dvi.py:146
+msgid "make HTML file with links to all output"
+msgstr ""
+
+#: ly2dvi.py:147
 msgid "KEY=VAL"
 msgstr ""
 
-#: ly2dvi.py:350
+#: ly2dvi.py:147
 msgid "change global setting KEY to VAL"
 msgstr ""
 
-#: ly2dvi.py:351 midi2ly.py:103 mup2ly.py:77 update-lily.py:91 main.cc:126
-#, fuzzy
-msgid "verbose"
-msgstr "¾ÜºÙ¤Ê¾ðÊó¤òɽ¼¨¤·¤Þ¤¹"
-
-#: ly2dvi.py:352 midi2ly.py:104 mup2ly.py:78 update-lily.py:92 main.cc:125
+#: ly2dvi.py:149 midi2ly.py:106 mup2ly.py:79 main.cc:125
 msgid "print version number"
 msgstr "¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òɽ¼¨"
 
-#: ly2dvi.py:353 midi2ly.py:105 mup2ly.py:79 update-lily.py:94 main.cc:127
-msgid "show warranty and copyright"
-msgstr "ÊݾڤÈÃøºî¸¢¤Ë¤Ä¤¤¤Æɽ¼¨¤¹¤ë"
-
-#: ly2dvi.py:448
-#, fuzzy, c-format
+#. other globals
+#. Pdftex support
+#. # yuk.
+#. lilypond_binary = 'valgrind --suppressions=%(home)s/usr/src/guile-1.6.supp --num-callers=10 %(home)s/usr/src/lilypond/lily/out/lilypond '% { 'home' : '/home/hanwen' }
+#. only use installed binary  when we're installed too.
+#. init to empty; values here take precedence over values in the file
+#. # TODO: change name.
+#. for geometry v3
+#. Output formats that ly2dvi should create
+#. what a name.
+#. ly.warning (_ ("invalid value: %s") % `val`)
+#. ly.warning (_ ("invalid value: %s") % `val`)
+#: ly2dvi.py:232
+#, fuzzy, python-format
 msgid "no such setting: `%s'"
 msgstr "¤½¤ÎÍͤʳڴï¤Ï¤¢¤ê¤Þ¤»¤ó: `%s'"
 
-#: ly2dvi.py:508
-#, c-format
+#. 2 == user interrupt.
+#: ly2dvi.py:274
+#, python-format
 msgid "LilyPond crashed (signal %d)."
 msgstr ""
 
-#: ly2dvi.py:509
+#: ly2dvi.py:275
 msgid "Please submit a bug report to bug-lilypond@gnu.org"
 msgstr ""
 
-#: ly2dvi.py:513
-#, c-format
-msgid "LilyPond failed on the input file (exit status %d)."
+#: ly2dvi.py:281
+#, python-format
+msgid "LilyPond failed on input file %s (exit status %d)"
 msgstr ""
 
-#: ly2dvi.py:522
-#, fuzzy, c-format
+#: ly2dvi.py:284
+#, python-format
+msgid "LilyPond failed on an input file (exit status %d)"
+msgstr ""
+
+#: ly2dvi.py:285
+#, fuzzy
+msgid "Continuing..."
+msgstr "Í×µá¤ò¼Î¤Æ¤Þ¤¹: `%s'"
+
+#. urg
+#: ly2dvi.py:296
+#, fuzzy, python-format
 msgid "Analyzing %s..."
 msgstr "Í×µá¤ò¼Î¤Æ¤Þ¤¹: `%s'"
 
-#: ly2dvi.py:578
-#, fuzzy, c-format
+#. search only the first 10k
+#: ly2dvi.py:354
+#, fuzzy, python-format
 msgid "no LilyPond output found for `%s'"
 msgstr "Lily ¤Ï %s ¤Ë½ÐÎϤ·¤Þ¤¹..."
 
-#: ly2dvi.py:618
-#, fuzzy, c-format
+#. The final \n seems important here. It ensures that the footers and taglines end up on the right page.
+#. TODO: should set textheight (enlarge) depending on papersize.
+#: ly2dvi.py:397
+#, fuzzy, python-format
 msgid "invalid value: `%s'"
 msgstr "̵¸ú¤Êʸ»ú: `%c'"
 
-#: ly2dvi.py:724
+#. set sane geometry width (a4-width) for linewidth = -1.
+#. who the hell is 597 ?
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#: ly2dvi.py:511
 msgid "LaTeX failed on the output file."
 msgstr ""
 
-#: ly2dvi.py:726
-msgid "The error log is as follows:"
+#. make a preview by rendering only the 1st line
+#. of each score
+#: ly2dvi.py:568
+msgid ""
+"Trying create PDF, but no PFA fonts found.\n"
+"Using bitmap fonts instead. This will look bad."
 msgstr ""
 
-#: ly2dvi.py:849
-#, fuzzy, c-format
+#. ugh. Different targets?
+#. Added as functionality to ly2dvi, because ly2dvi may well need to do this
+#. in future too.
+#. no ps header?
+#: ly2dvi.py:615
+#, fuzzy, python-format
 msgid "not a PostScript file: `%s'"
 msgstr "¥Õ¥¡¥¤¥ë¤ò³«¤±¤Þ¤»¤ó: `%s'"
 
-#: ly2dvi.py:865 midi2ly.py:1012 update-lily.py:458
-#, c-format
-msgid "getopt says: `%s'"
-msgstr ""
+#. todo
+#: ly2dvi.py:660
+#, fuzzy, python-format
+msgid "Writing HTML menu `%s'"
+msgstr "¹Ô ..."
 
-#: ly2dvi.py:948
+#. signal programming error
+#. Don't convert input files to abspath, rather prepend '.' to include
+#. path.
+#. As a neat trick, add directory part of first input file
+#. to include path.  That way you can do without the clumsy -I in:
+#. ly2dvi -I foe/bar/baz foo/bar/baz/baz.ly
+#: ly2dvi.py:769
 msgid "pseudo filter"
 msgstr ""
 
-#: ly2dvi.py:951
+#: ly2dvi.py:772
 msgid "pseudo filter only for single input file"
 msgstr ""
 
-#: ly2dvi.py:980
-#, fuzzy, c-format
+#. Ugh, maybe make a setup () function
+#. hmmm. Wish I'd 've written comments when I wrote this.
+#. now it looks complicated.
+#: ly2dvi.py:806
+#, fuzzy, python-format
 msgid "filename should not contain spaces: `%s'"
 msgstr "´û¤Ë´Þ¤ó¤Ç¤¤¤Þ¤¹: `%s'"
 
-#: ly2dvi.py:1076 input-file-results.cc:67
-#, fuzzy, c-format
+#. to be sure, add tmpdir *in front* of inclusion path.
+#. os.environ['TEXINPUTS'] =  tmpdir + ':' + os.environ['TEXINPUTS']
+#. We catch all exceptions, because we need to do stuff at exit:
+#. * copy any successfully generated stuff from tempdir and
+#. notify user of that
+#. * cleanout tempdir
+#. ## ARGH. This also catches python programming errors.
+#. ## this should only catch lilypond nonzero exit  status
+#. ## --hwn
+#. TODO: friendly message about LilyPond setup/failing?
+#.
+#: ly2dvi.py:845
+msgid "Running LilyPond failed. Rerun with --verbose for a trace."
+msgstr ""
+
+#. Our LilyPond pseudo filter always outputs to 'lelie'
+#. have subsequent stages and use 'lelie' output.
+#. unless: add --tex, or --latex?
+#. TODO: friendly message about TeX/LaTeX setup,
+#. trying to run tex/latex by hand
+#: ly2dvi.py:886
+msgid "Failed to make PS file. Rerun with --verbose for a trace."
+msgstr ""
+
+#. unless: add --tex, or --latex?
+#. TODO: friendly message about TeX/LaTeX setup,
+#. trying to run tex/latex by hand
+#: ly2dvi.py:916
+msgid "Running LaTeX falied. Rerun with --verbose for a trace."
+msgstr ""
+
+#. add DEP to targets?
+#: ly2dvi.py:926 input-file-results.cc:68
+#, fuzzy, c-format, python-format
 msgid "dependencies output to `%s'..."
 msgstr "%s ¤Ø paper ½ÐÎÏ..."
 
-#: ly2dvi.py:1090 ly2dvi.py:1104 includable-lexer.cc:49
-#: input-file-results.cc:187 input-file-results.cc:193 lily-guile.cc:97
-#, fuzzy, c-format
+#: ly2dvi.py:937
+#, fuzzy, python-format
+msgid "%s output to <stdout>..."
+msgstr "%s ¤Ø¤Î MIDI ½ÐÎÏ"
+
+#: ly2dvi.py:942 ly2dvi.py:968 includable-lexer.cc:57
+#: input-file-results.cc:191 input-file-results.cc:197 lily-guile.cc:86
+#, fuzzy, c-format, python-format
 msgid "can't find file: `%s'"
 msgstr "¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: `%s'"
 
-#: ly2dvi.py:1102 midi2ly.py:996
-#, fuzzy, c-format
-msgid "%s output to `%s'..."
+#. Hmm, if this were a function, we could call it the except: clauses
+#: ly2dvi.py:965
+#, fuzzy, python-format
+msgid "%s output to %s..."
 msgstr "%s ¤Ø¤Î MIDI ½ÐÎÏ"
 
-#: ly2dvi.py:1111
-msgid "no files specified on command line"
-msgstr ""
-
-#: midi2ly.py:92
+#. !@PYTHON@
+#.
+#. midi2ly.py -- LilyPond midi import script
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. ###############################################################
+#. Users of python modules should include this snippet.
+#.
+#. This soon to be removed for: import lilypond.lilylib as ly
+#. ###############################################################
+#. ###############################################################
+#. ############### CONSTANTS
+#. ###############################################################
+#. temp_dir = os.path.join (original_dir,  '%s.dir' % program_name)
+#. original_dir = os.getcwd ()
+#. keep_temp_dir_p = 0
+#: midi2ly.py:94
 msgid "Convert MIDI to LilyPond source"
 msgstr ""
 
-#: midi2ly.py:95
+#: midi2ly.py:97
 msgid "print absolute pitches"
 msgstr ""
 
-#: midi2ly.py:96 midi2ly.py:101
+#: midi2ly.py:98 midi2ly.py:103
 msgid "DUR"
 msgstr "DUR"
 
-#: midi2ly.py:96
+#: midi2ly.py:98
 msgid "quantise note durations on DUR"
 msgstr ""
 
-#: midi2ly.py:97
+#: midi2ly.py:99
 msgid "print explicit durations"
 msgstr ""
 
-#: midi2ly.py:99
+#: midi2ly.py:101
 #, fuzzy
 msgid "ALT[:MINOR]"
 msgstr "ACC[:MINOR]"
 
-#: midi2ly.py:99
+#: midi2ly.py:101
 #, fuzzy
 msgid "set key: ALT=+sharps|-flats; MINOR=1"
 msgstr "Ä´¤òÀßÄê: ACC +¥·¥ã¡¼¥×/-¥Õ¥é¥Ã¥È :1 Ã»Ä´"
 
-#: midi2ly.py:101
+#: midi2ly.py:103
 msgid "quantise note starts on DUR"
 msgstr ""
 
-#: midi2ly.py:102
+#: midi2ly.py:104
 msgid "DUR*NUM/DEN"
 msgstr ""
 
-#: midi2ly.py:102
+#: midi2ly.py:104
 msgid "allow tuplet durations DUR*NUM/DEN"
 msgstr ""
 
-#: midi2ly.py:106
+#: midi2ly.py:108
 msgid "treat every text as a lyric"
 msgstr ""
 
-#: midi2ly.py:1027
+#: midi2ly.py:136 mup2ly.py:130
+msgid " 2001--2003"
+msgstr ""
+
+#: midi2ly.py:141 mup2ly.py:135
+msgid ""
+"\n"
+"Distributed under terms of the GNU General Public License. It comes with\n"
+"NO WARRANTY."
+msgstr ""
+
+#: midi2ly.py:166 mup2ly.py:162
+#, fuzzy
+msgid "Exiting ... "
+msgstr "¹Ô ..."
+
+#: midi2ly.py:264 mup2ly.py:261
+#, python-format
+msgid "command exited with value %d"
+msgstr ""
+
+#. ###############################################################
+#. END Library
+#. ###############################################################
+#. hmm
+#. major scale: do-do
+#. minor scale: la-la  (= + 5) '''
+#. By tradition, all scales now consist of a sequence
+#. of 7 notes each with a distinct name, from amongst
+#. a b c d e f g.  But, minor scales have a wide
+#. second interval at the top - the 'leading note' is
+#. sharped. (Why? it just works that way! Anything
+#. else doesn't sound as good and isn't as flexible at
+#. saying things. In medieval times, scales only had 6
+#. notes to avoid this problem - the hexachords.)
+#. So, the d minor scale is d e f g a b-flat c-sharp d
+#. - using d-flat for the leading note would skip the
+#. name c and duplicate the name d.  Why isn't c-sharp
+#. put in the key signature? Tradition. (It's also
+#. supposedly based on the Pythagorean theory of the
+#. cycle of fifths, but that really only applies to
+#. major scales...)  Anyway, g minor is g a b-flat c d
+#. e-flat f-sharp g, and all the other flat minor keys
+#. end up with a natural leading note. And there you
+#. have it.
+#. John Sankey <bf250@freenet.carleton.ca>
+#.
+#. Let's also do a-minor: a b c d e f gis a
+#.
+#. --jcn
+#. as -> gis
+#. des -> cis
+#. ges -> fis
+#. g -> fisis
+#. d -> cisis
+#. a -> gisis
+#. b -> ces
+#. e -> fes
+#. f -> eis
+#. c -> bis
+#. # FIXME: compile fix --jcn
+#. TODO: move space
+#. fis cis gis dis ais eis bis
+#. bes es as des ges ces fes
+#. urg, we should be sure that we're in a lyrics staff
+#. all include ALL_NOTES_OFF
+#. ugh, must set key while parsing
+#. because Note init uses key
+#. Better do Note.calc () at dump time?
+#. last_lyric.clocks = t - last_time
+#. hmm
+#. urg, this will barf at meter changes
+#. urg LilyPond doesn't start at c4, but
+#. remembers from previous tracks!
+#. reference_note = Note (clocks_per_4, 4*12, 0)
+#. must be in \notes mode for parsing \skip
+#: midi2ly.py:1002
+#, fuzzy, python-format
+msgid "%s output to `%s'..."
+msgstr "%s ¤Ø¤Î MIDI ½ÐÎÏ"
+
+#: midi2ly.py:1033
 msgid "Example:"
 msgstr ""
 
-#: midi2ly.py:1081
+#: midi2ly.py:1083
 msgid "no files specified on command line."
 msgstr ""
 
-#: mup2ly.py:69
+#. !@PYTHON@
+#. mup2ly.py -- mup input converter
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c) 2001
+#. if set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#: mup2ly.py:70
 msgid "Convert mup to LilyPond source"
 msgstr ""
 
-#: mup2ly.py:72
+#: mup2ly.py:73
 msgid "debug"
 msgstr ""
 
-#: mup2ly.py:73
+#: mup2ly.py:74
 msgid "define macro NAME [optional expansion EXP]"
 msgstr ""
 
-#: mup2ly.py:75 main.cc:117
+#: mup2ly.py:76 main.cc:117
 #, fuzzy
 msgid "write output to FILE"
 msgstr "BASENAME[-x].³ÈÄ¥»Ò ¤Ø½ÐÎϤò½ñ¤­¹þ¤à"
 
-#: mup2ly.py:76
+#: mup2ly.py:77
 msgid "only pre-process"
 msgstr ""
 
-#: mup2ly.py:1073
-#, fuzzy, c-format
+#. Duh.  Python style portable: cp *.EXT OUTDIR
+#. system ('cp *.%s %s' % (ext, outdir), 1)
+#. Python < 1.5.2 compatibility
+#.
+#. On most platforms, this is equivalent to
+#. `normpath(join(os.getcwd()), PATH)'.  *Added in Python version 1.5.2*
+#. if set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. ###############################################################
+#. END Library
+#.
+#. PMX cut and paste
+#.
+#. if not self.entries:
+#. #return '\n'
+#. #ugh ugh
+#. return '\n%s = {}\n\n' % self.idstring ()
+#. ugh
+#. def set_clef (self, letter):
+#. clstr = clef_table[letter]
+#. self.voices[0].add_nonchord (Clef (clstr))
+#. urg
+#. maybe use import copy?
+#. for i in self.pitches:
+#. ch.pitches.append (i)
+#. for i in self.scripts:
+#. ch.scripts.append (i)
+#. http://www.arkkra.com/doc/uguide/contexts.html
+#. #self.current_staffs = []
+#. duh
+#. FIXME: 1?
+#. FIXME: does key play any role in this?
+#. ch = self.current_voices[0].last_chord ()
+#. ch.basic_duration = self.current_voices[0].last_chord ().basic_duration
+#. ugh
+#. ch = self.current_voices[0].last_chord ()
+#. `;' is not a separator, chords end with ';'
+#. mup resets default duration and pitch each bar
+#. ugh: these (and lots more) should also be parsed in
+#. context staff.  we should have a class Staff_properties
+#. and parse/set all those.
+#. shortcut: set to official mup maximum (duh)
+#. self.set_staffs (40)
+#: mup2ly.py:1076
+#, fuzzy, python-format
 msgid "no such context: %s"
 msgstr "¤½¤ÎÍͤʳڴï¤Ï¤¢¤ê¤Þ¤»¤ó: `%s'"
 
-#: mup2ly.py:1297
-#, fuzzy, c-format
+#. hmm
+#. dig this: mup allows ifdefs inside macro bodies
+#. don't do nested multi-line defines
+#. duh: mup is strictly line-based, except for `define',
+#. which is `@' terminated and may span several lines
+#. don't define new macros in unactive areas
+#. To support nested multi-line define's
+#. process_function and macro_name, macro_body
+#. should become lists (stacks)
+#. The mup manual is undetermined on this
+#. and I haven't seen examples doing it.
+#.
+#. don't do nested multi-line define's
+#. writes to stdout for help2man
+#. don't call
+#. identify ()
+#. sys.stdout.flush ()
+#. handy emacs testing
+#. if not files:
+#. files = ['template.mup']
+#: mup2ly.py:1300
+#, fuzzy, python-format
 msgid "Processing `%s'..."
 msgstr "½èÍýÃæ..."
 
-#: mup2ly.py:1316
-#, fuzzy, c-format
+#: mup2ly.py:1319
+#, fuzzy, python-format
 msgid "Writing `%s'..."
 msgstr "¹Ô ..."
 
-#: update-lily.py:76
-msgid "Fetch and rebuild from latest source package"
-msgstr ""
-
-#: update-lily.py:79
-#, c-format
-msgid "unpack and build in DIR [%s]"
-msgstr ""
-
-#: update-lily.py:80
-msgid "execute COMMAND, subtitute:"
-msgstr ""
-
-#: update-lily.py:81
-msgid "%b: build root"
-msgstr ""
-
-#: update-lily.py:82
-#, c-format
-msgid "%n: package name"
-msgstr ""
-
-#: update-lily.py:83
-#, fuzzy
-msgid "%r: release directory"
-msgstr "¸«¤Ä¤«¤é¤Ê¤¤¤«ºî¤ì¤Þ¤»¤ó: `%s'"
-
-#: update-lily.py:84
-msgid "%t: tarball"
-msgstr ""
-
-#: update-lily.py:85
-msgid "%v: package version"
-msgstr ""
-
-#: update-lily.py:88
-#, c-format
-msgid "keep all output, and name the directory %s"
-msgstr ""
-
-#: update-lily.py:89
-msgid "upon failure notify EMAIL[,EMAIL]"
-msgstr ""
-
-#: update-lily.py:90
-msgid "remove previous build"
-msgstr ""
-
-#: update-lily.py:93
-#, c-format
-msgid "fetch and build URL [%s]"
-msgstr ""
-
-#: update-lily.py:429
-#, fuzzy, c-format
-msgid "Listing `%s'..."
-msgstr "¹Ô ..."
-
-#: update-lily.py:497
-#, c-format
-msgid "latest is: %s"
-msgstr ""
-
-#: update-lily.py:498
-#, c-format
-msgid "relax, %s is up to date"
-msgstr ""
-
-#: update-lily.py:507 update-lily.py:520
-#, fuzzy, c-format
-msgid "Fetching `%s'..."
-msgstr "Í×µá¤ò¼Î¤Æ¤Þ¤¹: `%s'"
-
-#: update-lily.py:529
-#, fuzzy, c-format
-msgid "Building `%s'..."
-msgstr "Í×µá¤ò¼Î¤Æ¤Þ¤¹: `%s'"
-
 #: getopt-long.cc:146
 #, fuzzy, c-format
 msgid "option `%s' requires an argument"
@@ -435,52 +1208,57 @@ msgstr "ǧ
 msgid "invalid argument `%s' to option `%s'"
 msgstr "¥ª¥×¥·¥ç¥ó `%2$s' ¤ËÂФ¹¤ë̵¸ú¤Ê°ú¿ô `%1$s'"
 
-#: warn.cc:24
+#: warn.cc:25
 #, fuzzy, c-format
 msgid "warning: %s\n"
 msgstr "·Ù¹ð: "
 
-#: warn.cc:30
+#: warn.cc:31
 #, fuzzy, c-format
 msgid "error: %s\n"
 msgstr "¥¨¥é¡¼: "
 
-#: warn.cc:43
+#: warn.cc:44
 #, fuzzy, c-format
 msgid "programming error: %s (Continuing; cross thumbs)\n"
 msgstr " (³¤±¤Þ¤¹ -- cross thumbs)"
 
-#: accidental-engraver.cc:181 new-accidental-engraver.cc:237
+#: accidental.cc:202 key-signature-interface.cc:137
+#, c-format
+msgid "accidental `%s' not found"
+msgstr ""
+
+#: accidental-engraver.cc:171 new-accidental-engraver.cc:238
 #, c-format
 msgid "Accidental typesetting list must begin with context-name: %s"
 msgstr ""
 
-#: accidental-engraver.cc:206 new-accidental-engraver.cc:262
+#: accidental-engraver.cc:196 new-accidental-engraver.cc:263
 #, fuzzy, c-format
 msgid "unknown accidental typesetting: %s. Ignored"
 msgstr "̤ÃΤΥ¨¥¹¥±¡¼¥×ʸ»úÎó: `\\%s'"
 
-#: accidental-engraver.cc:222 new-accidental-engraver.cc:278
+#: accidental-engraver.cc:212 new-accidental-engraver.cc:279
 #, c-format
 msgid "Symbol is not a parent context: %s. Ignored"
 msgstr ""
 
-#: accidental-engraver.cc:225 new-accidental-engraver.cc:281
+#: accidental-engraver.cc:215 new-accidental-engraver.cc:282
 #, c-format
 msgid "Accidental typesetting must be pair or context-name: %s"
 msgstr ""
 
-#: afm.cc:60
+#: afm.cc:66
 #, fuzzy, c-format
 msgid "can't find character number: %d"
 msgstr "ʸ»úÈֹ椬¸«¤Ä¤«¤ê¤Þ¤»¤ó: %d"
 
-#: afm.cc:75
+#: afm.cc:81
 #, fuzzy, c-format
 msgid "can't find character called: `%s'"
 msgstr "¸Æ¤Ó½Ð¤µ¤ì¤¿Ê¸»ú¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: `%s'"
 
-#: afm.cc:125
+#: afm.cc:142
 #, c-format
 msgid "Error parsing AFM file: `%s'"
 msgstr ""
@@ -501,81 +1279,87 @@ msgid ""
 "to show font paths."
 msgstr ""
 
-#: all-font-metrics.cc:167
+#: all-font-metrics.cc:103
+msgid ""
+"A script for removing font-files is delivered with the source-code,\n"
+"in buildscripts/clean-fonts.sh"
+msgstr ""
+
+#: all-font-metrics.cc:169
 #, fuzzy, c-format
 msgid "can't find font: `%s'"
 msgstr "¥Õ¥©¥ó¥È¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: `%s'"
 
-#: all-font-metrics.cc:168
+#: all-font-metrics.cc:170
 msgid "Loading default font"
 msgstr "¥Ç¥Õ¥©¥ë¥È¥Õ¥©¥ó¥È¤ò¥í¡¼¥É¤·¤Þ¤¹"
 
-#: all-font-metrics.cc:183
+#: all-font-metrics.cc:185
 #, fuzzy, c-format
 msgid "can't find default font: `%s'"
 msgstr "¥Ç¥Õ¥©¥ë¥È¥Õ¥©¥ó¥È¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: `%s'"
 
-#: all-font-metrics.cc:184 includable-lexer.cc:51 input-file-results.cc:188
+#: all-font-metrics.cc:186 includable-lexer.cc:59 input-file-results.cc:192
 #, c-format
 msgid "(search path: `%s')"
 msgstr "(¸¡º÷¥Ñ¥¹: `%s')"
 
-#: all-font-metrics.cc:185
+#: all-font-metrics.cc:187
 msgid "Giving up"
 msgstr "Äü¤á¤Þ¤·¤¿"
 
 #: auto-change-iterator.cc:43 change-iterator.cc:60
-#: part-combine-music-iterator.cc:97
+#: part-combine-music-iterator.cc:120
 msgid "Can't switch translators, I'm there already"
 msgstr "¥È¥é¥ó¥¹¥ì¡¼¥¿¤òÀÚ¤êÂؤ¨¤é¤ì¤Þ¤»¤ó¡£´û¤Ë¤½¤¦¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
 
-#: bar-check-iterator.cc:58
+#: bar-check-iterator.cc:51
 #, c-format
 msgid "barcheck failed at: %s"
 msgstr "¾®Àá¥Á¥§¥Ã¥¯¤¬¼ºÇÔ: %s"
 
-#: beam-engraver.cc:167
+#: beam.cc:146
 #, fuzzy
-msgid "already have a beam"
-msgstr "´û¤Ë³Ã¤¬¤¢¤ê¤Þ¤¹"
+msgid "beam has less than two visible stems"
+msgstr "³Ã¤¬Æó¤Ä̤Ëþ¤ÎÉäÈø¤È¤È¤â¤Ë»È¤ï¤ì¤Þ¤·¤¿"
 
-#: beam-engraver.cc:234
+#: beam.cc:151
 #, fuzzy
-msgid "unterminated beam"
-msgstr "½ªÃ¼¤Î¤Ê¤¤¥Ï¥¤¥Õ¥ó"
+msgid "Beam has less than two stems. Removing beam."
+msgstr "³Ã¤¬Æó¤Ä̤Ëþ¤ÎÉäÈø¤È¤È¤â¤Ë»È¤ï¤ì¤Þ¤·¤¿"
 
-#: beam-engraver.cc:267 chord-tremolo-engraver.cc:175
-#, fuzzy
-msgid "stem must have Rhythmic structure"
-msgstr "ÉäÈø¤Ï¥ê¥º¥à¹½Â¤¤ò»ý¤¿¤Í¤Ð¤Ê¤ê¤Þ¤»¤ó"
+#: beam.cc:976
+msgid ""
+"Not sure that we can find a nice beam slope (no viable initial configuration "
+"found)."
+msgstr ""
 
-#: beam-engraver.cc:281
+#: beam-engraver.cc:176
 #, fuzzy
-msgid "stem doesn't fit in beam"
-msgstr "ÉäÈø¤¬³Ã¤ÎÃæ¤Ë¤ª¤µ¤Þ¤ê¤Þ¤»¤ó"
+msgid "already have a beam"
+msgstr "´û¤Ë³Ã¤¬¤¢¤ê¤Þ¤¹"
 
-#: beam-engraver.cc:282
+#: beam-engraver.cc:259
 #, fuzzy
-msgid "beam was started here"
-msgstr "³Ã¤Ï¤³¤³¤«¤é³«»Ï¤µ¤ì¤Þ¤·¤¿"
+msgid "unterminated beam"
+msgstr "½ªÃ¼¤Î¤Ê¤¤¥Ï¥¤¥Õ¥ó"
 
-#: beam.cc:134
+#: beam-engraver.cc:292 chord-tremolo-engraver.cc:197
 #, fuzzy
-msgid "beam has less than two visible stems"
-msgstr "³Ã¤¬Æó¤Ä̤Ëþ¤ÎÉäÈø¤È¤È¤â¤Ë»È¤ï¤ì¤Þ¤·¤¿"
+msgid "stem must have Rhythmic structure"
+msgstr "ÉäÈø¤Ï¥ê¥º¥à¹½Â¤¤ò»ý¤¿¤Í¤Ð¤Ê¤ê¤Þ¤»¤ó"
 
-#: beam.cc:139
+#: beam-engraver.cc:306
 #, fuzzy
-msgid "Beam has less than two stems. Removing beam."
-msgstr "³Ã¤¬Æó¤Ä̤Ëþ¤ÎÉäÈø¤È¤È¤â¤Ë»È¤ï¤ì¤Þ¤·¤¿"
+msgid "stem doesn't fit in beam"
+msgstr "ÉäÈø¤¬³Ã¤ÎÃæ¤Ë¤ª¤µ¤Þ¤ê¤Þ¤»¤ó"
 
-#: beam.cc:951
-msgid ""
-"Not sure that we can find a nice beam slope (no viable initial configuration "
-"found)."
-msgstr ""
+#: beam-engraver.cc:307
+#, fuzzy
+msgid "beam was started here"
+msgstr "³Ã¤Ï¤³¤³¤«¤é³«»Ï¤µ¤ì¤Þ¤·¤¿"
 
-#: break-align-interface.cc:166
+#: break-align-interface.cc:173
 #, fuzzy, c-format
 msgid "No spacing entry from %s to `%s'"
 msgstr "Ƚ¤é¤Ê¤¤¥È¥é¥ó¥¹¥ì¡¼¥¿: `%s'"
@@ -599,71 +1383,112 @@ msgstr "
 msgid "none of these in my family"
 msgstr "¥Õ¥¡¥ß¥ê¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
 
-#: chord-tremolo-engraver.cc:137 percent-repeat-engraver.cc:182
+#: chord-tremolo-engraver.cc:98
+#, c-format
+msgid "Chord tremolo with %d elements. Must have two elements."
+msgstr ""
+
+#: chord-tremolo-engraver.cc:157
 #, fuzzy
 msgid "unterminated chord tremolo"
 msgstr "½ªÃ¼¤Î¤Ê¤¤¥Ï¥¤¥Õ¥ó"
 
-#: chord-tremolo-iterator.cc:50
+#: chord-tremolo-iterator.cc:69
 #, fuzzy
 msgid "no one to print a tremolos"
 msgstr "È¿Éüµ­¹æ¤òɽ¼¨¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤»¤ó"
 
-#: chord.cc:313
+#: clef.cc:64
+#, c-format
+msgid "clef `%s' not found"
+msgstr ""
+
+#: cluster.cc:131
+#, fuzzy, c-format
+msgid "unknown cluster style `%s'"
+msgstr "ÉÔÌÀ¤Ê²»Éôµ­¹æ(Clef)"
+
+#: coherent-ligature-engraver.cc:84
+#, c-format
+msgid "gotcha: ptr=%ul"
+msgstr ""
+
+#: coherent-ligature-engraver.cc:96
+#, c-format
+msgid "distance=%f"
+msgstr ""
+
+#: coherent-ligature-engraver.cc:139
 #, c-format
-msgid "invalid subtraction: not part of chord: %s"
-msgstr "̵¸ú¤Ê°ú¤­»»: ¥³¡¼¥É¤Î°ìÉô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó: %s"
+msgid "Coherent_ligature_engraver: setting `spacing-increment = 0.01': ptr=%ul"
+msgstr ""
 
-#: chord.cc:342
+#: custos.cc:92
 #, c-format
-msgid "invalid inversion pitch: not part of chord: %s"
-msgstr "̵¸ú¤Êž²ó¥Ô¥Ã¥Á: ¥³¡¼¥É¤Î°ìÉô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó: %s"
+msgid "custos `%s' not found"
+msgstr ""
 
 #: dimensions.cc:13
 msgid "NaN"
 msgstr "NaN"
 
-#: dynamic-engraver.cc:187 span-dynamic-performer.cc:82
+#: dynamic-engraver.cc:204 span-dynamic-performer.cc:82
 #, fuzzy
 msgid "can't find start of (de)crescendo"
 msgstr "ËöÈø¤Ø¤Î(¥Ç)¥¯¥ì¥Ã¥·¥§¥ó¥É¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
 
-#: dynamic-engraver.cc:211
+#: dynamic-engraver.cc:216
 #, fuzzy
 msgid "already have a crescendo"
 msgstr "´û¤Ë³Ã¤¬¤¢¤ê¤Þ¤¹"
 
-#: dynamic-engraver.cc:212
+#: dynamic-engraver.cc:217
 #, fuzzy
 msgid "already have a decrescendo"
 msgstr "´û¤Ë³Ã¤¬¤¢¤ê¤Þ¤¹"
 
-#: dynamic-engraver.cc:215
+#: dynamic-engraver.cc:220
 #, fuzzy
 msgid "Cresc started here"
 msgstr "³Ã¤Ï¤³¤³¤«¤é³«»Ï¤µ¤ì¤Þ¤·¤¿"
 
-#: dynamic-engraver.cc:307
+#: dynamic-engraver.cc:323
 #, fuzzy
 msgid "unterminated (de)crescendo"
 msgstr "½ªÎ»¤·¤Æ¤¤¤Ê¤¤¥¯¥ì¥Ã¥·¥§¥ó¥É"
 
-#: extender-engraver.cc:96
+#: event.cc:49
+#, fuzzy, c-format
+msgid "Transposition by %s makes alteration larger than two"
+msgstr "%s ¤ÎÊÑÄ´¤Ë¤è¤Ã¤Æ¡¢Æó¤Ä¤òĶ¤¨¤ëÇÉÀ¸²»¤¬ºî¤é¤ì¤Þ¤·¤¿"
+
+#: event-chord-iterator.cc:76 output-property-music-iterator.cc:27
+#, fuzzy, c-format
+msgid "Junking event: `%s'"
+msgstr "Í×µá¤ò¼Î¤Æ¤Þ¤¹: `%s'"
+
+#: extender-engraver.cc:94
 msgid "unterminated extender"
 msgstr "½ªÃ¼¤Î¤Ê¤¤¥¨¥¯¥¹¥Æ¥ó¥À"
 
-#: extender-engraver.cc:108
-msgid "Nothing to connect extender to on the left.  Ignoring extender request."
+#: extender-engraver.cc:106
+#, fuzzy
+msgid "Nothing to connect extender to on the left.  Ignoring extender event."
 msgstr "¥¨¥¯¥¹¥Æ¥ó¥À¤¬º¸Â¦¤Ë¤Ä¤Ê¤¬¤ê¤Þ¤»¤ó¡£¥¨¥¯¥¹¥Æ¥ó¥ÀÍ×µá¤ò̵»ë¤·¤Þ¤¹¡£"
 
-#: folded-repeat-iterator.cc:78
+#: folded-repeat-iterator.cc:88
 msgid "no one to print a repeat brace"
 msgstr "È¿Éüµ­¹æ¤òɽ¼¨¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤»¤ó"
 
-#: font-interface.cc:238
+#: font-interface.cc:239
 msgid "couldn't find any font satisfying "
 msgstr ""
 
+#: glissando-engraver.cc:100
+#, fuzzy
+msgid "Unterminated glissando."
+msgstr "½ªÃ¼¤µ¤ì¤Æ¤¤¤Ê¤¤¥¹¥é¡¼"
+
 #: gourlay-breaking.cc:188
 #, c-format
 msgid "Optimal demerits: %f"
@@ -673,6 +1498,27 @@ msgstr ""
 msgid "No feasible line breaking found"
 msgstr ""
 
+#: gregorian-ligature-engraver.cc:59
+#, c-format
+msgid "\\%s ignored"
+msgstr ""
+
+#: gregorian-ligature-engraver.cc:64
+#, c-format
+msgid "implied \\%s added"
+msgstr ""
+
+#.
+#. Todo: do something sensible. The grob-pq-engraver is not water
+#. tight, and stuff like tupletSpannerDuration confuses it.
+#.
+#: grob-pq-engraver.cc:130
+#, c-format
+msgid ""
+"Skipped something?\n"
+"Grob %s ended before I expected it to end."
+msgstr ""
+
 #: hairpin.cc:98
 msgid "decrescendo too small"
 msgstr ""
@@ -682,114 +1528,117 @@ msgstr ""
 msgid "crescendo too small"
 msgstr "¥¯¥ì¥Ã¥·¥§¥ó¥É"
 
-#: hyphen-engraver.cc:89
+#: horizontal-bracket-engraver.cc:64
+#, fuzzy
+msgid "Don't have that many brackets."
+msgstr "¤½¤ó¤Ê¤ËÂô»³¤Î¥ª¥¯¥¿¡¼¥Ö (%s) ¤ò»È¤ï¤Ê¤¤¤Ç¤¯¤À¤µ¤¤"
+
+#: horizontal-bracket-engraver.cc:73
+#, fuzzy
+msgid "Conflicting note group events."
+msgstr "Çï»Ò¤ÎÍ׵᤬¶¥¹ç¤·¤Þ¤¹"
+
+#: hyphen-engraver.cc:87
 msgid "unterminated hyphen"
 msgstr "½ªÃ¼¤Î¤Ê¤¤¥Ï¥¤¥Õ¥ó"
 
-#: hyphen-engraver.cc:101
-msgid "Nothing to connect hyphen to on the left.  Ignoring hyphen request."
+#: hyphen-engraver.cc:99
+#, fuzzy
+msgid "Nothing to connect hyphen to on the left.  Ignoring hyphen event."
 msgstr "º¸Â¦¤Ë·Ò¤²¤ë¥Ï¥¤¥Õ¥ó¤¬¤¢¤ê¤Þ¤»¤ó¡£¥Ï¥¤¥Õ¥ó¤ÎÍ×µá¤ò̵»ë¤·¤Þ¤¹"
 
-#: input-file-results.cc:71 source-file.cc:52 streams.cc:38
+#: input.cc:99
+#, fuzzy
+msgid "non fatal error: "
+msgstr "³¹Ô²Äǽ¤Ê¥¨¥é¡¼: "
+
+#: input.cc:107 source-file.cc:146 source-file.cc:239
+msgid "position unknown"
+msgstr "°ÌÃÖ¤¬È½¤ê¤Þ¤»¤ó"
+
+#: input-file-results.cc:72 source-file.cc:54 streams.cc:38
 #, fuzzy, c-format
 msgid "can't open file: `%s'"
 msgstr "¥Õ¥¡¥¤¥ë¤ò³«¤±¤Þ¤»¤ó: `%s'"
 
-#: input-file-results.cc:131
+#: input-file-results.cc:132
 msgid "Score contains errors; will not process it"
 msgstr "³ÚÉè¤Ë¥¨¥é¡¼¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹ -- ½èÍý¤·¤Þ¤»¤ó"
 
-#: input-file-results.cc:168
+#: input-file-results.cc:172
 #, fuzzy, c-format
 msgid "Now processing: `%s'"
 msgstr "̤ÃΤΥ¨¥¹¥±¡¼¥×ʸ»úÎó: `\\%s'"
 
-#: input.cc:98
-#, fuzzy
-msgid "non fatal error: "
-msgstr "³¹Ô²Äǽ¤Ê¥¨¥é¡¼: "
-
-#: input.cc:106 source-file.cc:147 source-file.cc:240
-msgid "position unknown"
-msgstr "°ÌÃÖ¤¬È½¤ê¤Þ¤»¤ó"
-
-#: key-engraver.cc:91
-msgid "Conflicting key signatures found."
-msgstr ""
-
-#: key-engraver.cc:92
-msgid "This was the other key definition."
-msgstr ""
-
-#: key-performer.cc:92
+#: key-performer.cc:96
 msgid "FIXME: key change merge"
 msgstr "FIXME: ¥­¡¼Êѹ¹¤Î¥Þ¡¼¥¸"
 
-#: kpath.cc:64
+#: kpath.cc:76
 #, fuzzy, c-format
 msgid "Kpathsea couldn't find TFM file `%s'"
 msgstr "¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: `%s'"
 
-#: ligature-bracket.cc:105 ligature-bracket.cc:139 ligature-engraver.cc:124
-msgid "no left bound"
-msgstr ""
-
-#: ligature-engraver.cc:81
+#: ligature-engraver.cc:159
 #, fuzzy
 msgid "can't find start of ligature"
 msgstr "ËöÈø¤Ø¤Î(¥Ç)¥¯¥ì¥Ã¥·¥§¥ó¥É¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
 
-#: ligature-engraver.cc:86
+#: ligature-engraver.cc:165
 msgid "no right bound"
 msgstr ""
 
-#: ligature-engraver.cc:108
+#: ligature-engraver.cc:191
 #, fuzzy
 msgid "already have a ligature"
 msgstr "´û¤Ë³Ã¤¬¤¢¤ê¤Þ¤¹"
 
-#: ligature-engraver.cc:166
+#: ligature-engraver.cc:207
+msgid "no left bound"
+msgstr ""
+
+#: ligature-engraver.cc:258
 #, fuzzy
 msgid "unterminated ligature"
 msgstr "½ªÃ¼¤µ¤ì¤Æ¤¤¤Ê¤¤¥¹¥é¡¼"
 
-#: ligature-engraver.cc:183
+#: ligature-engraver.cc:282
 msgid "ligature may not contain rest; ignoring rest"
 msgstr ""
 
-#: ligature-engraver.cc:184
+#: ligature-engraver.cc:283
 #, fuzzy
 msgid "ligature was started here"
 msgstr "³Ã¤Ï¤³¤³¤«¤é³«»Ï¤µ¤ì¤Þ¤·¤¿"
 
-#: lily-guile.cc:99
+#: lily-guile.cc:88
 #, c-format
 msgid "(load path: `%s')"
 msgstr "(Æɹþ¥Ñ¥¹: `%s')"
 
-#: lily-guile.cc:582
+#: lily-guile.cc:576
 #, c-format
 msgid "Can't find property type-check for `%s' (%s)."
 msgstr ""
 
-#: lily-guile.cc:585
+#: lily-guile.cc:579
 msgid "Perhaps you made a typing error?"
 msgstr ""
 
-#: lily-guile.cc:591
+#: lily-guile.cc:585
 msgid "Doing assignment anyway."
 msgstr ""
 
-#: lily-guile.cc:605
+#: lily-guile.cc:599
 #, c-format
 msgid "Type check for `%s' failed; value `%s' must be of type `%s'"
 msgstr ""
 
-#: lookup.cc:141
+#: lookup.cc:173
 msgid "round filled box horizontal extent smaller than blot; decreasing blot"
 msgstr ""
 
-#: lookup.cc:146
+#: lookup.cc:178
 msgid "round filled box vertical extent smaller than blot; decreasing blot"
 msgstr ""
 
@@ -809,12 +1658,6 @@ msgstr ""
 msgid "set options, use -e '(ly-option-usage)' for help"
 msgstr ""
 
-#. another bug in option parser: --output=foe is taken as an abbreviation
-#. for --output-format
-#: main.cc:110
-msgid "EXT"
-msgstr "EXT"
-
 #: main.cc:110
 msgid "use output format EXT"
 msgstr ""
@@ -883,17 +1726,13 @@ msgstr ""
 "¤³¤ì¤ò²þÊѤ·¤¿¤ê¡¢Ê£À½¤òÇÛÉÛ¤·¤¿¤ê¤¹¤ë»ö¤Ï´¿·Þ¤µ¤ì¤Þ¤¹¡£\n"
 "`--warranty' ¥ª¥×¥·¥ç¥óÉÕ¤­¤Çµ¯Æ°¤¹¤ë¤È¡¢¤è¤ê¾ÜºÙ¤Ê¾ðÊó¤¬ÆÀ¤é¤ì¤Þ¤¹¡£\n"
 
-#: main.cc:188 main.cc:200
-#, c-format
-msgid "Copyright (c) %s by"
-msgstr "Copyright (c) %s by"
-
 #: main.cc:198
 #, fuzzy
 msgid "GNU LilyPond -- The music typesetter"
 msgstr "GNU LilyPond -- The GNU Project music typesetter"
 
 #: main.cc:206
+#, fuzzy
 msgid ""
 "    This program is free software; you can redistribute it and/or\n"
 "modify it under the terms of the GNU General Public License version 2\n"
@@ -906,7 +1745,8 @@ msgid ""
 "\n"
 "    You should have received a copy (refer to the file COPYING) of the\n"
 "GNU General Public License along with this program; if not, write to\n"
-"the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,\n"
+"the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA "
+"02111-1307,\n"
 "USA.\n"
 msgstr ""
 "    This program is free software; you can redistribute it and/or\n"
@@ -940,78 +1780,73 @@ msgstr ""
 "¤Ç¤¹(COPYING ¥Õ¥¡¥¤¥ë¤ò»²¾È)¡£¤½¤¦¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢Free Software Foundation,\n"
 "Inc., 675 Mass Ave, Cambridge, MA 02139, USA ¤Ë¼ê»æ¤ò½ñ¤¤¤Æ¤¯¤À¤µ¤¤¡£\n"
 
-#: mensural-ligature-engraver.cc:321 mensural-ligature-engraver.cc:483
-msgid "unexpected case fall-through"
+#: mensural-ligature.cc:153
+#, c-format
+msgid "Mensural_ligature:thickness undefined on flexa %d; assuming 1.4"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:332
-msgid "ligature with less than 2 heads -> skipping"
+#: mensural-ligature.cc:169
+#, c-format
+msgid "Mensural_ligature:delta-pitch undefined on flexa %d; assuming 0"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:347
-msgid "can not determine pitch of ligature primitive -> skipping"
+#: mensural-ligature.cc:182
+#, c-format
+msgid "Mensural_ligature:flexa-width undefined on flexa %d; assuming 2.0"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:370
-msgid "prime interval within ligature -> skipping"
+#: mensural-ligature.cc:215
+msgid "Mensural_ligature:unexpected case fall-through"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:380
-msgid "mensural ligature: duration none of L, B, S -> skipping"
+#: mensural-ligature.cc:225
+msgid "Mensural_ligature: (join_left == 0)"
 msgstr ""
 
-#: mensural-ligature.cc:152
-#, c-format
-msgid "Mensural_ligature: thickness undefined on flexa %d; assuming 1.4"
+#: mensural-ligature-engraver.cc:248 mensural-ligature-engraver.cc:397
+msgid "unexpected case fall-through"
 msgstr ""
 
-#: mensural-ligature.cc:166
-#, c-format
-msgid "Mensural_ligature: delta-pitch undefined on flexa %d; assuming 0"
+#: mensural-ligature-engraver.cc:259
+msgid "ligature with less than 2 heads -> skipping"
 msgstr ""
 
-#: mensural-ligature.cc:177
-#, c-format
-msgid "Mensural_ligature: flexa-width undefined on flexa %d; assuming 2.0"
+#: mensural-ligature-engraver.cc:279
+msgid "can not determine pitch of ligature primitive -> skipping"
 msgstr ""
 
-#: mensural-ligature.cc:208
-msgid "Mensural_ligature: unexpected case fall-through"
+#: mensural-ligature-engraver.cc:302
+msgid "prime interval within ligature -> skipping"
 msgstr ""
 
-#: mensural-ligature.cc:217
-msgid "Menusral_ligature: (join_left == 0)"
+#: mensural-ligature-engraver.cc:312
+msgid "mensural ligature: duration none of L, B, S -> skipping"
 msgstr ""
 
-#: midi-item.cc:144
+#: midi-item.cc:148
 #, c-format
 msgid "no such instrument: `%s'"
 msgstr "¤½¤ÎÍͤʳڴï¤Ï¤¢¤ê¤Þ¤»¤ó: `%s'"
 
-#: midi-item.cc:234
+#: midi-item.cc:238
 msgid "silly duration"
 msgstr "Çϼ¯¤²¤¿²»Ä¹"
 
-#: midi-item.cc:247
+#: midi-item.cc:251
 msgid "silly pitch"
 msgstr "Çϼ¯¤²¤¿¥Ô¥Ã¥Á"
 
-#: music-output-def.cc:113
+#: music-output-def.cc:111
 #, fuzzy, c-format
 msgid "can't find `%s' context"
 msgstr "`%s' ¥³¥ó¥Æ¥­¥¹¥È¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
 
-#: music.cc:159
-#, c-format
-msgid "Transposition by %s makes accidental larger than two"
-msgstr "%s ¤ÎÊÑÄ´¤Ë¤è¤Ã¤Æ¡¢Æó¤Ä¤òĶ¤¨¤ëÇÉÀ¸²»¤¬ºî¤é¤ì¤Þ¤·¤¿"
-
-#: my-lily-lexer.cc:142
+#: my-lily-lexer.cc:169
 #, c-format
 msgid "Identifier name is a keyword: `%s'"
 msgstr "¼±ÊÌ»Ò̾¤Ï¥­¡¼¥ï¡¼¥É¤Ç¤¹: `%s'"
 
-#: my-lily-lexer.cc:162
+#: my-lily-lexer.cc:191
 #, c-format
 msgid "error at EOF: %s"
 msgstr "EOF ¤Î¤È¤³¤í¤Ç¥¨¥é¡¼: %s"
@@ -1024,42 +1859,46 @@ msgstr "
 msgid "Braces don't match"
 msgstr "¥Ö¥ì¡¼¥¹¤¬°ìÃפ·¤Þ¤»¤ó"
 
+#.
+#. music for the softenon children?
+#.
+#: new-fingering-engraver.cc:143
+msgid "music for the martians."
+msgstr ""
+
+#: new-tie-engraver.cc:166 tie-engraver.cc:217
+msgid "lonely tie"
+msgstr "°ì¤Ä¤À¤±¤Î¥¿¥¤"
+
 #: note-collision.cc:340
 msgid "Too many clashing notecolumns.  Ignoring them."
 msgstr "Äà¤ê¹ç¤ï¤Ê¤¤²»É䤬¿¤¹¤®¤Þ¤¹¡£¤½¤ì¤é¤ò̵»ë¤·¤Þ¤¹¡£"
 
-#: note-head.cc:134
-msgid "Symbol not found, "
-msgstr ""
-
-#: output-property-music-iterator.cc:20 request-chord-iterator.cc:76
+#: note-head.cc:127
 #, c-format
-msgid "Junking request: `%s'"
-msgstr "Í×µá¤ò¼Î¤Æ¤Þ¤¹: `%s'"
+msgid "note head `%s' not found"
+msgstr ""
 
-#: paper-def.cc:122
+#: paper-def.cc:96
 #, c-format
 msgid "paper output to `%s'..."
 msgstr "%s ¤Ø paper ½ÐÎÏ..."
 
-#: paper-outputter.cc:57
-msgid ", at "
-msgstr ", at "
-
-#: paper-score.cc:77
+#: paper-score.cc:78
 #, c-format
 msgid "Element count %d (spanners %d) "
 msgstr ""
 
-#: paper-score.cc:82
-msgid "Preprocessing elements..."
+#: paper-score.cc:83
+#, fuzzy
+msgid "Preprocessing graphical objects..."
 msgstr "Í×ÁǤòÁ°½èÍýÃæ..."
 
-#: paper-score.cc:115
+#: paper-score.cc:116
 msgid "Outputting Score, defined at: "
 msgstr "ÉèÌ̤ò½ÐÎϤ·¤Þ¤¹¡£¤³¤³¤ÇÄêµÁ: "
 
-#: parse-scm.cc:80
+#: parse-scm.cc:79
 msgid "GUILE signaled an error for the expression begining here"
 msgstr ""
 
@@ -1069,22 +1908,27 @@ msgstr ""
 #.
 #. last->translator_id_string_  = get_change ()->change_to_id_string_;
 #.
-#: part-combine-music-iterator.cc:116
+#: part-combine-music-iterator.cc:139
 #, fuzzy, c-format
 msgid "I'm one myself: `%s'"
 msgstr "¥È¥é¥ó¥¹¥ì¡¼¥¿¤½¤Î¤â¤Î¤Ç¤¹"
 
-#: part-combine-music-iterator.cc:119
+#: part-combine-music-iterator.cc:142
 #, fuzzy, c-format
 msgid "none of these in my family: `%s'"
 msgstr "¥Õ¥¡¥ß¥ê¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
 
-#: percent-repeat-engraver.cc:116
+#: percent-repeat-engraver.cc:109
 #, fuzzy
 msgid "Don't know how to handle a percent repeat of this length."
 msgstr "¶õ¤Î¥­¡¼¤Î°·¤¤Êý¤¬È½¤ê¤Þ¤»¤ó"
 
-#: percent-repeat-iterator.cc:53
+#: percent-repeat-engraver.cc:163
+#, fuzzy
+msgid "unterminated percent repeat"
+msgstr "½ªÃ¼¤Î¤Ê¤¤¥Ï¥¤¥Õ¥ó"
+
+#: percent-repeat-iterator.cc:65
 #, fuzzy
 msgid "no one to print a percent"
 msgstr "È¿Éüµ­¹æ¤òɽ¼¨¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤»¤ó"
@@ -1112,136 +1956,104 @@ msgstr "
 msgid "MIDI output to `%s'..."
 msgstr "%s ¤Ø¤Î MIDI ½ÐÎÏ"
 
-#: phrasing-slur-engraver.cc:117
+#: phrasing-slur-engraver.cc:123
 #, fuzzy
 msgid "unterminated phrasing slur"
 msgstr "½ªÃ¼¤µ¤ì¤Æ¤¤¤Ê¤¤¥¹¥é¡¼"
 
-#: phrasing-slur-engraver.cc:132
+#: phrasing-slur-engraver.cc:141
 #, fuzzy
 msgid "can't find start of phrasing slur"
 msgstr "ËöÈø¤Ø¤Î(¥Ç)¥¯¥ì¥Ã¥·¥§¥ó¥É¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
 
-#: piano-pedal-engraver.cc:230 piano-pedal-engraver.cc:245
-#: piano-pedal-engraver.cc:300 piano-pedal-performer.cc:82
+#: piano-pedal-engraver.cc:235 piano-pedal-engraver.cc:250
+#: piano-pedal-engraver.cc:305 piano-pedal-performer.cc:82
 #, fuzzy, c-format
 msgid "can't find start of piano pedal: `%s'"
 msgstr "¸Æ¤Ó½Ð¤µ¤ì¤¿Ê¸»ú¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: `%s'"
 
-#: piano-pedal-engraver.cc:405
+#: piano-pedal-engraver.cc:410
 #, fuzzy
 msgid "unterminated pedal bracket"
 msgstr "½ªÃ¼¤Î¤Ê¤¤¥Ï¥¤¥Õ¥ó"
 
-#: pitch.cc:25
-msgid "Pitch arguments out of range"
-msgstr ""
-
-#: porrectus.cc:35
-msgid "(left_head == 0)"
-msgstr ""
-
-#: porrectus.cc:46
-msgid "undefined left_head"
-msgstr ""
-
-#: porrectus.cc:65
-msgid "(right_head == 0)"
-msgstr ""
-
-#: porrectus.cc:76
-msgid "undefined right_head"
-msgstr ""
-
-#: porrectus.cc:96
-msgid "junking lonely porrectus"
-msgstr ""
-
-#: porrectus.cc:106
-msgid "porrectus style undefined; using mensural"
-msgstr ""
-
-#: porrectus.cc:251
-msgid "ascending vaticana style porrectus"
+#: property-iterator.cc:97
+#, c-format
+msgid "Not a grob name, `%s'."
 msgstr ""
 
-#: property-iterator.cc:64
+#: rest.cc:139
 #, c-format
-msgid "Not a grob name, `%s'."
+msgid "rest `%s' not found, "
 msgstr ""
 
-#: rest-collision.cc:186
+#: rest-collision.cc:199
 msgid "too many colliding rests"
 msgstr "µÙÉä¤Î¾×Æͤ¬Â¿¤¹¤®¤Þ¤¹"
 
-#: scm-option.cc:44
+#: scm-option.cc:45
 msgid "lilypond -e EXPR means:"
 msgstr ""
 
-#: scm-option.cc:46
+#: scm-option.cc:47
 msgid "  Evalute the Scheme EXPR before parsing any .ly files."
 msgstr ""
 
-#: scm-option.cc:48
+#: scm-option.cc:49
 msgid ""
 "  Multiple -e options may be given, they will be evaluated sequentially."
 msgstr ""
 
-#: scm-option.cc:50
+#: scm-option.cc:51
 msgid ""
 "  The function ly-set-option allows for access to some internal variables."
 msgstr ""
 
-#: scm-option.cc:52
+#: scm-option.cc:53
 msgid "Usage: lilypond -e \"(ly-set-option SYMBOL VAL)\""
 msgstr ""
 
-#: scm-option.cc:54
+#: scm-option.cc:55
 msgid "Where SYMBOL VAL pair is any of:"
 msgstr ""
 
-#: scm-option.cc:122
+#: scm-option.cc:128
 msgid "Unknown internal option!"
 msgstr ""
 
-#: score-engraver.cc:102
-#, fuzzy, c-format
-msgid "can't find `%s'"
-msgstr "¸«¤Ä¤«¤ê¤Þ¤»¤ó: `%s'"
-
-#: score-engraver.cc:103
-msgid "Fonts have not been installed properly.  Aborting"
-msgstr ""
-
-#: score-engraver.cc:207
-#, c-format
-msgid "unbound spanner `%s'"
-msgstr "ÊĤ¸¤Æ¤¤¤Ê¤¤¥¹¥Ñ¥Ê `%s'"
-
-#: score.cc:92
-#, c-format
-msgid "stack size cur %d, max %d\n"
-msgstr ""
-
-#: score.cc:109
+#: score.cc:85
 msgid "Interpreting music..."
 msgstr "³Ú¶Ê¤Î²ò¼áÃæ..."
 
-#: score.cc:122
+#: score.cc:97
 msgid "Need music in a score"
 msgstr "³ÚÉè¤Ë¤Ï³Ú¶Ê¤¬É¬ÍפǤ¹"
 
 #. should we? hampers debugging.
-#: score.cc:135
+#: score.cc:111
 msgid "Errors found/*, not processing score*/"
 msgstr "¥¨¥é¡¼¤òȯ¸«/*, ³ÚÉè¤ò½èÍý¤·¤Þ¤»¤ó*/"
 
-#: score.cc:142
+#: score.cc:118
 #, c-format
 msgid "elapsed time: %.2f seconds"
 msgstr "·Ð²á»þ´Ö: %.2f ÉÃ"
 
-#: script-engraver.cc:66
+#: score-engraver.cc:99
+#, fuzzy, c-format
+msgid "can't find `%s'"
+msgstr "¸«¤Ä¤«¤ê¤Þ¤»¤ó: `%s'"
+
+#: score-engraver.cc:100
+msgid "Fonts have not been installed properly.  Aborting"
+msgstr ""
+
+#: score-engraver.cc:205
+#, c-format
+msgid "unbound spanner `%s'"
+msgstr "ÊĤ¸¤Æ¤¤¤Ê¤¤¥¹¥Ñ¥Ê `%s'"
+
+#: script-engraver.cc:90
 #, c-format
 msgid "Don't know how to interpret articulation `%s'"
 msgstr "²»Àá `%s' ¤Î²ò¼áÊýË¡¤¬È½¤ê¤Þ¤»¤ó"
@@ -1252,32 +2064,23 @@ msgstr "
 msgid "Separation_item:  I've been drinking too much"
 msgstr "Single_malt_grouping_item:  °û¤ß¤¹¤®¤Á¤ã¤Ã¤¿"
 
-#: simple-spacer.cc:254
+#: simple-spacer.cc:248
 #, c-format
 msgid "No spring between column %d and next one"
 msgstr ""
 
-#: slur-engraver.cc:140
+#: slur-engraver.cc:141
 msgid "unterminated slur"
 msgstr "½ªÃ¼¤µ¤ì¤Æ¤¤¤Ê¤¤¥¹¥é¡¼"
 
 #. How to shut up this warning, when Voice_devnull_engraver has
-#. eaten start request?
-#: slur-engraver.cc:157
+#. eaten start event?
+#: slur-engraver.cc:159
 #, fuzzy
 msgid "can't find start of slur"
 msgstr "ËöÈø¤Ø¤Î(¥Ç)¥¯¥ì¥Ã¥·¥§¥ó¥É¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
 
-#: slur.cc:53
-#, fuzzy
-msgid "Putting slur over rest."
-msgstr "µÙÉä¤ò¤Þ¤¿¤¤¤À¥¹¥é¡¼¤¬¤¢¤ê¤Þ¤¹¡£Ìµ»ë¤·¤Þ¤¹¡£"
-
-#: slur.cc:424
-msgid "Slur over rest?"
-msgstr "¥¹¥é¡¼¤¬µÙÉä¤ò¤Þ¤¿¤¤¤Ç¤¤¤ë?"
-
-#: source-file.cc:65
+#: source-file.cc:67
 #, c-format
 msgid "Huh?  Got %d, expected %d characters"
 msgstr "¤Ï¡© %2$d Ê¸»ú¤¢¤ë¤Ï¤º¤Ê¤Î¤Ë %1$d Ê¸»ú¤·¤«¤Ê¤¤"
@@ -1292,18 +2095,36 @@ msgstr ""
 msgid "#<spring smob d= %f>"
 msgstr ""
 
-#: staff-symbol.cc:62
+#: staff-symbol.cc:61
 msgid "staff symbol: indentation yields beyond end of line"
 msgstr ""
 
-#: stem-engraver.cc:117
+#: stem.cc:118
+msgid "Weird stem size; check for narrow beams"
+msgstr "ÊѤÊÉäÈø¤Î¥µ¥¤¥º -- ºÙ¤¤³Ã¤Î¥Á¥§¥Ã¥¯¤ò¤·¤Æ²¼¤µ¤¤"
+
+#: stem.cc:611
+#, c-format
+msgid "flag `%s' not found"
+msgstr ""
+
+#: stem.cc:624
+#, c-format
+msgid "flag stroke `%s' not found"
+msgstr ""
+
+#: stem-engraver.cc:96
+msgid "tremolo duration is too long"
+msgstr ""
+
+#: stem-engraver.cc:124
 #, c-format
 msgid "Adding note head to incompatible stem (type = %d)"
 msgstr "Ì·½â¤·¤¿ÉäÈø¤ØÉäƬ¤òÄɲä·¤Þ¤¹ (¥¿¥¤¥× = %d)"
 
-#: stem.cc:118
-msgid "Weird stem size; check for narrow beams"
-msgstr "ÊѤÊÉäÈø¤Î¥µ¥¤¥º -- ºÙ¤¤³Ã¤Î¥Á¥§¥Ã¥¯¤ò¤·¤Æ²¼¤µ¤¤"
+#: stem-engraver.cc:125
+msgid "Don't you want polyphonic voices instead?"
+msgstr ""
 
 #: streams.cc:34
 #, fuzzy, c-format
@@ -1319,33 +2140,35 @@ msgstr "
 msgid "Element count %d."
 msgstr ""
 
-#: system.cc:377
+#: system.cc:372
 #, c-format
 msgid "Grob count %d "
 msgstr ""
 
-#: system.cc:391
-msgid "Calculating column positions..."
+#: system.cc:386
+#, fuzzy
+msgid "Calculating line breaks..."
 msgstr "¥«¥é¥à°ÌÃÖ¤ò·×»»Ãæ..."
 
-#: text-spanner-engraver.cc:92
+#: text-spanner-engraver.cc:81
 #, fuzzy
 msgid "can't find start of text spanner"
 msgstr "ËöÈø¤Ø¤Î(¥Ç)¥¯¥ì¥Ã¥·¥§¥ó¥É¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
 
-#: text-spanner-engraver.cc:112
+#: text-spanner-engraver.cc:95
 #, fuzzy
 msgid "already have a text spanner"
 msgstr "´û¤Ë³Ã¤¬¤¢¤ê¤Þ¤¹"
 
-#: text-spanner-engraver.cc:167
+#: text-spanner-engraver.cc:164
 #, fuzzy
 msgid "unterminated text spanner"
 msgstr "½ªÃ¼¤Î¤Ê¤¤¥¨¥¯¥¹¥Æ¥ó¥À"
 
-#: text-spanner.cc:130
-msgid "Text_spanner too small"
-msgstr ""
+#: tfm.cc:83
+#, fuzzy, c-format
+msgid "can't find ascii character: %d"
+msgstr "ascii Ê¸»ú¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: `%d'"
 
 #. Not using ngettext's plural feature here, as this message is
 #. more of a programming error.
@@ -1359,16 +2182,7 @@ msgstr "`%s' 
 msgid "%s: TFM file has %u parameters, which is more than the %u I can handle"
 msgstr "%s: TFM ¥Õ¥¡¥¤¥ë¤Ï %u ¸Ä¤Î¥Ñ¥é¥á¥¿¤¬¤¢¤ê¤Þ¤¹¤¬¡¢%u °Ê¾å¤Ï°·¤¨¤Þ¤»¤ó"
 
-#: tfm.cc:83
-#, fuzzy, c-format
-msgid "can't find ascii character: %d"
-msgstr "ascii Ê¸»ú¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó: `%d'"
-
-#: tie-engraver.cc:216
-msgid "lonely tie"
-msgstr "°ì¤Ä¤À¤±¤Î¥¿¥¤"
-
-#: tie-performer.cc:161
+#: tie-performer.cc:159
 msgid "No ties were created!"
 msgstr "ºî¤é¤ì¤¿¥¿¥¤¤¬¤¢¤ê¤Þ¤»¤ó!"
 
@@ -1376,167 +2190,244 @@ msgstr "
 msgid "no one to print a tuplet start bracket"
 msgstr "¥¿¥×¥ì¥Ã¥È³«»Ï¥Ö¥é¥±¥Ã¥È¤òɽ¼¨¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤»¤ó"
 
+#. If there is no such symbol, we default to the numbered style.
+#. (Here really with a warning!)
+#: time-signature.cc:87
+#, c-format
+msgid "time signature symbol `%s' not found; reverting to numbered style"
+msgstr ""
+
+#.
+#. Todo: should make typecheck?
+#.
+#. OTOH, Tristan Keuris writes 8/20 in his Intermezzi.
+#.
+#: time-signature-engraver.cc:57
+#, c-format
+msgid "Found strange time signature %d/%d."
+msgstr ""
+
 #: translator-ctors.cc:53
 #, c-format
 msgid "unknown translator: `%s'"
 msgstr "Ƚ¤é¤Ê¤¤¥È¥é¥ó¥¹¥ì¡¼¥¿: `%s'"
 
-#: translator-def.cc:87
+#: translator-def.cc:105
 msgid "Program has no such type"
 msgstr "¥×¥í¥°¥é¥à¤Ë¤Ï¤½¤ÎÍͤʥ¿¥¤¥×¤¬¤¢¤ê¤Þ¤»¤ó"
 
-#: translator-def.cc:93
+#: translator-def.cc:111
 #, c-format
 msgid "Already contains: `%s'"
 msgstr "´û¤Ë´Þ¤ó¤Ç¤¤¤Þ¤¹: `%s'"
 
-#: translator-def.cc:94
+#: translator-def.cc:112
 #, fuzzy, c-format
 msgid "Not adding translator: `%s'"
 msgstr "Ƚ¤é¤Ê¤¤¥È¥é¥ó¥¹¥ì¡¼¥¿: `%s'"
 
-#: translator-def.cc:209
+#: translator-def.cc:229
 #, fuzzy, c-format
 msgid "can't find: `%s'"
 msgstr "¸«¤Ä¤«¤ê¤Þ¤»¤ó: `%s'"
 
-#: translator-group.cc:159
+#: translator-group.cc:158
 #, fuzzy, c-format
 msgid "can't find or create `%s' called `%s'"
 msgstr "`%2$s' ¤Ë¸Æ¤Ð¤ì¤¿ `%1$s' ¤¬¸«¤Ä¤«¤é¤Ê¤¤¤«ºî¤ì¤Þ¤»¤ó"
 
-#: translator-group.cc:244
+#: translator-group.cc:230
 #, fuzzy, c-format
 msgid "can't find or create: `%s'"
 msgstr "¸«¤Ä¤«¤é¤Ê¤¤¤«ºî¤ì¤Þ¤»¤ó: `%s'"
 
-#: volta-engraver.cc:111
+#: vaticana-ligature.cc:49
+msgid "ascending vaticana style flexa"
+msgstr ""
+
+#: vaticana-ligature.cc:219
+msgid "Vaticana_ligature:thickness undefined; assuming 1.4"
+msgstr ""
+
+#: vaticana-ligature.cc:233
+msgid "Vaticana_ligature:x-offset undefined; assuming 0.0"
+msgstr ""
+
+#: vaticana-ligature.cc:258
+msgid "Vaticana_ligature: (delta_pitch == 0)"
+msgstr ""
+
+#: vaticana-ligature.cc:271
+msgid "Vaticana_ligature:delta-pitch -> ignoring join"
+msgstr ""
+
+#: vaticana-ligature-engraver.cc:477
+#, c-format
+msgid "Vaticana_ligature_engraver: setting `spacing-increment = %f': ptr=%ul"
+msgstr ""
+
+#: volta-engraver.cc:112
 msgid "No volta spanner to end"
 msgstr ""
 
-#: volta-engraver.cc:121
+#: volta-engraver.cc:123
 msgid "Already have a volta spanner.  Stopping that one prematurely."
 msgstr ""
 
-#: volta-engraver.cc:125
+#: volta-engraver.cc:127
 msgid "Also have a stopped spanner.  Giving up."
 msgstr ""
 
-#: parser.yy:434
+#: parser.yy:480
 msgid "Identifier should have alphabetic characters only"
 msgstr ""
 
-#: parser.yy:729
+#: parser.yy:779
 msgid "More alternatives than repeats.  Junking excess alternatives."
 msgstr "·«¤êÊÖ¤·¤è¤ê¤âÁªÂò»è¤¬Â¿¤¤¡£Ä¶²áʬ¤ò¼Î¤Æ¤Þ¤¹¡£"
 
-#: parser.yy:798
+#: parser.yy:861 parser.yy:868
+msgid "\applycontext takes function argument"
+msgstr ""
+
+#: parser.yy:877
 msgid "Second argument must be a symbol"
 msgstr ""
 
-#: parser.yy:803
+#: parser.yy:882
 msgid "First argument must be a procedure taking one argument"
 msgstr ""
 
-#: parser.yy:1380
-msgid "Expecting string as script definition"
+#: parser.yy:1009
+msgid "\apply takes function argument"
 msgstr ""
 
-#: parser.yy:1390
-msgid "Can't specify direction for this request"
-msgstr "¤³¤ÎÍ×µá¤ËÂФ¹¤ëÊý¸þ¤ò»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
+#: parser.yy:1501
+msgid "Expecting string as script definition"
+msgstr ""
 
-#: parser.yy:1516
+#: parser.yy:1598
 msgid "Expecting musical-pitch value"
 msgstr ""
 
-#: parser.yy:1527
+#: parser.yy:1609
 #, fuzzy
 msgid "Must have duration object"
 msgstr "²»Ä¹¤òºÇ¾®¤ËÀßÄꤷ¤Þ¤¹"
 
-#: parser.yy:1536 parser.yy:1544
+#: parser.yy:1618 parser.yy:1626
 msgid "Have to be in Lyric mode for lyrics"
 msgstr "²Î»ì¤Ï Lyric ¥â¡¼¥ÉÆâ¤Ë½ñ¤¤¤Æ¤¯¤À¤µ¤¤"
 
-#: parser.yy:1715 parser.yy:1768
+#: parser.yy:1798 parser.yy:1853
 #, c-format
 msgid "not a duration: %d"
 msgstr "²»Ä¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó: %d"
 
-#: parser.yy:1855
+#: parser.yy:1949
 msgid "Have to be in Note mode for notes"
 msgstr "²»Éä¤Ï Note ¥â¡¼¥ÉÆâ¤Ë½ñ¤¤¤Æ¤¯¤À¤µ¤¤"
 
-#: parser.yy:1954
+#: parser.yy:2032
 msgid "Have to be in Chord mode for chords"
 msgstr "¥³¡¼¥É¤Ï Chord ¥â¡¼¥ÉÆâ¤Ë½ñ¤¤¤Æ¤¯¤À¤µ¤¤"
 
-#: parser.yy:2134
+#: parser.yy:2171
 msgid "need integer number arg"
 msgstr ""
 
-#: parser.yy:2206
+#: parser.yy:2316
 msgid "Suspect duration found following this beam"
 msgstr ""
 
-#: lexer.ll:178
+#: lexer.ll:186
 msgid "EOF found inside a comment"
 msgstr "¥³¥á¥ó¥ÈÆâ¤Ë EOF ¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿"
 
-#: lexer.ll:192
+#: lexer.ll:200
 msgid "\\maininput disallowed outside init files"
 msgstr "½é´ü²½¥Õ¥¡¥¤¥ë¤Î³°¤Ç¤Ï \\maininput ¤òµ­½Ò¤Ç¤­¤Þ¤»¤ó"
 
-#: lexer.ll:216
+#: lexer.ll:224
 #, fuzzy, c-format
 msgid "wrong or undefined identifier: `%s'"
 msgstr "̤ÄêµÁ¤Î¼±ÊÌ»Ò: `%s'"
 
 #. backup rule
-#: lexer.ll:225
+#: lexer.ll:233
 msgid "Missing end quote"
 msgstr "½ªÎ»¥¯¥ª¡¼¥È¤¬¤¢¤ê¤Þ¤»¤ó"
 
 #. backup rule
-#: lexer.ll:247 lexer.ll:251
+#: lexer.ll:255 lexer.ll:259
 msgid "white expected"
 msgstr "¶õÇò¤¬É¬ÍפǤ¹"
 
-#: lexer.ll:260
+#: lexer.ll:268
 msgid "Can't evaluate Scheme in safe mode"
 msgstr "°ÂÁ´¥â¡¼¥É¤Ç¤Ï Scheme ¤Îɾ²Á¤ò¤Ç¤­¤Þ¤»¤ó"
 
-#: lexer.ll:364
+#: lexer.ll:397 lexer.ll:487
 msgid "Brace found at end of lyric.  Did you forget a space?"
 msgstr ""
 
-#: lexer.ll:480
+#: lexer.ll:574
 #, c-format
 msgid "invalid character: `%c'"
 msgstr "̵¸ú¤Êʸ»ú: `%c'"
 
-#: lexer.ll:566
+#: lexer.ll:651
 #, c-format
 msgid "unknown escaped string: `\\%s'"
 msgstr "̤ÃΤΥ¨¥¹¥±¡¼¥×ʸ»úÎó: `\\%s'"
 
-#: lexer.ll:657
+#: lexer.ll:742
 #, fuzzy, c-format
 msgid "Incorrect lilypond version: %s (%s, %s)"
 msgstr "´Ö°ã¤Ã¤¿ mudela ¥Ð¡¼¥¸¥ç¥ó: %s (%s, %s)"
 
-#: lexer.ll:658
+#: lexer.ll:743
 msgid "Consider updating the input with the convert-ly script"
 msgstr ""
 
 #, fuzzy
-#~ msgid "can't map file"
-#~ msgstr "¥Õ¥¡¥¤¥ë¤ò¥Þ¥Ã¥×¤Ç¤­¤Þ¤»¤ó"
+#~ msgid "%r: release directory"
+#~ msgstr "¸«¤Ä¤«¤é¤Ê¤¤¤«ºî¤ì¤Þ¤»¤ó: `%s'"
+
+#, fuzzy
+#~ msgid "Listing `%s'..."
+#~ msgstr "¹Ô ..."
+
+#, fuzzy
+#~ msgid "Fetching `%s'..."
+#~ msgstr "Í×µá¤ò¼Î¤Æ¤Þ¤¹: `%s'"
+
+#, fuzzy
+#~ msgid "Building `%s'..."
+#~ msgstr "Í×µá¤ò¼Î¤Æ¤Þ¤¹: `%s'"
+
+#~ msgid "invalid subtraction: not part of chord: %s"
+#~ msgstr "̵¸ú¤Ê°ú¤­»»: ¥³¡¼¥É¤Î°ìÉô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó: %s"
+
+#~ msgid "invalid inversion pitch: not part of chord: %s"
+#~ msgstr "̵¸ú¤Êž²ó¥Ô¥Ã¥Á: ¥³¡¼¥É¤Î°ìÉô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó: %s"
+
+#~ msgid ", at "
+#~ msgstr ", at "
+
+#, fuzzy
+#~ msgid "Putting slur over rest."
+#~ msgstr "µÙÉä¤ò¤Þ¤¿¤¤¤À¥¹¥é¡¼¤¬¤¢¤ê¤Þ¤¹¡£Ìµ»ë¤·¤Þ¤¹¡£"
+
+#~ msgid "Slur over rest?"
+#~ msgstr "¥¹¥é¡¼¤¬µÙÉä¤ò¤Þ¤¿¤¤¤Ç¤¤¤ë?"
+
+#~ msgid "Can't specify direction for this request"
+#~ msgstr "¤³¤ÎÍ×µá¤ËÂФ¹¤ëÊý¸þ¤ò»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
 
 #, fuzzy
-#~ msgid "use output format EXT (tex [default], pdftex, ps, scm or as)"
-#~ msgstr "½ÐÎÏ¥Õ¥©¡¼¥Þ¥Ã¥È EXT ¤ò»È¤¦"
+#~ msgid "can't map file"
+#~ msgstr "¥Õ¥¡¥¤¥ë¤ò¥Þ¥Ã¥×¤Ç¤­¤Þ¤»¤ó"
 
 #~ msgid "This binary was compiled with the following options:"
 #~ msgstr "¤³¤Î¥Ð¥¤¥Ê¥ê¤Ï°Ê²¼¤Î¥ª¥×¥·¥ç¥óÉÕ¤­¤Ç¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤Þ¤·¤¿"
@@ -1571,10 +2462,6 @@ msgstr ""
 #~ msgid "Oldest supported input version: %s"
 #~ msgstr "°ìÈָŤ¤ÆþÎϲÄǽ¥Ð¡¼¥¸¥ç¥ó: %s"
 
-#, fuzzy
-#~ msgid "Cleaning `%s'..."
-#~ msgstr "Í×µá¤ò¼Î¤Æ¤Þ¤¹: `%s'"
-
 #, fuzzy
 #~ msgid "writing header field `%s' to `%s'..."
 #~ msgstr "°Í¸´Ø·¸¥Õ¥¡¥¤¥ë¤Î½ñ¤­¹þ¤ß: `%s'..."
@@ -1771,9 +2658,6 @@ msgstr ""
 #~ msgid "Wrong type for property"
 #~ msgstr "°À­ÃͤؤΥ¿¥¤¥×¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹"
 
-#~ msgid "unknown clef type"
-#~ msgstr "ÉÔÌÀ¤Ê²»Éôµ­¹æ(Clef)"
-
 #~ msgid "too small"
 #~ msgstr "¾®¤µ¤¹¤®¤Þ¤¹"
 
@@ -1790,9 +2674,6 @@ msgstr ""
 #~ msgid "Must stop before this music ends"
 #~ msgstr "¤³¤Î³Ú¶Ê¤Î½ª¤ï¤ê¤Þ¤Ç¤Ë»ß¤á¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
 
-#~ msgid "conflicting timing request"
-#~ msgstr "Çï»Ò¤ÎÍ׵᤬¶¥¹ç¤·¤Þ¤¹"
-
 #~ msgid "no one to print a volta bracket"
 #~ msgstr "volta ¥Ö¥é¥±¥Ã¥È¤òɽ¼¨¤¹¤ë¤â¤Î¤¬¤¢¤ê¤Þ¤»¤ó"
 
@@ -1879,9 +2760,6 @@ msgstr ""
 #~ msgid "No key name, assuming `C'"
 #~ msgstr "¥­¡¼Ì¾¤¬¤¢¤ê¤Þ¤»¤ó¡¢`C' ¤ò»î¤ß¤Þ¤¹"
 
-#~ msgid "Don't have that many octaves (%s)"
-#~ msgstr "¤½¤ó¤Ê¤ËÂô»³¤Î¥ª¥¯¥¿¡¼¥Ö (%s) ¤ò»È¤ï¤Ê¤¤¤Ç¤¯¤À¤µ¤¤"
-
 #~ msgid "underdone accidentals (%s)"
 #~ msgstr "¥Õ¥é¥Ã¥È¤¬Â¿¤¹¤®¤Þ¤¹ (%s)"
 
index 28550a7dcc9eb0f13bb153ddcfcbbcb038dc428d..f305aed227b4838b6511096b06d12d020f7802d6 100644 (file)
@@ -7,7 +7,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2002-08-18 17:05+0200\n"
+"POT-Creation-Date: 2003-07-18 14:45+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -15,396 +15,1164 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: lilypond-book.py:1019 ly2dvi.py:458 ly2dvi.py:491
-#, c-format
-msgid "Running %s..."
+#. this is where special info is often stored
+#. ###############################################################
+#. lilylib.py -- options and stuff
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. ##  subst:\(^\|[^._a-z]\)\(abspath\|identify\|warranty\|progress\|warning\|error\|exit\|getopt_args\|option_help_str\|options_help_str\|help\|setup_temp\|read_pipe\|system\|cleanup_temp\|strip_extension\|cp_to_dir\|mkdir_p\|init\) *(
+#. ##  replace:\1ly.\2 (
+#. ## subst: \(help_summary\|keep_temp_dir_p\|option_definitions\|original_dir\|program_name\|pseudo_filter_p\|temp_dir\|verbose_p\)
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. lilylib globals
+#: lilylib.py:60
+msgid "lilylib module"
+msgstr ""
+
+#: lilylib.py:63 lilypond-book.py:131 ly2dvi.py:128 midi2ly.py:100
+#: mup2ly.py:75 main.cc:111
+msgid "this help"
 msgstr ""
 
-#: ly2dvi.py:118
-msgid ""
-"Distributed under terms of the GNU General Public License.  It comes with NO "
-"WARRANTY."
+#. ###############################################################
+#. Handle bug in Python 1.6-2.1
+#.
+#. there are recursion limits for some patterns in Python 1.6 til 2.1.
+#. fix this by importing pre instead. Fix by Mats.
+#. Attempt to fix problems with limited stack size set by Python!
+#. Sets unlimited stack size. Note that the resource module only
+#. is available on UNIX.
+#: lilylib.py:114 midi2ly.py:136 mup2ly.py:130 main.cc:188 main.cc:200
+#, c-format, python-format
+msgid "Copyright (c) %s by"
 msgstr ""
 
-#: ly2dvi.py:125 midi2ly.py:148 mup2ly.py:143 update-lily.py:137 input.cc:87
+#: lilylib.py:114
+msgid " 1998--2003"
+msgstr ""
+
+#: lilylib.py:118
+msgid "Distributed under terms of the GNU General Public License."
+msgstr ""
+
+#: lilylib.py:120
+msgid "It comes with NO WARRANTY."
+msgstr ""
+
+#: lilylib.py:127 midi2ly.py:150 mup2ly.py:144 input.cc:88
 msgid "warning: "
 msgstr ""
 
-#: ly2dvi.py:128 ly2dvi.py:143 midi2ly.py:163 midi2ly.py:1012 midi2ly.py:1081
-#: mup2ly.py:146 mup2ly.py:160 update-lily.py:152 update-lily.py:458
-#: input.cc:92
+#. lots of midi files use plain text for lyric events
+#. FIXME: read from stdin when files[0] = '-'
+#: lilylib.py:130 midi2ly.py:165 midi2ly.py:1018 midi2ly.py:1083 mup2ly.py:147
+#: mup2ly.py:161 input.cc:93
 msgid "error: "
 msgstr ""
 
-#: ly2dvi.py:144 midi2ly.py:164 mup2ly.py:161 update-lily.py:153
-msgid "Exiting ... "
+#: lilylib.py:134
+#, python-format
+msgid "Exiting (%d)..."
 msgstr ""
 
-#: ly2dvi.py:202 midi2ly.py:222 mup2ly.py:219 update-lily.py:211
-#, c-format
+#: lilylib.py:194 midi2ly.py:224 mup2ly.py:220
+#, python-format
 msgid "Usage: %s [OPTION]... FILE"
 msgstr ""
 
-#: ly2dvi.py:206 midi2ly.py:226 mup2ly.py:223 update-lily.py:215 main.cc:166
+#: lilylib.py:198 midi2ly.py:228 mup2ly.py:224 main.cc:166
 msgid "Options:"
 msgstr ""
 
-#: ly2dvi.py:210 midi2ly.py:230 mup2ly.py:227 update-lily.py:219 main.cc:172
-#, c-format
+#: lilylib.py:202 midi2ly.py:232 mup2ly.py:228 main.cc:172
+#, c-format, python-format
 msgid "Report bugs to %s"
 msgstr ""
 
-#: ly2dvi.py:238 midi2ly.py:258 mup2ly.py:255 update-lily.py:247
-#, c-format
+#: lilylib.py:228
+#, python-format
+msgid "Opening pipe `%s'"
+msgstr ""
+
+#. successful pipe close returns 'None'
+#: lilylib.py:240
+#, python-format
+msgid "`%s' failed (%d)"
+msgstr ""
+
+#: lilylib.py:242 lilylib.py:289 lilypond-book.py:231 ly2dvi.py:512
+msgid "The error log is as follows:"
+msgstr ""
+
+#: lilylib.py:262 midi2ly.py:260 mup2ly.py:256
+#, python-format
 msgid "Invoking `%s'"
 msgstr ""
 
-#: ly2dvi.py:243 midi2ly.py:262 mup2ly.py:260 update-lily.py:251
-#, c-format
-msgid "command exited with value %d"
+#: lilylib.py:264
+#, python-format
+msgid "Running %s..."
 msgstr ""
 
-#: ly2dvi.py:246 midi2ly.py:264 mup2ly.py:263 update-lily.py:253
+#: lilylib.py:282
+#, python-format
+msgid "`%s' failed (%s)"
+msgstr ""
+
+#: lilylib.py:285 midi2ly.py:266 mup2ly.py:264
 msgid "(ignored)"
 msgstr ""
 
-#: ly2dvi.py:256 midi2ly.py:274 mup2ly.py:273 update-lily.py:263
-#, c-format
+#: lilylib.py:299 midi2ly.py:276 mup2ly.py:274
+#, python-format
 msgid "Cleaning %s..."
 msgstr ""
 
-#: ly2dvi.py:330
-msgid "Run LilyPond using LaTeX for titling"
+#. Duh.  Python style portable: cp *.EXT OUTDIR
+#. system ('cp *.%s %s' % (ext, outdir), 1)
+#. Python < 1.5.2 compatibility
+#.
+#. On most platforms, this is equivalent to
+#. `normpath(join(os.getcwd()), PATH)'.  *Added in Python version 1.5.2*
+#. tex needs lots of memory, more than it gets by default on Debian
+#. TODO: * prevent multiple addition.
+#. * clean TEXINPUTS, MFINPUTS, TFMFONTS,
+#. as these take prevalence over $TEXMF
+#. and thus may break tex run?
+#. $TEXMF is special, previous value is already taken care of
+#. # -sOutputFile does not work with bbox?
+#. # todo:
+#. # have better algorithm for deciding when to crop page,
+#. # and when to show full page
+#: lilylib.py:458
+msgid "Removing output file"
+msgstr ""
+
+#. !@PYTHON@
+#. once upon a rainy monday afternoon.
+#.
+#. ...
+#.
+#. (not finished.)
+#. ABC standard v1.6:  http://www.gre.ac.uk/~c.walshaw/abc2mtex/abc.txt
+#.
+#. Enhancements  (Roy R. Rankin)
+#.
+#. Header section moved to top of lilypond file
+#. handle treble, treble-8, alto, and bass clef
+#. Handle voices (V: headers) with clef and part names, multiple voices
+#. Handle w: lyrics with multiple verses
+#. Handle key mode names for minor, major, phrygian, ionian, locrian, aeolian,
+#. mixolydian, lydian, dorian
+#. Handle part names from V: header
+#. Tuplets handling fixed up
+#. Lines starting with |: not discarded as header lines
+#. Multiple T: and C: header entries handled
+#. Accidental maintained until next bar check
+#. Silent rests supported
+#. articulations fermata, upbow, downbow, ltoe, accent, tenuto supported
+#. Chord strings([-^]"string") can contain a '#'
+#. Header fields enclosed by [] in notes string processed
+#. W: words output after tune as abc2ps does it (they failed before)
+#. Enhancements (Laura Conrad)
+#.
+#. Barring now preserved between ABC and lilypond
+#. the default placement for text in abc is above the staff.
+#. %%LY now supported.
+#. \breve and \longa supported.
+#. M:none doesn't crash lily.
+#. Limitations
+#.
+#. Multiple tunes in single file not supported
+#. Blank T: header lines should write score and open a new score
+#. Not all header fields supported
+#. ABC line breaks are ignored
+#. Block comments generate error and are ignored
+#. Postscript commands are ignored
+#. lyrics not resynchronized by line breaks (lyrics must fully match notes)
+#. %%LY slyrics can't be directly before a w: line.
+#. ???
+#. TODO:
+#.
+#. Convert to new chord styles.
+#.
+#. UNDEF -> None
+#.
+#. uGUHGUHGHGUGH
+#. UGH
+#. treble8 is used by abctab2ps; -8va is used by barfly,
+#. and by my patch to abc2ps. If there's ever a standard
+#. about this we'll support that.
+#. find keywork
+#. assume that Q takes the form "Q:1/4=120"
+#. There are other possibilities, but they are deprecated
+#. outf.write ("\t\t\\consists Staff_margin_engraver\n")
+#. pitch manipulation. Tuples are (name, alteration).
+#. 0 is (central) C. Alteration -1 is a flat, Alteration +1 is a sharp
+#. pitch in semitones.
+#. abc to lilypond key mode names
+#. semitone shifts for key mode names
+#. latex does not like naked #'s
+#. latex does not like naked "'s
+#. break lyrics to words and put "'s around words containing numbers and '"'s
+#. escape "
+#. _ causes probs inside ""
+#. _ to ' _ '
+#. split words with -
+#. unless \-
+#. ~ to space('_')
+#. * to to space
+#. latex does not like naked #'s
+#. put numbers and " and ( into quoted string
+#. insure space between lines
+#. title
+#. strip trailing blanks
+#. Meter
+#. KEY
+#. seperate clef info
+#. there may or may not be a space
+#. between the key letter and the mode
+#. ugh.
+#. ugh.
+#. Notes
+#. Origin
+#. Reference Number
+#. Area
+#. History
+#. Book
+#. Composer
+#. Default note length
+#. Voice
+#. Words
+#. vocals
+#. tempo
+#. we use in this order specified accidental, active accidental for bar,
+#. active accidental for key
+#. (num /  den)  / defaultlen < 1/base
+#. return (str, num,den,dots)
+#. ignore slide
+#. ignore roll
+#. s7m2 input doesnt care about spaces
+#.
+#. remember accidental for rest of bar
+#.
+#. get accidental set in this bar or UNDEF if not set
+#. WAT IS ABC EEN ONTZETTENDE PROGRAMMEERPOEP  !
+#. failed; not a note!
+#. escape '#'s
+#.
+#. |] thin-thick double bar line
+#. || thin-thin double bar line
+#. [| thick-thin double bar line
+#. :| left repeat
+#. |: right repeat
+#. :: left-right repeat
+#. |1 volta 1
+#. |2 volta 2
+#. first try the longer one
+#. bracket escape
+#. the nobarlines option is necessary for an abc to lilypond translator for
+#. exactly the same reason abc2midi needs it: abc requires the user to enter
+#. the note that will be printed, and MIDI and lilypond expect entry of the
+#. pitch that will be played.
+#.
+#. In standard 19th century musical notation, the algorithm for translating
+#. between printed note and pitch involves using the barlines to determine
+#. the scope of the accidentals.
+#.
+#. Since ABC is frequently used for music in styles that do not use this
+#. convention, such as most music written before 1700, or ethnic music in
+#. non-western scales, it is necessary to be able to tell a translator that
+#. the barlines should not affect its interpretation of the pitch.
+#. write other kinds of appending  if we ever need them.
+#. add comments to current voice
+#. Try nibbling characters off until the line doesn't change.
+#. dump_global (outf)
+#. !@PYTHON@
+#.
+#. convert-ly.py -- Update old LilyPond input files (fix name?)
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. TODO
+#. use -f and -t for -s output
+#. NEWS
+#. 0.2
+#. - rewrite in python
+#. Did we ever have \mudela-version?  I doubt it.
+#. lilypond_version_re_str = '\\\\version *\"(.*)\"'
+#. ###########################
+#. need new a namespace
+#. raise FatalConversionError()
+#. need new a namespace
+#. harmful to current .lys
+#. str = re.sub ('\\\\key([^;]+);', '\\\\accidentals \\1;', str)
+#. raise FatalConversionError()
+#. raise FatalConversionError()
+#. raise FatalConversionError()
+#. TODO: lots of other syntax change should be done here as well
+#. Ugh, but meaning of \stemup changed too
+#. maybe we should do \stemup -> \stemUp\slurUp\tieUp ?
+#. I don't know exactly when these happened...
+#. ugh, we loose context setting here...
+#. (lacks capitalisation slur -> Slur)
+#. # dynamic..
+#. TODO: add lots of these
+#. ugh
+#. old fix
+#. Make sure groups of more than one ; have space before
+#. them, so that non of them gets removed by next rule
+#. Only remove ; that are not after spaces, # or ;
+#. Otherwise  we interfere with Scheme comments,
+#. which is badbadbad.
+#. 40 ?
+#. ###############################
+#. END OF CONVERSIONS
+#. ###############################
+#. !@PYTHON@
+#. info mostly taken from looking at files. See also
+#. http://lilypond.org/wiki/?EnigmaTransportFormat
+#. This supports
+#.
+#. * notes
+#. * rests
+#. * ties
+#. * slurs
+#. * lyrics
+#. * articulation
+#. * grace notes
+#. * tuplets
+#.
+#. todo:
+#. * slur/stem directions
+#. * voices (2nd half of frame?)
+#. * more intelligent lyrics
+#. * beams (better use autobeam?)
+#. * more robust: try entertainer.etf (freenote)
+#. * dynamics
+#. * empty measures (eg. twopt03.etf from freenote)
+#.
+#. uGUHGUHGHGUGH
+#. notename 0 == central C
+#. represent pitches as (notename, alteration), relative to C-major scale
+#. a fifth up
+#. should cache this.
+#. flag1 isn't all that interesting.
+#. 3: '>',
+#. 18: '\arpeggio' ,
+#. do grace notes.
+#. ugh.
+#. we don't attempt voltas since they fail easily.
+#. and g.repeat_bar == '|:' or g.repeat_bar == ':|:' or g.bracket:
+#. 4 layers.
+#. let's not do this: this really confuses when eE happens to be before  a ^text.
+#. if last_tag and last_indices:
+#. etf_file_dict[last_tag][last_indices].append (l)
+#. # do it
+#. staff-spec
+#. should use \addlyrics ?
+#. !@PYTHON@
+#. vim: set noexpandtab:
+#. This is was the idea for handling of comments:
+#. Multiline comments, @ignore .. @end ignore is scanned for
+#. in read_doc_file, and the chunks are marked as 'ignore', so
+#. lilypond-book will not touch them any more. The content of the
+#. chunks are written to the output file. Also 'include' and 'input'
+#. regex has to check if they are commented out.
+#.
+#. Then it is scanned for 'lilypond', 'lilypond-file' and 'lilypond-block'.
+#. These three regex's has to check if they are on a commented line,
+#. % for latex, @c for texinfo.
+#.
+#. Then lines that are commented out with % (latex) and @c (Texinfo)
+#. are put into chunks marked 'ignore'. This cannot be done before
+#. searching for the lilypond-blocks because % is also the comment character
+#. for lilypond.
+#.
+#. The the rest of the rexeces are searched for. They don't have to test
+#. if they are on a commented out line.
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. if __name__ == '__main__':
+#. lilylib globals
+#. temp_dir = os.path.join (original_dir,  '%s.dir' % program_name)
+#. urg
+#. # FIXME
+#. # ly2dvi: silly name?
+#. # do -P or -p by default?
+#. #help_summary = _ ("Run LilyPond using LaTeX for titling")
+#: lilypond-book.py:120
+msgid "Process LilyPond snippets in hybrid html, LaTeX or texinfo document"
 msgstr ""
 
-#: ly2dvi.py:334 main.cc:115
-msgid "write Makefile dependencies for every input file"
+#. another bug in option parser: --output=foe is taken as an abbreviation
+#. for --output-format
+#: lilypond-book.py:125 main.cc:110
+msgid "EXT"
 msgstr ""
 
-#: ly2dvi.py:335 midi2ly.py:98 mup2ly.py:74 update-lily.py:87 main.cc:111
-msgid "this help"
+#: lilypond-book.py:125
+msgid "use output format EXT (texi [default], texi-html, latex, html)"
 msgstr ""
 
-#: ly2dvi.py:336 main.cc:113 main.cc:118
+#: lilypond-book.py:126 lilypond-book.py:127 lilypond-book.py:129
+#: lilypond-book.py:130
+msgid "DIM"
+msgstr ""
+
+#: lilypond-book.py:126
+msgid "default fontsize for music.  DIM is assumed to be in points"
+msgstr ""
+
+#: lilypond-book.py:127
+msgid "deprecated, use --default-music-fontsize"
+msgstr ""
+
+#: lilypond-book.py:128
+msgid "OPT"
+msgstr ""
+
+#: lilypond-book.py:128
+msgid "pass OPT quoted to the lilypond command line"
+msgstr ""
+
+#: lilypond-book.py:129
+msgid "force fontsize for all inline lilypond. DIM is assumed be to in points"
+msgstr ""
+
+#: lilypond-book.py:130
+msgid "deprecated, use --force-music-fontsize"
+msgstr ""
+
+#: lilypond-book.py:132 ly2dvi.py:130 main.cc:113 main.cc:118
 msgid "DIR"
 msgstr ""
 
-#: ly2dvi.py:336
+#: lilypond-book.py:132
+msgid "include path"
+msgstr ""
+
+#: lilypond-book.py:133
+msgid "write dependencies"
+msgstr ""
+
+#: lilypond-book.py:134
+msgid "PREF"
+msgstr ""
+
+#: lilypond-book.py:134
+msgid "prepend PREF before each -M dependency"
+msgstr ""
+
+#: lilypond-book.py:135
+msgid "don't run lilypond"
+msgstr ""
+
+#: lilypond-book.py:136
+msgid "don't generate pictures"
+msgstr ""
+
+#: lilypond-book.py:137
+msgid "strip all lilypond blocks from output"
+msgstr ""
+
+#: lilypond-book.py:138 lilypond-book.py:139 ly2dvi.py:135 ly2dvi.py:136
+#: midi2ly.py:102 main.cc:114 main.cc:117
+msgid "FILE"
+msgstr ""
+
+#: lilypond-book.py:138
+msgid "filename main output file"
+msgstr ""
+
+#: lilypond-book.py:139
+msgid "where to place generated files"
+msgstr ""
+
+#: lilypond-book.py:140 ly2dvi.py:137
+msgid "RES"
+msgstr ""
+
+#: lilypond-book.py:141 ly2dvi.py:138
+msgid "set the resolution of the preview to RES"
+msgstr ""
+
+#: lilypond-book.py:142 ly2dvi.py:148 midi2ly.py:105 mup2ly.py:78 main.cc:126
+msgid "verbose"
+msgstr ""
+
+#: lilypond-book.py:143
+msgid "print version information"
+msgstr ""
+
+#: lilypond-book.py:144 ly2dvi.py:150 midi2ly.py:107 mup2ly.py:80 main.cc:127
+msgid "show warranty and copyright"
+msgstr ""
+
+#. format specific strings, ie. regex-es for input, and % strings for output
+#. global variables
+#. lilypond_binary = 'valgrind --suppressions=/home/hanwen/usr/src/guile-1.6.supp  --num-callers=10 /home/hanwen/usr/src/lilypond/lily/out/lilypond'
+#. only use installed binary  when we're installed too.
+#. only use installed binary  when we're installed too.
+#. ###############################################################
+#. Dimension handling for LaTeX.
+#.
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#: lilypond-book.py:230
+msgid "LaTeX failed."
+msgstr ""
+
+#. URG see ly2dvi
+#. Convert numeric values, with or without specific dimension, to floats.
+#. Keep other strings
+#. ###############################################################
+#. How to output various structures.
+#. # maybe <hr> ?
+#. Verbatim text is always finished with \n.  FIXME: For HTML,
+#. this newline should be removed.
+#. Verbatim text is always finished with \n.  FIXME: For HTML,
+#. this newline should be removed.
+#. # Ugh we need to differentiate on origin:
+#. # lilypond-block origin wants an extra <p>, but
+#. # inline music doesn't.
+#. # possibly other center options?
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. do some tweaking: @ is needed in some ps stuff.
+#.
+#. ugh, the <p> below breaks inline images...
+#. clumsy workaround for python 2.2 pre bug.
+#. ###############################################################
+#. Recognize special sequences in the input
+#. Warning: This uses extended regular expressions.  Tread with care.
+#.
+#. legenda
+#.
+#. (?P<name>regex) -- assign result of REGEX to NAME
+#. *? -- match non-greedily.
+#. (?m) -- multiline regex: make ^ and $ match at each line
+#. (?s) -- make the dot match all characters including newline
+#. why do we have distinction between @mbinclude and @include?
+#. # we'd like to catch and reraise a more
+#. # detailed error, but alas, the exceptions
+#. # changed across the 1.5/2.1 boundary.
+#. ughUGH not original options
+#. First we want to scan the \documentclass line
+#. it should be the first non-comment line.
+#. The only thing we really need to know about the \documentclass line
+#. is if there are one or two columns to begin with.
+#. Then we add everything before \begin{document} to
+#. paperguru.m_document_preamble so that we can later write this header
+#. to a temporary file in find_latex_dims() to find textwidth.
+#. this is not bulletproof..., it checks the first 10 chunks
+#. newchunks.extend (func (m))
+#. python 1.5 compatible:
+#. we have to check for verbatim before doing include,
+#. because we don't want to include files that are mentioned
+#. inside a verbatim environment
+#. ugh fix input
+#. # Hmm, we should hash only lilypond source, and skip the
+#. # %options are ...
+#. # comment line
+#. # todo: include path, but strip
+#. # first part of the path.
+#. format == 'html'
+#. ugh rename
+#. Count sections/chapters.
+#. # TODO: do something like
+#. # this for texinfo/latex as well ?
+#. ugh
+#. fixme: be sys-independent.
+#.
+#. Ugh, fixing up dependencies for .tex generation
+#.
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#. # There used to be code to write .tex dependencies, but
+#. # that is silly: lilypond-book has its own dependency scheme
+#. # to ensure that all lily-XXX.tex files are there
+#. # TODO: put file name in front of texidoc.
+#. #
+#. # what's this? Docme --hwn
+#. #
+#. #docme: why global?
+#. Do It.
+#. should chmod -w
+#: lilypond-book.py:1557 ly2dvi.py:673 midi2ly.py:1018
+#, python-format
+msgid "getopt says: `%s'"
+msgstr ""
+
+#. HACK
+#. status = os.system ('lilypond -w')
+#: lilypond-book.py:1630 ly2dvi.py:777
+msgid "no files specified on command line"
+msgstr ""
+
+#.
+#. Petr, ik zou willen dat ik iets zinvoller deed,
+#. maar wat ik kan ik doen, het verandert toch niets?
+#. --hwn 20/aug/99
+#. !@PYTHON@
+#.
+#. ly2dvi.py -- Run LilyPond, add titles to bare score, generate printable
+#. document
+#. Invokes: lilypond, latex (or pdflatex), dvips, ps2pdf, gs
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. This is the third incarnation of ly2dvi.
+#.
+#. Earlier incarnations of ly2dvi were written by
+#. Jeffrey B. Reed<daboys@austin.rr.com> (Python version)
+#. Jan Arne Fagertun <Jan.A.Fagertun@@energy.sintef.no> (Bourne shell script)
+#.
+#. Note: gettext work best if we use ' for docstrings and "
+#. for gettextable strings.
+#. --> DO NOT USE ''' for docstrings.
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. if __name__ == '__main__':
+#. lilylib globals
+#. # FIXME
+#. # ly2dvi: silly name?
+#. # do -P or -p by default?
+#. #help_summary = _ ("Run LilyPond using LaTeX for titling")
+#: ly2dvi.py:121
+msgid "Run LilyPond, add titles, generate printable document"
+msgstr ""
+
+#: ly2dvi.py:127 main.cc:115
+msgid "write Makefile dependencies for every input file"
+msgstr ""
+
+#: ly2dvi.py:129
+msgid "print even more output"
+msgstr ""
+
+#: ly2dvi.py:130
 msgid "add DIR to LilyPond's search path"
 msgstr ""
 
-#: ly2dvi.py:338
-#, c-format
+#: ly2dvi.py:132
+#, python-format
 msgid "keep all output, output to directory %s.dir"
 msgstr ""
 
-#: ly2dvi.py:339
+#: ly2dvi.py:133
 msgid "don't run LilyPond"
 msgstr ""
 
-#: ly2dvi.py:340 main.cc:116
+#: ly2dvi.py:134 main.cc:116
 msgid "produce MIDI output only"
 msgstr ""
 
-#: ly2dvi.py:341 ly2dvi.py:342 midi2ly.py:100 main.cc:114 main.cc:117
-msgid "FILE"
-msgstr ""
-
-#: ly2dvi.py:341 midi2ly.py:100
+#: ly2dvi.py:135 midi2ly.py:102
 msgid "write ouput to FILE"
 msgstr ""
 
-#: ly2dvi.py:342
+#: ly2dvi.py:136
 msgid "find pfa fonts used in FILE"
 msgstr ""
 
-#: ly2dvi.py:344
-msgid "set the resolution of the preview to RES"
+#: ly2dvi.py:139
+msgid "generate PostScript output"
 msgstr ""
 
-#: ly2dvi.py:345
-msgid "generate PostScript output"
+#: ly2dvi.py:140
+msgid "generate PNG page images"
+msgstr ""
+
+#: ly2dvi.py:141
+msgid "generate PS.GZ"
 msgstr ""
 
-#: ly2dvi.py:346
+#: ly2dvi.py:142
 msgid "generate PDF output"
 msgstr ""
 
-#: ly2dvi.py:347
+#: ly2dvi.py:143
 msgid "use pdflatex to generate a PDF output"
 msgstr ""
 
-#: ly2dvi.py:349
+#. FIXME: preview, picture; to indicate creation of a PNG?
+#: ly2dvi.py:145
 msgid "make a picture of the first system"
 msgstr ""
 
-#: ly2dvi.py:350
-msgid "KEY=VAL"
+#: ly2dvi.py:146
+msgid "make HTML file with links to all output"
 msgstr ""
 
-#: ly2dvi.py:350
-msgid "change global setting KEY to VAL"
+#: ly2dvi.py:147
+msgid "KEY=VAL"
 msgstr ""
 
-#: ly2dvi.py:351 midi2ly.py:103 mup2ly.py:77 update-lily.py:91 main.cc:126
-msgid "verbose"
+#: ly2dvi.py:147
+msgid "change global setting KEY to VAL"
 msgstr ""
 
-#: ly2dvi.py:352 midi2ly.py:104 mup2ly.py:78 update-lily.py:92 main.cc:125
+#: ly2dvi.py:149 midi2ly.py:106 mup2ly.py:79 main.cc:125
 msgid "print version number"
 msgstr ""
 
-#: ly2dvi.py:353 midi2ly.py:105 mup2ly.py:79 update-lily.py:94 main.cc:127
-msgid "show warranty and copyright"
-msgstr ""
-
-#: ly2dvi.py:448
-#, c-format
+#. other globals
+#. Pdftex support
+#. # yuk.
+#. lilypond_binary = 'valgrind --suppressions=%(home)s/usr/src/guile-1.6.supp --num-callers=10 %(home)s/usr/src/lilypond/lily/out/lilypond '% { 'home' : '/home/hanwen' }
+#. only use installed binary  when we're installed too.
+#. init to empty; values here take precedence over values in the file
+#. # TODO: change name.
+#. for geometry v3
+#. Output formats that ly2dvi should create
+#. what a name.
+#. ly.warning (_ ("invalid value: %s") % `val`)
+#. ly.warning (_ ("invalid value: %s") % `val`)
+#: ly2dvi.py:232
+#, python-format
 msgid "no such setting: `%s'"
 msgstr ""
 
-#: ly2dvi.py:508
-#, c-format
+#. 2 == user interrupt.
+#: ly2dvi.py:274
+#, python-format
 msgid "LilyPond crashed (signal %d)."
 msgstr ""
 
-#: ly2dvi.py:509
+#: ly2dvi.py:275
 msgid "Please submit a bug report to bug-lilypond@gnu.org"
 msgstr ""
 
-#: ly2dvi.py:513
-#, c-format
-msgid "LilyPond failed on the input file (exit status %d)."
+#: ly2dvi.py:281
+#, python-format
+msgid "LilyPond failed on input file %s (exit status %d)"
 msgstr ""
 
-#: ly2dvi.py:522
-#, c-format
+#: ly2dvi.py:284
+#, python-format
+msgid "LilyPond failed on an input file (exit status %d)"
+msgstr ""
+
+#: ly2dvi.py:285
+msgid "Continuing..."
+msgstr ""
+
+#. urg
+#: ly2dvi.py:296
+#, python-format
 msgid "Analyzing %s..."
 msgstr ""
 
-#: ly2dvi.py:578
-#, c-format
+#. search only the first 10k
+#: ly2dvi.py:354
+#, python-format
 msgid "no LilyPond output found for `%s'"
 msgstr ""
 
-#: ly2dvi.py:618
-#, c-format
+#. The final \n seems important here. It ensures that the footers and taglines end up on the right page.
+#. TODO: should set textheight (enlarge) depending on papersize.
+#: ly2dvi.py:397
+#, python-format
 msgid "invalid value: `%s'"
 msgstr ""
 
-#: ly2dvi.py:724
+#. set sane geometry width (a4-width) for linewidth = -1.
+#. who the hell is 597 ?
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#: ly2dvi.py:511
 msgid "LaTeX failed on the output file."
 msgstr ""
 
-#: ly2dvi.py:726
-msgid "The error log is as follows:"
+#. make a preview by rendering only the 1st line
+#. of each score
+#: ly2dvi.py:568
+msgid ""
+"Trying create PDF, but no PFA fonts found.\n"
+"Using bitmap fonts instead. This will look bad."
 msgstr ""
 
-#: ly2dvi.py:849
-#, c-format
+#. ugh. Different targets?
+#. Added as functionality to ly2dvi, because ly2dvi may well need to do this
+#. in future too.
+#. no ps header?
+#: ly2dvi.py:615
+#, python-format
 msgid "not a PostScript file: `%s'"
 msgstr ""
 
-#: ly2dvi.py:865 midi2ly.py:1012 update-lily.py:458
-#, c-format
-msgid "getopt says: `%s'"
+#. todo
+#: ly2dvi.py:660
+#, python-format
+msgid "Writing HTML menu `%s'"
 msgstr ""
 
-#: ly2dvi.py:948
+#. signal programming error
+#. Don't convert input files to abspath, rather prepend '.' to include
+#. path.
+#. As a neat trick, add directory part of first input file
+#. to include path.  That way you can do without the clumsy -I in:
+#. ly2dvi -I foe/bar/baz foo/bar/baz/baz.ly
+#: ly2dvi.py:769
 msgid "pseudo filter"
 msgstr ""
 
-#: ly2dvi.py:951
+#: ly2dvi.py:772
 msgid "pseudo filter only for single input file"
 msgstr ""
 
-#: ly2dvi.py:980
-#, c-format
+#. Ugh, maybe make a setup () function
+#. hmmm. Wish I'd 've written comments when I wrote this.
+#. now it looks complicated.
+#: ly2dvi.py:806
+#, python-format
 msgid "filename should not contain spaces: `%s'"
 msgstr ""
 
-#: ly2dvi.py:1076 input-file-results.cc:67
-#, c-format
+#. to be sure, add tmpdir *in front* of inclusion path.
+#. os.environ['TEXINPUTS'] =  tmpdir + ':' + os.environ['TEXINPUTS']
+#. We catch all exceptions, because we need to do stuff at exit:
+#. * copy any successfully generated stuff from tempdir and
+#. notify user of that
+#. * cleanout tempdir
+#. ## ARGH. This also catches python programming errors.
+#. ## this should only catch lilypond nonzero exit  status
+#. ## --hwn
+#. TODO: friendly message about LilyPond setup/failing?
+#.
+#: ly2dvi.py:845
+msgid "Running LilyPond failed. Rerun with --verbose for a trace."
+msgstr ""
+
+#. Our LilyPond pseudo filter always outputs to 'lelie'
+#. have subsequent stages and use 'lelie' output.
+#. unless: add --tex, or --latex?
+#. TODO: friendly message about TeX/LaTeX setup,
+#. trying to run tex/latex by hand
+#: ly2dvi.py:886
+msgid "Failed to make PS file. Rerun with --verbose for a trace."
+msgstr ""
+
+#. unless: add --tex, or --latex?
+#. TODO: friendly message about TeX/LaTeX setup,
+#. trying to run tex/latex by hand
+#: ly2dvi.py:916
+msgid "Running LaTeX falied. Rerun with --verbose for a trace."
+msgstr ""
+
+#. add DEP to targets?
+#: ly2dvi.py:926 input-file-results.cc:68
+#, c-format, python-format
 msgid "dependencies output to `%s'..."
 msgstr ""
 
-#: ly2dvi.py:1090 ly2dvi.py:1104 includable-lexer.cc:49
-#: input-file-results.cc:187 input-file-results.cc:193 lily-guile.cc:97
-#, c-format
-msgid "can't find file: `%s'"
+#: ly2dvi.py:937
+#, python-format
+msgid "%s output to <stdout>..."
 msgstr ""
 
-#: ly2dvi.py:1102 midi2ly.py:996
-#, c-format
-msgid "%s output to `%s'..."
+#: ly2dvi.py:942 ly2dvi.py:968 includable-lexer.cc:57
+#: input-file-results.cc:191 input-file-results.cc:197 lily-guile.cc:86
+#, c-format, python-format
+msgid "can't find file: `%s'"
 msgstr ""
 
-#: ly2dvi.py:1111
-msgid "no files specified on command line"
+#. Hmm, if this were a function, we could call it the except: clauses
+#: ly2dvi.py:965
+#, python-format
+msgid "%s output to %s..."
 msgstr ""
 
-#: midi2ly.py:92
+#. !@PYTHON@
+#.
+#. midi2ly.py -- LilyPond midi import script
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. ###############################################################
+#. Users of python modules should include this snippet.
+#.
+#. This soon to be removed for: import lilypond.lilylib as ly
+#. ###############################################################
+#. ###############################################################
+#. ############### CONSTANTS
+#. ###############################################################
+#. temp_dir = os.path.join (original_dir,  '%s.dir' % program_name)
+#. original_dir = os.getcwd ()
+#. keep_temp_dir_p = 0
+#: midi2ly.py:94
 msgid "Convert MIDI to LilyPond source"
 msgstr ""
 
-#: midi2ly.py:95
+#: midi2ly.py:97
 msgid "print absolute pitches"
 msgstr ""
 
-#: midi2ly.py:96 midi2ly.py:101
+#: midi2ly.py:98 midi2ly.py:103
 msgid "DUR"
 msgstr ""
 
-#: midi2ly.py:96
+#: midi2ly.py:98
 msgid "quantise note durations on DUR"
 msgstr ""
 
-#: midi2ly.py:97
+#: midi2ly.py:99
 msgid "print explicit durations"
 msgstr ""
 
-#: midi2ly.py:99
+#: midi2ly.py:101
 msgid "ALT[:MINOR]"
 msgstr ""
 
-#: midi2ly.py:99
+#: midi2ly.py:101
 msgid "set key: ALT=+sharps|-flats; MINOR=1"
 msgstr ""
 
-#: midi2ly.py:101
+#: midi2ly.py:103
 msgid "quantise note starts on DUR"
 msgstr ""
 
-#: midi2ly.py:102
+#: midi2ly.py:104
 msgid "DUR*NUM/DEN"
 msgstr ""
 
-#: midi2ly.py:102
+#: midi2ly.py:104
 msgid "allow tuplet durations DUR*NUM/DEN"
 msgstr ""
 
-#: midi2ly.py:106
+#: midi2ly.py:108
 msgid "treat every text as a lyric"
 msgstr ""
 
-#: midi2ly.py:1027
-msgid "Example:"
-msgstr ""
-
-#: midi2ly.py:1081
-msgid "no files specified on command line."
-msgstr ""
-
-#: mup2ly.py:69
-msgid "Convert mup to LilyPond source"
-msgstr ""
-
-#: mup2ly.py:72
-msgid "debug"
-msgstr ""
-
-#: mup2ly.py:73
-msgid "define macro NAME [optional expansion EXP]"
-msgstr ""
-
-#: mup2ly.py:75 main.cc:117
-msgid "write output to FILE"
-msgstr ""
-
-#: mup2ly.py:76
-msgid "only pre-process"
-msgstr ""
-
-#: mup2ly.py:1073
-#, c-format
-msgid "no such context: %s"
-msgstr ""
-
-#: mup2ly.py:1297
-#, c-format
-msgid "Processing `%s'..."
-msgstr ""
-
-#: mup2ly.py:1316
-#, c-format
-msgid "Writing `%s'..."
-msgstr ""
-
-#: update-lily.py:76
-msgid "Fetch and rebuild from latest source package"
-msgstr ""
-
-#: update-lily.py:79
-#, c-format
-msgid "unpack and build in DIR [%s]"
-msgstr ""
-
-#: update-lily.py:80
-msgid "execute COMMAND, subtitute:"
+#: midi2ly.py:136 mup2ly.py:130
+msgid " 2001--2003"
 msgstr ""
 
-#: update-lily.py:81
-msgid "%b: build root"
+#: midi2ly.py:141 mup2ly.py:135
+msgid ""
+"\n"
+"Distributed under terms of the GNU General Public License. It comes with\n"
+"NO WARRANTY."
 msgstr ""
 
-#: update-lily.py:82
-#, c-format
-msgid "%n: package name"
+#: midi2ly.py:166 mup2ly.py:162
+msgid "Exiting ... "
 msgstr ""
 
-#: update-lily.py:83
-msgid "%r: release directory"
+#: midi2ly.py:264 mup2ly.py:261
+#, python-format
+msgid "command exited with value %d"
 msgstr ""
 
-#: update-lily.py:84
-msgid "%t: tarball"
+#. ###############################################################
+#. END Library
+#. ###############################################################
+#. hmm
+#. major scale: do-do
+#. minor scale: la-la  (= + 5) '''
+#. By tradition, all scales now consist of a sequence
+#. of 7 notes each with a distinct name, from amongst
+#. a b c d e f g.  But, minor scales have a wide
+#. second interval at the top - the 'leading note' is
+#. sharped. (Why? it just works that way! Anything
+#. else doesn't sound as good and isn't as flexible at
+#. saying things. In medieval times, scales only had 6
+#. notes to avoid this problem - the hexachords.)
+#. So, the d minor scale is d e f g a b-flat c-sharp d
+#. - using d-flat for the leading note would skip the
+#. name c and duplicate the name d.  Why isn't c-sharp
+#. put in the key signature? Tradition. (It's also
+#. supposedly based on the Pythagorean theory of the
+#. cycle of fifths, but that really only applies to
+#. major scales...)  Anyway, g minor is g a b-flat c d
+#. e-flat f-sharp g, and all the other flat minor keys
+#. end up with a natural leading note. And there you
+#. have it.
+#. John Sankey <bf250@freenet.carleton.ca>
+#.
+#. Let's also do a-minor: a b c d e f gis a
+#.
+#. --jcn
+#. as -> gis
+#. des -> cis
+#. ges -> fis
+#. g -> fisis
+#. d -> cisis
+#. a -> gisis
+#. b -> ces
+#. e -> fes
+#. f -> eis
+#. c -> bis
+#. # FIXME: compile fix --jcn
+#. TODO: move space
+#. fis cis gis dis ais eis bis
+#. bes es as des ges ces fes
+#. urg, we should be sure that we're in a lyrics staff
+#. all include ALL_NOTES_OFF
+#. ugh, must set key while parsing
+#. because Note init uses key
+#. Better do Note.calc () at dump time?
+#. last_lyric.clocks = t - last_time
+#. hmm
+#. urg, this will barf at meter changes
+#. urg LilyPond doesn't start at c4, but
+#. remembers from previous tracks!
+#. reference_note = Note (clocks_per_4, 4*12, 0)
+#. must be in \notes mode for parsing \skip
+#: midi2ly.py:1002
+#, python-format
+msgid "%s output to `%s'..."
 msgstr ""
 
-#: update-lily.py:85
-msgid "%v: package version"
+#: midi2ly.py:1033
+msgid "Example:"
 msgstr ""
 
-#: update-lily.py:88
-#, c-format
-msgid "keep all output, and name the directory %s"
+#: midi2ly.py:1083
+msgid "no files specified on command line."
 msgstr ""
 
-#: update-lily.py:89
-msgid "upon failure notify EMAIL[,EMAIL]"
+#. !@PYTHON@
+#. mup2ly.py -- mup input converter
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c) 2001
+#. if set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#: mup2ly.py:70
+msgid "Convert mup to LilyPond source"
 msgstr ""
 
-#: update-lily.py:90
-msgid "remove previous build"
+#: mup2ly.py:73
+msgid "debug"
 msgstr ""
 
-#: update-lily.py:93
-#, c-format
-msgid "fetch and build URL [%s]"
+#: mup2ly.py:74
+msgid "define macro NAME [optional expansion EXP]"
 msgstr ""
 
-#: update-lily.py:429
-#, c-format
-msgid "Listing `%s'..."
+#: mup2ly.py:76 main.cc:117
+msgid "write output to FILE"
 msgstr ""
 
-#: update-lily.py:497
-#, c-format
-msgid "latest is: %s"
+#: mup2ly.py:77
+msgid "only pre-process"
 msgstr ""
 
-#: update-lily.py:498
-#, c-format
-msgid "relax, %s is up to date"
+#. Duh.  Python style portable: cp *.EXT OUTDIR
+#. system ('cp *.%s %s' % (ext, outdir), 1)
+#. Python < 1.5.2 compatibility
+#.
+#. On most platforms, this is equivalent to
+#. `normpath(join(os.getcwd()), PATH)'.  *Added in Python version 1.5.2*
+#. if set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. ###############################################################
+#. END Library
+#.
+#. PMX cut and paste
+#.
+#. if not self.entries:
+#. #return '\n'
+#. #ugh ugh
+#. return '\n%s = {}\n\n' % self.idstring ()
+#. ugh
+#. def set_clef (self, letter):
+#. clstr = clef_table[letter]
+#. self.voices[0].add_nonchord (Clef (clstr))
+#. urg
+#. maybe use import copy?
+#. for i in self.pitches:
+#. ch.pitches.append (i)
+#. for i in self.scripts:
+#. ch.scripts.append (i)
+#. http://www.arkkra.com/doc/uguide/contexts.html
+#. #self.current_staffs = []
+#. duh
+#. FIXME: 1?
+#. FIXME: does key play any role in this?
+#. ch = self.current_voices[0].last_chord ()
+#. ch.basic_duration = self.current_voices[0].last_chord ().basic_duration
+#. ugh
+#. ch = self.current_voices[0].last_chord ()
+#. `;' is not a separator, chords end with ';'
+#. mup resets default duration and pitch each bar
+#. ugh: these (and lots more) should also be parsed in
+#. context staff.  we should have a class Staff_properties
+#. and parse/set all those.
+#. shortcut: set to official mup maximum (duh)
+#. self.set_staffs (40)
+#: mup2ly.py:1076
+#, python-format
+msgid "no such context: %s"
 msgstr ""
 
-#: update-lily.py:507 update-lily.py:520
-#, c-format
-msgid "Fetching `%s'..."
+#. hmm
+#. dig this: mup allows ifdefs inside macro bodies
+#. don't do nested multi-line defines
+#. duh: mup is strictly line-based, except for `define',
+#. which is `@' terminated and may span several lines
+#. don't define new macros in unactive areas
+#. To support nested multi-line define's
+#. process_function and macro_name, macro_body
+#. should become lists (stacks)
+#. The mup manual is undetermined on this
+#. and I haven't seen examples doing it.
+#.
+#. don't do nested multi-line define's
+#. writes to stdout for help2man
+#. don't call
+#. identify ()
+#. sys.stdout.flush ()
+#. handy emacs testing
+#. if not files:
+#. files = ['template.mup']
+#: mup2ly.py:1300
+#, python-format
+msgid "Processing `%s'..."
 msgstr ""
 
-#: update-lily.py:529
-#, c-format
-msgid "Building `%s'..."
+#: mup2ly.py:1319
+#, python-format
+msgid "Writing `%s'..."
 msgstr ""
 
 #: getopt-long.cc:146
@@ -427,52 +1195,57 @@ msgstr ""
 msgid "invalid argument `%s' to option `%s'"
 msgstr ""
 
-#: warn.cc:24
+#: warn.cc:25
 #, c-format
 msgid "warning: %s\n"
 msgstr ""
 
-#: warn.cc:30
+#: warn.cc:31
 #, c-format
 msgid "error: %s\n"
 msgstr ""
 
-#: warn.cc:43
+#: warn.cc:44
 #, c-format
 msgid "programming error: %s (Continuing; cross thumbs)\n"
 msgstr ""
 
-#: accidental-engraver.cc:181 new-accidental-engraver.cc:237
+#: accidental.cc:202 key-signature-interface.cc:137
+#, c-format
+msgid "accidental `%s' not found"
+msgstr ""
+
+#: accidental-engraver.cc:171 new-accidental-engraver.cc:238
 #, c-format
 msgid "Accidental typesetting list must begin with context-name: %s"
 msgstr ""
 
-#: accidental-engraver.cc:206 new-accidental-engraver.cc:262
+#: accidental-engraver.cc:196 new-accidental-engraver.cc:263
 #, c-format
 msgid "unknown accidental typesetting: %s. Ignored"
 msgstr ""
 
-#: accidental-engraver.cc:222 new-accidental-engraver.cc:278
+#: accidental-engraver.cc:212 new-accidental-engraver.cc:279
 #, c-format
 msgid "Symbol is not a parent context: %s. Ignored"
 msgstr ""
 
-#: accidental-engraver.cc:225 new-accidental-engraver.cc:281
+#: accidental-engraver.cc:215 new-accidental-engraver.cc:282
 #, c-format
 msgid "Accidental typesetting must be pair or context-name: %s"
 msgstr ""
 
-#: afm.cc:60
+#: afm.cc:66
 #, c-format
 msgid "can't find character number: %d"
 msgstr ""
 
-#: afm.cc:75
+#: afm.cc:81
 #, c-format
 msgid "can't find character called: `%s'"
 msgstr ""
 
-#: afm.cc:125
+#: afm.cc:142
 #, c-format
 msgid "Error parsing AFM file: `%s'"
 msgstr ""
@@ -493,74 +1266,80 @@ msgid ""
 "to show font paths."
 msgstr ""
 
-#: all-font-metrics.cc:167
+#: all-font-metrics.cc:103
+msgid ""
+"A script for removing font-files is delivered with the source-code,\n"
+"in buildscripts/clean-fonts.sh"
+msgstr ""
+
+#: all-font-metrics.cc:169
 #, c-format
 msgid "can't find font: `%s'"
 msgstr ""
 
-#: all-font-metrics.cc:168
+#: all-font-metrics.cc:170
 msgid "Loading default font"
 msgstr ""
 
-#: all-font-metrics.cc:183
+#: all-font-metrics.cc:185
 #, c-format
 msgid "can't find default font: `%s'"
 msgstr ""
 
-#: all-font-metrics.cc:184 includable-lexer.cc:51 input-file-results.cc:188
+#: all-font-metrics.cc:186 includable-lexer.cc:59 input-file-results.cc:192
 #, c-format
 msgid "(search path: `%s')"
 msgstr ""
 
-#: all-font-metrics.cc:185
+#: all-font-metrics.cc:187
 msgid "Giving up"
 msgstr ""
 
 #: auto-change-iterator.cc:43 change-iterator.cc:60
-#: part-combine-music-iterator.cc:97
+#: part-combine-music-iterator.cc:120
 msgid "Can't switch translators, I'm there already"
 msgstr ""
 
-#: bar-check-iterator.cc:58
+#: bar-check-iterator.cc:51
 #, c-format
 msgid "barcheck failed at: %s"
 msgstr ""
 
-#: beam-engraver.cc:167
-msgid "already have a beam"
+#: beam.cc:146
+msgid "beam has less than two visible stems"
 msgstr ""
 
-#: beam-engraver.cc:234
-msgid "unterminated beam"
+#: beam.cc:151
+msgid "Beam has less than two stems. Removing beam."
 msgstr ""
 
-#: beam-engraver.cc:267 chord-tremolo-engraver.cc:175
-msgid "stem must have Rhythmic structure"
+#: beam.cc:976
+msgid ""
+"Not sure that we can find a nice beam slope (no viable initial configuration "
+"found)."
 msgstr ""
 
-#: beam-engraver.cc:281
-msgid "stem doesn't fit in beam"
+#: beam-engraver.cc:176
+msgid "already have a beam"
 msgstr ""
 
-#: beam-engraver.cc:282
-msgid "beam was started here"
+#: beam-engraver.cc:259
+msgid "unterminated beam"
 msgstr ""
 
-#: beam.cc:134
-msgid "beam has less than two visible stems"
+#: beam-engraver.cc:292 chord-tremolo-engraver.cc:197
+msgid "stem must have Rhythmic structure"
 msgstr ""
 
-#: beam.cc:139
-msgid "Beam has less than two stems. Removing beam."
+#: beam-engraver.cc:306
+msgid "stem doesn't fit in beam"
 msgstr ""
 
-#: beam.cc:951
-msgid ""
-"Not sure that we can find a nice beam slope (no viable initial configuration "
-"found)."
+#: beam-engraver.cc:307
+msgid "beam was started here"
 msgstr ""
 
-#: break-align-interface.cc:166
+#: break-align-interface.cc:173
 #, c-format
 msgid "No spacing entry from %s to `%s'"
 msgstr ""
@@ -584,64 +1363,103 @@ msgstr ""
 msgid "none of these in my family"
 msgstr ""
 
-#: chord-tremolo-engraver.cc:137 percent-repeat-engraver.cc:182
+#: chord-tremolo-engraver.cc:98
+#, c-format
+msgid "Chord tremolo with %d elements. Must have two elements."
+msgstr ""
+
+#: chord-tremolo-engraver.cc:157
 msgid "unterminated chord tremolo"
 msgstr ""
 
-#: chord-tremolo-iterator.cc:50
+#: chord-tremolo-iterator.cc:69
 msgid "no one to print a tremolos"
 msgstr ""
 
-#: chord.cc:313
+#: clef.cc:64
+#, c-format
+msgid "clef `%s' not found"
+msgstr ""
+
+#: cluster.cc:131
+#, c-format
+msgid "unknown cluster style `%s'"
+msgstr ""
+
+#: coherent-ligature-engraver.cc:84
+#, c-format
+msgid "gotcha: ptr=%ul"
+msgstr ""
+
+#: coherent-ligature-engraver.cc:96
 #, c-format
-msgid "invalid subtraction: not part of chord: %s"
+msgid "distance=%f"
 msgstr ""
 
-#: chord.cc:342
+#: coherent-ligature-engraver.cc:139
 #, c-format
-msgid "invalid inversion pitch: not part of chord: %s"
+msgid "Coherent_ligature_engraver: setting `spacing-increment = 0.01': ptr=%ul"
+msgstr ""
+
+#: custos.cc:92
+#, c-format
+msgid "custos `%s' not found"
 msgstr ""
 
 #: dimensions.cc:13
 msgid "NaN"
 msgstr ""
 
-#: dynamic-engraver.cc:187 span-dynamic-performer.cc:82
+#: dynamic-engraver.cc:204 span-dynamic-performer.cc:82
 msgid "can't find start of (de)crescendo"
 msgstr ""
 
-#: dynamic-engraver.cc:211
+#: dynamic-engraver.cc:216
 msgid "already have a crescendo"
 msgstr ""
 
-#: dynamic-engraver.cc:212
+#: dynamic-engraver.cc:217
 msgid "already have a decrescendo"
 msgstr ""
 
-#: dynamic-engraver.cc:215
+#: dynamic-engraver.cc:220
 msgid "Cresc started here"
 msgstr ""
 
-#: dynamic-engraver.cc:307
+#: dynamic-engraver.cc:323
 msgid "unterminated (de)crescendo"
 msgstr ""
 
-#: extender-engraver.cc:96
+#: event.cc:49
+#, c-format
+msgid "Transposition by %s makes alteration larger than two"
+msgstr ""
+
+#: event-chord-iterator.cc:76 output-property-music-iterator.cc:27
+#, c-format
+msgid "Junking event: `%s'"
+msgstr ""
+
+#: extender-engraver.cc:94
 msgid "unterminated extender"
 msgstr ""
 
-#: extender-engraver.cc:108
-msgid "Nothing to connect extender to on the left.  Ignoring extender request."
+#: extender-engraver.cc:106
+msgid "Nothing to connect extender to on the left.  Ignoring extender event."
 msgstr ""
 
-#: folded-repeat-iterator.cc:78
+#: folded-repeat-iterator.cc:88
 msgid "no one to print a repeat brace"
 msgstr ""
 
-#: font-interface.cc:238
+#: font-interface.cc:239
 msgid "couldn't find any font satisfying "
 msgstr ""
 
+#: glissando-engraver.cc:100
+msgid "Unterminated glissando."
+msgstr ""
+
 #: gourlay-breaking.cc:188
 #, c-format
 msgid "Optimal demerits: %f"
@@ -651,6 +1469,27 @@ msgstr ""
 msgid "No feasible line breaking found"
 msgstr ""
 
+#: gregorian-ligature-engraver.cc:59
+#, c-format
+msgid "\\%s ignored"
+msgstr ""
+
+#: gregorian-ligature-engraver.cc:64
+#, c-format
+msgid "implied \\%s added"
+msgstr ""
+
+#.
+#. Todo: do something sensible. The grob-pq-engraver is not water
+#. tight, and stuff like tupletSpannerDuration confuses it.
+#.
+#: grob-pq-engraver.cc:130
+#, c-format
+msgid ""
+"Skipped something?\n"
+"Grob %s ended before I expected it to end."
+msgstr ""
+
 #: hairpin.cc:98
 msgid "decrescendo too small"
 msgstr ""
@@ -659,109 +1498,109 @@ msgstr ""
 msgid "crescendo too small"
 msgstr ""
 
-#: hyphen-engraver.cc:89
-msgid "unterminated hyphen"
+#: horizontal-bracket-engraver.cc:64
+msgid "Don't have that many brackets."
 msgstr ""
 
-#: hyphen-engraver.cc:101
-msgid "Nothing to connect hyphen to on the left.  Ignoring hyphen request."
+#: horizontal-bracket-engraver.cc:73
+msgid "Conflicting note group events."
 msgstr ""
 
-#: input-file-results.cc:71 source-file.cc:52 streams.cc:38
-#, c-format
-msgid "can't open file: `%s'"
-msgstr ""
-
-#: input-file-results.cc:131
-msgid "Score contains errors; will not process it"
+#: hyphen-engraver.cc:87
+msgid "unterminated hyphen"
 msgstr ""
 
-#: input-file-results.cc:168
-#, c-format
-msgid "Now processing: `%s'"
+#: hyphen-engraver.cc:99
+msgid "Nothing to connect hyphen to on the left.  Ignoring hyphen event."
 msgstr ""
 
-#: input.cc:98
+#: input.cc:99
 msgid "non fatal error: "
 msgstr ""
 
-#: input.cc:106 source-file.cc:147 source-file.cc:240
+#: input.cc:107 source-file.cc:146 source-file.cc:239
 msgid "position unknown"
 msgstr ""
 
-#: key-engraver.cc:91
-msgid "Conflicting key signatures found."
+#: input-file-results.cc:72 source-file.cc:54 streams.cc:38
+#, c-format
+msgid "can't open file: `%s'"
 msgstr ""
 
-#: key-engraver.cc:92
-msgid "This was the other key definition."
+#: input-file-results.cc:132
+msgid "Score contains errors; will not process it"
 msgstr ""
 
-#: key-performer.cc:92
+#: input-file-results.cc:172
+#, c-format
+msgid "Now processing: `%s'"
+msgstr ""
+
+#: key-performer.cc:96
 msgid "FIXME: key change merge"
 msgstr ""
 
-#: kpath.cc:64
+#: kpath.cc:76
 #, c-format
 msgid "Kpathsea couldn't find TFM file `%s'"
 msgstr ""
 
-#: ligature-bracket.cc:105 ligature-bracket.cc:139 ligature-engraver.cc:124
-msgid "no left bound"
-msgstr ""
-
-#: ligature-engraver.cc:81
+#: ligature-engraver.cc:159
 msgid "can't find start of ligature"
 msgstr ""
 
-#: ligature-engraver.cc:86
+#: ligature-engraver.cc:165
 msgid "no right bound"
 msgstr ""
 
-#: ligature-engraver.cc:108
+#: ligature-engraver.cc:191
 msgid "already have a ligature"
 msgstr ""
 
-#: ligature-engraver.cc:166
+#: ligature-engraver.cc:207
+msgid "no left bound"
+msgstr ""
+
+#: ligature-engraver.cc:258
 msgid "unterminated ligature"
 msgstr ""
 
-#: ligature-engraver.cc:183
+#: ligature-engraver.cc:282
 msgid "ligature may not contain rest; ignoring rest"
 msgstr ""
 
-#: ligature-engraver.cc:184
+#: ligature-engraver.cc:283
 msgid "ligature was started here"
 msgstr ""
 
-#: lily-guile.cc:99
+#: lily-guile.cc:88
 #, c-format
 msgid "(load path: `%s')"
 msgstr ""
 
-#: lily-guile.cc:582
+#: lily-guile.cc:576
 #, c-format
 msgid "Can't find property type-check for `%s' (%s)."
 msgstr ""
 
-#: lily-guile.cc:585
+#: lily-guile.cc:579
 msgid "Perhaps you made a typing error?"
 msgstr ""
 
-#: lily-guile.cc:591
+#: lily-guile.cc:585
 msgid "Doing assignment anyway."
 msgstr ""
 
-#: lily-guile.cc:605
+#: lily-guile.cc:599
 #, c-format
 msgid "Type check for `%s' failed; value `%s' must be of type `%s'"
 msgstr ""
 
-#: lookup.cc:141
+#: lookup.cc:173
 msgid "round filled box horizontal extent smaller than blot; decreasing blot"
 msgstr ""
 
-#: lookup.cc:146
+#: lookup.cc:178
 msgid "round filled box vertical extent smaller than blot; decreasing blot"
 msgstr ""
 
@@ -781,12 +1620,6 @@ msgstr ""
 msgid "set options, use -e '(ly-option-usage)' for help"
 msgstr ""
 
-#. another bug in option parser: --output=foe is taken as an abbreviation
-#. for --output-format
-#: main.cc:110
-msgid "EXT"
-msgstr ""
-
 #: main.cc:110
 msgid "use output format EXT"
 msgstr ""
@@ -843,11 +1676,6 @@ msgid ""
 "certain conditions.  Invoke as `%s --warranty' for more information.\n"
 msgstr ""
 
-#: main.cc:188 main.cc:200
-#, c-format
-msgid "Copyright (c) %s by"
-msgstr ""
-
 #: main.cc:198
 msgid "GNU LilyPond -- The music typesetter"
 msgstr ""
@@ -865,82 +1693,78 @@ msgid ""
 "\n"
 "    You should have received a copy (refer to the file COPYING) of the\n"
 "GNU General Public License along with this program; if not, write to\n"
-"the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,\n"
+"the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA "
+"02111-1307,\n"
 "USA.\n"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:321 mensural-ligature-engraver.cc:483
-msgid "unexpected case fall-through"
+#: mensural-ligature.cc:153
+#, c-format
+msgid "Mensural_ligature:thickness undefined on flexa %d; assuming 1.4"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:332
-msgid "ligature with less than 2 heads -> skipping"
+#: mensural-ligature.cc:169
+#, c-format
+msgid "Mensural_ligature:delta-pitch undefined on flexa %d; assuming 0"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:347
-msgid "can not determine pitch of ligature primitive -> skipping"
+#: mensural-ligature.cc:182
+#, c-format
+msgid "Mensural_ligature:flexa-width undefined on flexa %d; assuming 2.0"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:370
-msgid "prime interval within ligature -> skipping"
+#: mensural-ligature.cc:215
+msgid "Mensural_ligature:unexpected case fall-through"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:380
-msgid "mensural ligature: duration none of L, B, S -> skipping"
+#: mensural-ligature.cc:225
+msgid "Mensural_ligature: (join_left == 0)"
 msgstr ""
 
-#: mensural-ligature.cc:152
-#, c-format
-msgid "Mensural_ligature: thickness undefined on flexa %d; assuming 1.4"
+#: mensural-ligature-engraver.cc:248 mensural-ligature-engraver.cc:397
+msgid "unexpected case fall-through"
 msgstr ""
 
-#: mensural-ligature.cc:166
-#, c-format
-msgid "Mensural_ligature: delta-pitch undefined on flexa %d; assuming 0"
+#: mensural-ligature-engraver.cc:259
+msgid "ligature with less than 2 heads -> skipping"
 msgstr ""
 
-#: mensural-ligature.cc:177
-#, c-format
-msgid "Mensural_ligature: flexa-width undefined on flexa %d; assuming 2.0"
+#: mensural-ligature-engraver.cc:279
+msgid "can not determine pitch of ligature primitive -> skipping"
 msgstr ""
 
-#: mensural-ligature.cc:208
-msgid "Mensural_ligature: unexpected case fall-through"
+#: mensural-ligature-engraver.cc:302
+msgid "prime interval within ligature -> skipping"
 msgstr ""
 
-#: mensural-ligature.cc:217
-msgid "Menusral_ligature: (join_left == 0)"
+#: mensural-ligature-engraver.cc:312
+msgid "mensural ligature: duration none of L, B, S -> skipping"
 msgstr ""
 
-#: midi-item.cc:144
+#: midi-item.cc:148
 #, c-format
 msgid "no such instrument: `%s'"
 msgstr ""
 
-#: midi-item.cc:234
+#: midi-item.cc:238
 msgid "silly duration"
 msgstr ""
 
-#: midi-item.cc:247
+#: midi-item.cc:251
 msgid "silly pitch"
 msgstr ""
 
-#: music-output-def.cc:113
+#: music-output-def.cc:111
 #, c-format
 msgid "can't find `%s' context"
 msgstr ""
 
-#: music.cc:159
-#, c-format
-msgid "Transposition by %s makes accidental larger than two"
-msgstr ""
-
-#: my-lily-lexer.cc:142
+#: my-lily-lexer.cc:169
 #, c-format
 msgid "Identifier name is a keyword: `%s'"
 msgstr ""
 
-#: my-lily-lexer.cc:162
+#: my-lily-lexer.cc:191
 #, c-format
 msgid "error at EOF: %s"
 msgstr ""
@@ -953,42 +1777,45 @@ msgstr ""
 msgid "Braces don't match"
 msgstr ""
 
-#: note-collision.cc:340
-msgid "Too many clashing notecolumns.  Ignoring them."
+#.
+#. music for the softenon children?
+#.
+#: new-fingering-engraver.cc:143
+msgid "music for the martians."
 msgstr ""
 
-#: note-head.cc:134
-msgid "Symbol not found, "
+#: new-tie-engraver.cc:166 tie-engraver.cc:217
+msgid "lonely tie"
 msgstr ""
 
-#: output-property-music-iterator.cc:20 request-chord-iterator.cc:76
-#, c-format
-msgid "Junking request: `%s'"
+#: note-collision.cc:340
+msgid "Too many clashing notecolumns.  Ignoring them."
 msgstr ""
 
-#: paper-def.cc:122
+#: note-head.cc:127
 #, c-format
-msgid "paper output to `%s'..."
+msgid "note head `%s' not found"
 msgstr ""
 
-#: paper-outputter.cc:57
-msgid ", at "
+#: paper-def.cc:96
+#, c-format
+msgid "paper output to `%s'..."
 msgstr ""
 
-#: paper-score.cc:77
+#: paper-score.cc:78
 #, c-format
 msgid "Element count %d (spanners %d) "
 msgstr ""
 
-#: paper-score.cc:82
-msgid "Preprocessing elements..."
+#: paper-score.cc:83
+msgid "Preprocessing graphical objects..."
 msgstr ""
 
-#: paper-score.cc:115
+#: paper-score.cc:116
 msgid "Outputting Score, defined at: "
 msgstr ""
 
-#: parse-scm.cc:80
+#: parse-scm.cc:79
 msgid "GUILE signaled an error for the expression begining here"
 msgstr ""
 
@@ -998,21 +1825,25 @@ msgstr ""
 #.
 #. last->translator_id_string_  = get_change ()->change_to_id_string_;
 #.
-#: part-combine-music-iterator.cc:116
+#: part-combine-music-iterator.cc:139
 #, c-format
 msgid "I'm one myself: `%s'"
 msgstr ""
 
-#: part-combine-music-iterator.cc:119
+#: part-combine-music-iterator.cc:142
 #, c-format
 msgid "none of these in my family: `%s'"
 msgstr ""
 
-#: percent-repeat-engraver.cc:116
+#: percent-repeat-engraver.cc:109
 msgid "Don't know how to handle a percent repeat of this length."
 msgstr ""
 
-#: percent-repeat-iterator.cc:53
+#: percent-repeat-engraver.cc:163
+msgid "unterminated percent repeat"
+msgstr ""
+
+#: percent-repeat-iterator.cc:65
 msgid "no one to print a percent"
 msgstr ""
 
@@ -1038,133 +1869,101 @@ msgstr ""
 msgid "MIDI output to `%s'..."
 msgstr ""
 
-#: phrasing-slur-engraver.cc:117
+#: phrasing-slur-engraver.cc:123
 msgid "unterminated phrasing slur"
 msgstr ""
 
-#: phrasing-slur-engraver.cc:132
+#: phrasing-slur-engraver.cc:141
 msgid "can't find start of phrasing slur"
 msgstr ""
 
-#: piano-pedal-engraver.cc:230 piano-pedal-engraver.cc:245
-#: piano-pedal-engraver.cc:300 piano-pedal-performer.cc:82
+#: piano-pedal-engraver.cc:235 piano-pedal-engraver.cc:250
+#: piano-pedal-engraver.cc:305 piano-pedal-performer.cc:82
 #, c-format
 msgid "can't find start of piano pedal: `%s'"
 msgstr ""
 
-#: piano-pedal-engraver.cc:405
+#: piano-pedal-engraver.cc:410
 msgid "unterminated pedal bracket"
 msgstr ""
 
-#: pitch.cc:25
-msgid "Pitch arguments out of range"
-msgstr ""
-
-#: porrectus.cc:35
-msgid "(left_head == 0)"
-msgstr ""
-
-#: porrectus.cc:46
-msgid "undefined left_head"
-msgstr ""
-
-#: porrectus.cc:65
-msgid "(right_head == 0)"
-msgstr ""
-
-#: porrectus.cc:76
-msgid "undefined right_head"
-msgstr ""
-
-#: porrectus.cc:96
-msgid "junking lonely porrectus"
-msgstr ""
-
-#: porrectus.cc:106
-msgid "porrectus style undefined; using mensural"
-msgstr ""
-
-#: porrectus.cc:251
-msgid "ascending vaticana style porrectus"
+#: property-iterator.cc:97
+#, c-format
+msgid "Not a grob name, `%s'."
 msgstr ""
 
-#: property-iterator.cc:64
+#: rest.cc:139
 #, c-format
-msgid "Not a grob name, `%s'."
+msgid "rest `%s' not found, "
 msgstr ""
 
-#: rest-collision.cc:186
+#: rest-collision.cc:199
 msgid "too many colliding rests"
 msgstr ""
 
-#: scm-option.cc:44
+#: scm-option.cc:45
 msgid "lilypond -e EXPR means:"
 msgstr ""
 
-#: scm-option.cc:46
+#: scm-option.cc:47
 msgid "  Evalute the Scheme EXPR before parsing any .ly files."
 msgstr ""
 
-#: scm-option.cc:48
+#: scm-option.cc:49
 msgid ""
 "  Multiple -e options may be given, they will be evaluated sequentially."
 msgstr ""
 
-#: scm-option.cc:50
+#: scm-option.cc:51
 msgid ""
 "  The function ly-set-option allows for access to some internal variables."
 msgstr ""
 
-#: scm-option.cc:52
+#: scm-option.cc:53
 msgid "Usage: lilypond -e \"(ly-set-option SYMBOL VAL)\""
 msgstr ""
 
-#: scm-option.cc:54
+#: scm-option.cc:55
 msgid "Where SYMBOL VAL pair is any of:"
 msgstr ""
 
-#: scm-option.cc:122
+#: scm-option.cc:128
 msgid "Unknown internal option!"
 msgstr ""
 
-#: score-engraver.cc:102
-#, c-format
-msgid "can't find `%s'"
+#: score.cc:85
+msgid "Interpreting music..."
 msgstr ""
 
-#: score-engraver.cc:103
-msgid "Fonts have not been installed properly.  Aborting"
+#: score.cc:97
+msgid "Need music in a score"
 msgstr ""
 
-#: score-engraver.cc:207
-#, c-format
-msgid "unbound spanner `%s'"
+#. should we? hampers debugging.
+#: score.cc:111
+msgid "Errors found/*, not processing score*/"
 msgstr ""
 
-#: score.cc:92
+#: score.cc:118
 #, c-format
-msgid "stack size cur %d, max %d\n"
-msgstr ""
-
-#: score.cc:109
-msgid "Interpreting music..."
+msgid "elapsed time: %.2f seconds"
 msgstr ""
 
-#: score.cc:122
-msgid "Need music in a score"
+#: score-engraver.cc:99
+#, c-format
+msgid "can't find `%s'"
 msgstr ""
 
-#. should we? hampers debugging.
-#: score.cc:135
-msgid "Errors found/*, not processing score*/"
+#: score-engraver.cc:100
+msgid "Fonts have not been installed properly.  Aborting"
 msgstr ""
 
-#: score.cc:142
+#: score-engraver.cc:205
 #, c-format
-msgid "elapsed time: %.2f seconds"
+msgid "unbound spanner `%s'"
 msgstr ""
 
-#: script-engraver.cc:66
+#: script-engraver.cc:90
 #, c-format
 msgid "Don't know how to interpret articulation `%s'"
 msgstr ""
@@ -1174,30 +1973,22 @@ msgstr ""
 msgid "Separation_item:  I've been drinking too much"
 msgstr ""
 
-#: simple-spacer.cc:254
+#: simple-spacer.cc:248
 #, c-format
 msgid "No spring between column %d and next one"
 msgstr ""
 
-#: slur-engraver.cc:140
+#: slur-engraver.cc:141
 msgid "unterminated slur"
 msgstr ""
 
 #. How to shut up this warning, when Voice_devnull_engraver has
-#. eaten start request?
-#: slur-engraver.cc:157
+#. eaten start event?
+#: slur-engraver.cc:159
 msgid "can't find start of slur"
 msgstr ""
 
-#: slur.cc:53
-msgid "Putting slur over rest."
-msgstr ""
-
-#: slur.cc:424
-msgid "Slur over rest?"
-msgstr ""
-
-#: source-file.cc:65
+#: source-file.cc:67
 #, c-format
 msgid "Huh?  Got %d, expected %d characters"
 msgstr ""
@@ -1212,17 +2003,35 @@ msgstr ""
 msgid "#<spring smob d= %f>"
 msgstr ""
 
-#: staff-symbol.cc:62
+#: staff-symbol.cc:61
 msgid "staff symbol: indentation yields beyond end of line"
 msgstr ""
 
-#: stem-engraver.cc:117
+#: stem.cc:118
+msgid "Weird stem size; check for narrow beams"
+msgstr ""
+
+#: stem.cc:611
+#, c-format
+msgid "flag `%s' not found"
+msgstr ""
+
+#: stem.cc:624
+#, c-format
+msgid "flag stroke `%s' not found"
+msgstr ""
+
+#: stem-engraver.cc:96
+msgid "tremolo duration is too long"
+msgstr ""
+
+#: stem-engraver.cc:124
 #, c-format
 msgid "Adding note head to incompatible stem (type = %d)"
 msgstr ""
 
-#: stem.cc:118
-msgid "Weird stem size; check for narrow beams"
+#: stem-engraver.cc:125
+msgid "Don't you want polyphonic voices instead?"
 msgstr ""
 
 #: streams.cc:34
@@ -1239,29 +2048,30 @@ msgstr ""
 msgid "Element count %d."
 msgstr ""
 
-#: system.cc:377
+#: system.cc:372
 #, c-format
 msgid "Grob count %d "
 msgstr ""
 
-#: system.cc:391
-msgid "Calculating column positions..."
+#: system.cc:386
+msgid "Calculating line breaks..."
 msgstr ""
 
-#: text-spanner-engraver.cc:92
+#: text-spanner-engraver.cc:81
 msgid "can't find start of text spanner"
 msgstr ""
 
-#: text-spanner-engraver.cc:112
+#: text-spanner-engraver.cc:95
 msgid "already have a text spanner"
 msgstr ""
 
-#: text-spanner-engraver.cc:167
+#: text-spanner-engraver.cc:164
 msgid "unterminated text spanner"
 msgstr ""
 
-#: text-spanner.cc:130
-msgid "Text_spanner too small"
+#: tfm.cc:83
+#, c-format
+msgid "can't find ascii character: %d"
 msgstr ""
 
 #. Not using ngettext's plural feature here, as this message is
@@ -1276,21 +2086,29 @@ msgstr ""
 msgid "%s: TFM file has %u parameters, which is more than the %u I can handle"
 msgstr ""
 
-#: tfm.cc:83
-#, c-format
-msgid "can't find ascii character: %d"
+#: tie-performer.cc:159
+msgid "No ties were created!"
 msgstr ""
 
-#: tie-engraver.cc:216
-msgid "lonely tie"
+#: time-scaled-music-iterator.cc:25
+msgid "no one to print a tuplet start bracket"
 msgstr ""
 
-#: tie-performer.cc:161
-msgid "No ties were created!"
+#. If there is no such symbol, we default to the numbered style.
+#. (Here really with a warning!)
+#: time-signature.cc:87
+#, c-format
+msgid "time signature symbol `%s' not found; reverting to numbered style"
 msgstr ""
 
-#: time-scaled-music-iterator.cc:25
-msgid "no one to print a tuplet start bracket"
+#.
+#. Todo: should make typecheck?
+#.
+#. OTOH, Tristan Keuris writes 8/20 in his Intermezzi.
+#.
+#: time-signature-engraver.cc:57
+#, c-format
+msgid "Found strange time signature %d/%d."
 msgstr ""
 
 #: translator-ctors.cc:53
@@ -1298,150 +2116,179 @@ msgstr ""
 msgid "unknown translator: `%s'"
 msgstr ""
 
-#: translator-def.cc:87
+#: translator-def.cc:105
 msgid "Program has no such type"
 msgstr ""
 
-#: translator-def.cc:93
+#: translator-def.cc:111
 #, c-format
 msgid "Already contains: `%s'"
 msgstr ""
 
-#: translator-def.cc:94
+#: translator-def.cc:112
 #, c-format
 msgid "Not adding translator: `%s'"
 msgstr ""
 
-#: translator-def.cc:209
+#: translator-def.cc:229
 #, c-format
 msgid "can't find: `%s'"
 msgstr ""
 
-#: translator-group.cc:159
+#: translator-group.cc:158
 #, c-format
 msgid "can't find or create `%s' called `%s'"
 msgstr ""
 
-#: translator-group.cc:244
+#: translator-group.cc:230
 #, c-format
 msgid "can't find or create: `%s'"
 msgstr ""
 
-#: volta-engraver.cc:111
+#: vaticana-ligature.cc:49
+msgid "ascending vaticana style flexa"
+msgstr ""
+
+#: vaticana-ligature.cc:219
+msgid "Vaticana_ligature:thickness undefined; assuming 1.4"
+msgstr ""
+
+#: vaticana-ligature.cc:233
+msgid "Vaticana_ligature:x-offset undefined; assuming 0.0"
+msgstr ""
+
+#: vaticana-ligature.cc:258
+msgid "Vaticana_ligature: (delta_pitch == 0)"
+msgstr ""
+
+#: vaticana-ligature.cc:271
+msgid "Vaticana_ligature:delta-pitch -> ignoring join"
+msgstr ""
+
+#: vaticana-ligature-engraver.cc:477
+#, c-format
+msgid "Vaticana_ligature_engraver: setting `spacing-increment = %f': ptr=%ul"
+msgstr ""
+
+#: volta-engraver.cc:112
 msgid "No volta spanner to end"
 msgstr ""
 
-#: volta-engraver.cc:121
+#: volta-engraver.cc:123
 msgid "Already have a volta spanner.  Stopping that one prematurely."
 msgstr ""
 
-#: volta-engraver.cc:125
+#: volta-engraver.cc:127
 msgid "Also have a stopped spanner.  Giving up."
 msgstr ""
 
-#: parser.yy:434
+#: parser.yy:480
 msgid "Identifier should have alphabetic characters only"
 msgstr ""
 
-#: parser.yy:729
+#: parser.yy:779
 msgid "More alternatives than repeats.  Junking excess alternatives."
 msgstr ""
 
-#: parser.yy:798
+#: parser.yy:861 parser.yy:868
+msgid "\applycontext takes function argument"
+msgstr ""
+
+#: parser.yy:877
 msgid "Second argument must be a symbol"
 msgstr ""
 
-#: parser.yy:803
+#: parser.yy:882
 msgid "First argument must be a procedure taking one argument"
 msgstr ""
 
-#: parser.yy:1380
-msgid "Expecting string as script definition"
+#: parser.yy:1009
+msgid "\apply takes function argument"
 msgstr ""
 
-#: parser.yy:1390
-msgid "Can't specify direction for this request"
+#: parser.yy:1501
+msgid "Expecting string as script definition"
 msgstr ""
 
-#: parser.yy:1516
+#: parser.yy:1598
 msgid "Expecting musical-pitch value"
 msgstr ""
 
-#: parser.yy:1527
+#: parser.yy:1609
 msgid "Must have duration object"
 msgstr ""
 
-#: parser.yy:1536 parser.yy:1544
+#: parser.yy:1618 parser.yy:1626
 msgid "Have to be in Lyric mode for lyrics"
 msgstr ""
 
-#: parser.yy:1715 parser.yy:1768
+#: parser.yy:1798 parser.yy:1853
 #, c-format
 msgid "not a duration: %d"
 msgstr ""
 
-#: parser.yy:1855
+#: parser.yy:1949
 msgid "Have to be in Note mode for notes"
 msgstr ""
 
-#: parser.yy:1954
+#: parser.yy:2032
 msgid "Have to be in Chord mode for chords"
 msgstr ""
 
-#: parser.yy:2134
+#: parser.yy:2171
 msgid "need integer number arg"
 msgstr ""
 
-#: parser.yy:2206
+#: parser.yy:2316
 msgid "Suspect duration found following this beam"
 msgstr ""
 
-#: lexer.ll:178
+#: lexer.ll:186
 msgid "EOF found inside a comment"
 msgstr ""
 
-#: lexer.ll:192
+#: lexer.ll:200
 msgid "\\maininput disallowed outside init files"
 msgstr ""
 
-#: lexer.ll:216
+#: lexer.ll:224
 #, c-format
 msgid "wrong or undefined identifier: `%s'"
 msgstr ""
 
 #. backup rule
-#: lexer.ll:225
+#: lexer.ll:233
 msgid "Missing end quote"
 msgstr ""
 
 #. backup rule
-#: lexer.ll:247 lexer.ll:251
+#: lexer.ll:255 lexer.ll:259
 msgid "white expected"
 msgstr ""
 
-#: lexer.ll:260
+#: lexer.ll:268
 msgid "Can't evaluate Scheme in safe mode"
 msgstr ""
 
-#: lexer.ll:364
+#: lexer.ll:397 lexer.ll:487
 msgid "Brace found at end of lyric.  Did you forget a space?"
 msgstr ""
 
-#: lexer.ll:480
+#: lexer.ll:574
 #, c-format
 msgid "invalid character: `%c'"
 msgstr ""
 
-#: lexer.ll:566
+#: lexer.ll:651
 #, c-format
 msgid "unknown escaped string: `\\%s'"
 msgstr ""
 
-#: lexer.ll:657
+#: lexer.ll:742
 #, c-format
 msgid "Incorrect lilypond version: %s (%s, %s)"
 msgstr ""
 
-#: lexer.ll:658
+#: lexer.ll:743
 msgid "Consider updating the input with the convert-ly script"
 msgstr ""
index 58ba68be2c44feb03eee0a10f234ede65a9027de..21deae4401d0763f35ac793448cc4fcf257d2a18 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -10,7 +10,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: lilypond 1.4.6\n"
-"POT-Creation-Date: 2002-08-18 17:05+0200\n"
+"POT-Creation-Date: 2003-07-18 14:45+0200\n"
 "PO-Revision-Date: 2001-09-09 17:34+0200\n"
 "Last-Translator: Jan Nieuwenhuizen <janneke@gnu.org>\n"
 "Language-Team: Dutch <nl@li.org>\n"
@@ -23,405 +23,1181 @@ msgstr ""
 "--add-comments --keyword=_\n"
 "Files: bow.cc int.cc\n"
 
-#: lilypond-book.py:1019 ly2dvi.py:458 ly2dvi.py:491
-#, c-format
-msgid "Running %s..."
-msgstr "Uitvoeren %s..."
+#. this is where special info is often stored
+#. ###############################################################
+#. lilylib.py -- options and stuff
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. ##  subst:\(^\|[^._a-z]\)\(abspath\|identify\|warranty\|progress\|warning\|error\|exit\|getopt_args\|option_help_str\|options_help_str\|help\|setup_temp\|read_pipe\|system\|cleanup_temp\|strip_extension\|cp_to_dir\|mkdir_p\|init\) *(
+#. ##  replace:\1ly.\2 (
+#. ## subst: \(help_summary\|keep_temp_dir_p\|option_definitions\|original_dir\|program_name\|pseudo_filter_p\|temp_dir\|verbose_p\)
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. lilylib globals
+#: lilylib.py:60
+msgid "lilylib module"
+msgstr ""
+
+#: lilylib.py:63 lilypond-book.py:131 ly2dvi.py:128 midi2ly.py:100
+#: mup2ly.py:75 main.cc:111
+msgid "this help"
+msgstr "deze hulp"
 
-#: ly2dvi.py:118
-msgid ""
-"Distributed under terms of the GNU General Public License.  It comes with NO "
-"WARRANTY."
+#. ###############################################################
+#. Handle bug in Python 1.6-2.1
+#.
+#. there are recursion limits for some patterns in Python 1.6 til 2.1.
+#. fix this by importing pre instead. Fix by Mats.
+#. Attempt to fix problems with limited stack size set by Python!
+#. Sets unlimited stack size. Note that the resource module only
+#. is available on UNIX.
+#: lilylib.py:114 midi2ly.py:136 mup2ly.py:130 main.cc:188 main.cc:200
+#, c-format, python-format
+msgid "Copyright (c) %s by"
+msgstr "Copyright (c) %s "
+
+#: lilylib.py:114
+msgid " 1998--2003"
 msgstr ""
 
-#: ly2dvi.py:125 midi2ly.py:148 mup2ly.py:143 update-lily.py:137 input.cc:87
+#: lilylib.py:118
+msgid "Distributed under terms of the GNU General Public License."
+msgstr ""
+
+#: lilylib.py:120
+msgid "It comes with NO WARRANTY."
+msgstr ""
+
+#: lilylib.py:127 midi2ly.py:150 mup2ly.py:144 input.cc:88
 msgid "warning: "
 msgstr "waarschuwing: "
 
-#: ly2dvi.py:128 ly2dvi.py:143 midi2ly.py:163 midi2ly.py:1012 midi2ly.py:1081
-#: mup2ly.py:146 mup2ly.py:160 update-lily.py:152 update-lily.py:458
-#: input.cc:92
+#. lots of midi files use plain text for lyric events
+#. FIXME: read from stdin when files[0] = '-'
+#: lilylib.py:130 midi2ly.py:165 midi2ly.py:1018 midi2ly.py:1083 mup2ly.py:147
+#: mup2ly.py:161 input.cc:93
 msgid "error: "
 msgstr "fout: "
 
-#: ly2dvi.py:144 midi2ly.py:164 mup2ly.py:161 update-lily.py:153
-msgid "Exiting ... "
+#: lilylib.py:134
+#, fuzzy, python-format
+msgid "Exiting (%d)..."
 msgstr "Beëidigen ..."
 
-#: ly2dvi.py:202 midi2ly.py:222 mup2ly.py:219 update-lily.py:211
-#, c-format
+#: lilylib.py:194 midi2ly.py:224 mup2ly.py:220
+#, python-format
 msgid "Usage: %s [OPTION]... FILE"
 msgstr "Gebruik: %s [OPTIE]... BESTAND"
 
-#: ly2dvi.py:206 midi2ly.py:226 mup2ly.py:223 update-lily.py:215 main.cc:166
+#: lilylib.py:198 midi2ly.py:228 mup2ly.py:224 main.cc:166
 msgid "Options:"
 msgstr "Opties:"
 
-#: ly2dvi.py:210 midi2ly.py:230 mup2ly.py:227 update-lily.py:219 main.cc:172
-#, c-format
+#: lilylib.py:202 midi2ly.py:232 mup2ly.py:228 main.cc:172
+#, c-format, python-format
 msgid "Report bugs to %s"
 msgstr ""
 "Meld luizen in het programma aan %s;\n"
 "meld onjuistheden in de vertaling aan <janneke@gnu.org> of <hanwen@cs.uu.nl>"
 
-#: ly2dvi.py:238 midi2ly.py:258 mup2ly.py:255 update-lily.py:247
-#, c-format
+#: lilylib.py:228
+#, fuzzy, python-format
+msgid "Opening pipe `%s'"
+msgstr "Schoonmaken van `%s'..."
+
+#. successful pipe close returns 'None'
+#: lilylib.py:240
+#, python-format
+msgid "`%s' failed (%d)"
+msgstr ""
+
+#: lilylib.py:242 lilylib.py:289 lilypond-book.py:231 ly2dvi.py:512
+msgid "The error log is as follows:"
+msgstr ""
+
+#: lilylib.py:262 midi2ly.py:260 mup2ly.py:256
+#, python-format
 msgid "Invoking `%s'"
 msgstr "Uitvoeren `%s'"
 
-#: ly2dvi.py:243 midi2ly.py:262 mup2ly.py:260 update-lily.py:251
-#, c-format
-msgid "command exited with value %d"
-msgstr "opdracht eindigde met waarde %d"
+#: lilylib.py:264
+#, python-format
+msgid "Running %s..."
+msgstr "Uitvoeren %s..."
+
+#: lilylib.py:282
+#, python-format
+msgid "`%s' failed (%s)"
+msgstr ""
 
-#: ly2dvi.py:246 midi2ly.py:264 mup2ly.py:263 update-lily.py:253
+#: lilylib.py:285 midi2ly.py:266 mup2ly.py:264
 msgid "(ignored)"
 msgstr "(genegeerd)"
 
-#: ly2dvi.py:256 midi2ly.py:274 mup2ly.py:273 update-lily.py:263
-#, c-format
+#: lilylib.py:299 midi2ly.py:276 mup2ly.py:274
+#, python-format
 msgid "Cleaning %s..."
 msgstr "Schoonmaken %s..."
 
-#: ly2dvi.py:330
-msgid "Run LilyPond using LaTeX for titling"
+#. Duh.  Python style portable: cp *.EXT OUTDIR
+#. system ('cp *.%s %s' % (ext, outdir), 1)
+#. Python < 1.5.2 compatibility
+#.
+#. On most platforms, this is equivalent to
+#. `normpath(join(os.getcwd()), PATH)'.  *Added in Python version 1.5.2*
+#. tex needs lots of memory, more than it gets by default on Debian
+#. TODO: * prevent multiple addition.
+#. * clean TEXINPUTS, MFINPUTS, TFMFONTS,
+#. as these take prevalence over $TEXMF
+#. and thus may break tex run?
+#. $TEXMF is special, previous value is already taken care of
+#. # -sOutputFile does not work with bbox?
+#. # todo:
+#. # have better algorithm for deciding when to crop page,
+#. # and when to show full page
+#: lilylib.py:458
+msgid "Removing output file"
+msgstr ""
+
+#. !@PYTHON@
+#. once upon a rainy monday afternoon.
+#.
+#. ...
+#.
+#. (not finished.)
+#. ABC standard v1.6:  http://www.gre.ac.uk/~c.walshaw/abc2mtex/abc.txt
+#.
+#. Enhancements  (Roy R. Rankin)
+#.
+#. Header section moved to top of lilypond file
+#. handle treble, treble-8, alto, and bass clef
+#. Handle voices (V: headers) with clef and part names, multiple voices
+#. Handle w: lyrics with multiple verses
+#. Handle key mode names for minor, major, phrygian, ionian, locrian, aeolian,
+#. mixolydian, lydian, dorian
+#. Handle part names from V: header
+#. Tuplets handling fixed up
+#. Lines starting with |: not discarded as header lines
+#. Multiple T: and C: header entries handled
+#. Accidental maintained until next bar check
+#. Silent rests supported
+#. articulations fermata, upbow, downbow, ltoe, accent, tenuto supported
+#. Chord strings([-^]"string") can contain a '#'
+#. Header fields enclosed by [] in notes string processed
+#. W: words output after tune as abc2ps does it (they failed before)
+#. Enhancements (Laura Conrad)
+#.
+#. Barring now preserved between ABC and lilypond
+#. the default placement for text in abc is above the staff.
+#. %%LY now supported.
+#. \breve and \longa supported.
+#. M:none doesn't crash lily.
+#. Limitations
+#.
+#. Multiple tunes in single file not supported
+#. Blank T: header lines should write score and open a new score
+#. Not all header fields supported
+#. ABC line breaks are ignored
+#. Block comments generate error and are ignored
+#. Postscript commands are ignored
+#. lyrics not resynchronized by line breaks (lyrics must fully match notes)
+#. %%LY slyrics can't be directly before a w: line.
+#. ???
+#. TODO:
+#.
+#. Convert to new chord styles.
+#.
+#. UNDEF -> None
+#.
+#. uGUHGUHGHGUGH
+#. UGH
+#. treble8 is used by abctab2ps; -8va is used by barfly,
+#. and by my patch to abc2ps. If there's ever a standard
+#. about this we'll support that.
+#. find keywork
+#. assume that Q takes the form "Q:1/4=120"
+#. There are other possibilities, but they are deprecated
+#. outf.write ("\t\t\\consists Staff_margin_engraver\n")
+#. pitch manipulation. Tuples are (name, alteration).
+#. 0 is (central) C. Alteration -1 is a flat, Alteration +1 is a sharp
+#. pitch in semitones.
+#. abc to lilypond key mode names
+#. semitone shifts for key mode names
+#. latex does not like naked #'s
+#. latex does not like naked "'s
+#. break lyrics to words and put "'s around words containing numbers and '"'s
+#. escape "
+#. _ causes probs inside ""
+#. _ to ' _ '
+#. split words with -
+#. unless \-
+#. ~ to space('_')
+#. * to to space
+#. latex does not like naked #'s
+#. put numbers and " and ( into quoted string
+#. insure space between lines
+#. title
+#. strip trailing blanks
+#. Meter
+#. KEY
+#. seperate clef info
+#. there may or may not be a space
+#. between the key letter and the mode
+#. ugh.
+#. ugh.
+#. Notes
+#. Origin
+#. Reference Number
+#. Area
+#. History
+#. Book
+#. Composer
+#. Default note length
+#. Voice
+#. Words
+#. vocals
+#. tempo
+#. we use in this order specified accidental, active accidental for bar,
+#. active accidental for key
+#. (num /  den)  / defaultlen < 1/base
+#. return (str, num,den,dots)
+#. ignore slide
+#. ignore roll
+#. s7m2 input doesnt care about spaces
+#.
+#. remember accidental for rest of bar
+#.
+#. get accidental set in this bar or UNDEF if not set
+#. WAT IS ABC EEN ONTZETTENDE PROGRAMMEERPOEP  !
+#. failed; not a note!
+#. escape '#'s
+#.
+#. |] thin-thick double bar line
+#. || thin-thin double bar line
+#. [| thick-thin double bar line
+#. :| left repeat
+#. |: right repeat
+#. :: left-right repeat
+#. |1 volta 1
+#. |2 volta 2
+#. first try the longer one
+#. bracket escape
+#. the nobarlines option is necessary for an abc to lilypond translator for
+#. exactly the same reason abc2midi needs it: abc requires the user to enter
+#. the note that will be printed, and MIDI and lilypond expect entry of the
+#. pitch that will be played.
+#.
+#. In standard 19th century musical notation, the algorithm for translating
+#. between printed note and pitch involves using the barlines to determine
+#. the scope of the accidentals.
+#.
+#. Since ABC is frequently used for music in styles that do not use this
+#. convention, such as most music written before 1700, or ethnic music in
+#. non-western scales, it is necessary to be able to tell a translator that
+#. the barlines should not affect its interpretation of the pitch.
+#. write other kinds of appending  if we ever need them.
+#. add comments to current voice
+#. Try nibbling characters off until the line doesn't change.
+#. dump_global (outf)
+#. !@PYTHON@
+#.
+#. convert-ly.py -- Update old LilyPond input files (fix name?)
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. TODO
+#. use -f and -t for -s output
+#. NEWS
+#. 0.2
+#. - rewrite in python
+#. Did we ever have \mudela-version?  I doubt it.
+#. lilypond_version_re_str = '\\\\version *\"(.*)\"'
+#. ###########################
+#. need new a namespace
+#. raise FatalConversionError()
+#. need new a namespace
+#. harmful to current .lys
+#. str = re.sub ('\\\\key([^;]+);', '\\\\accidentals \\1;', str)
+#. raise FatalConversionError()
+#. raise FatalConversionError()
+#. raise FatalConversionError()
+#. TODO: lots of other syntax change should be done here as well
+#. Ugh, but meaning of \stemup changed too
+#. maybe we should do \stemup -> \stemUp\slurUp\tieUp ?
+#. I don't know exactly when these happened...
+#. ugh, we loose context setting here...
+#. (lacks capitalisation slur -> Slur)
+#. # dynamic..
+#. TODO: add lots of these
+#. ugh
+#. old fix
+#. Make sure groups of more than one ; have space before
+#. them, so that non of them gets removed by next rule
+#. Only remove ; that are not after spaces, # or ;
+#. Otherwise  we interfere with Scheme comments,
+#. which is badbadbad.
+#. 40 ?
+#. ###############################
+#. END OF CONVERSIONS
+#. ###############################
+#. !@PYTHON@
+#. info mostly taken from looking at files. See also
+#. http://lilypond.org/wiki/?EnigmaTransportFormat
+#. This supports
+#.
+#. * notes
+#. * rests
+#. * ties
+#. * slurs
+#. * lyrics
+#. * articulation
+#. * grace notes
+#. * tuplets
+#.
+#. todo:
+#. * slur/stem directions
+#. * voices (2nd half of frame?)
+#. * more intelligent lyrics
+#. * beams (better use autobeam?)
+#. * more robust: try entertainer.etf (freenote)
+#. * dynamics
+#. * empty measures (eg. twopt03.etf from freenote)
+#.
+#. uGUHGUHGHGUGH
+#. notename 0 == central C
+#. represent pitches as (notename, alteration), relative to C-major scale
+#. a fifth up
+#. should cache this.
+#. flag1 isn't all that interesting.
+#. 3: '>',
+#. 18: '\arpeggio' ,
+#. do grace notes.
+#. ugh.
+#. we don't attempt voltas since they fail easily.
+#. and g.repeat_bar == '|:' or g.repeat_bar == ':|:' or g.bracket:
+#. 4 layers.
+#. let's not do this: this really confuses when eE happens to be before  a ^text.
+#. if last_tag and last_indices:
+#. etf_file_dict[last_tag][last_indices].append (l)
+#. # do it
+#. staff-spec
+#. should use \addlyrics ?
+#. !@PYTHON@
+#. vim: set noexpandtab:
+#. This is was the idea for handling of comments:
+#. Multiline comments, @ignore .. @end ignore is scanned for
+#. in read_doc_file, and the chunks are marked as 'ignore', so
+#. lilypond-book will not touch them any more. The content of the
+#. chunks are written to the output file. Also 'include' and 'input'
+#. regex has to check if they are commented out.
+#.
+#. Then it is scanned for 'lilypond', 'lilypond-file' and 'lilypond-block'.
+#. These three regex's has to check if they are on a commented line,
+#. % for latex, @c for texinfo.
+#.
+#. Then lines that are commented out with % (latex) and @c (Texinfo)
+#. are put into chunks marked 'ignore'. This cannot be done before
+#. searching for the lilypond-blocks because % is also the comment character
+#. for lilypond.
+#.
+#. The the rest of the rexeces are searched for. They don't have to test
+#. if they are on a commented out line.
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. if __name__ == '__main__':
+#. lilylib globals
+#. temp_dir = os.path.join (original_dir,  '%s.dir' % program_name)
+#. urg
+#. # FIXME
+#. # ly2dvi: silly name?
+#. # do -P or -p by default?
+#. #help_summary = _ ("Run LilyPond using LaTeX for titling")
+#: lilypond-book.py:120
+msgid "Process LilyPond snippets in hybrid html, LaTeX or texinfo document"
 msgstr ""
 
-#: ly2dvi.py:334 main.cc:115
-msgid "write Makefile dependencies for every input file"
-msgstr "schrijf Makefile afhankelijkheden voor elk invoerbestand"
+#. another bug in option parser: --output=foe is taken as an abbreviation
+#. for --output-format
+#: lilypond-book.py:125 main.cc:110
+msgid "EXT"
+msgstr "EXT"
 
-#: ly2dvi.py:335 midi2ly.py:98 mup2ly.py:74 update-lily.py:87 main.cc:111
-msgid "this help"
-msgstr "deze hulp"
+#: lilypond-book.py:125
+#, fuzzy
+msgid "use output format EXT (texi [default], texi-html, latex, html)"
+msgstr "gebruik uitvoer formaat EXT (scm, ps, tex of as)"
+
+#: lilypond-book.py:126 lilypond-book.py:127 lilypond-book.py:129
+#: lilypond-book.py:130
+#, fuzzy
+msgid "DIM"
+msgstr "DIR"
+
+#: lilypond-book.py:126
+msgid "default fontsize for music.  DIM is assumed to be in points"
+msgstr ""
+
+#: lilypond-book.py:127
+msgid "deprecated, use --default-music-fontsize"
+msgstr ""
 
-#: ly2dvi.py:336 main.cc:113 main.cc:118
+#: lilypond-book.py:128
+msgid "OPT"
+msgstr ""
+
+#: lilypond-book.py:128
+msgid "pass OPT quoted to the lilypond command line"
+msgstr ""
+
+#: lilypond-book.py:129
+msgid "force fontsize for all inline lilypond. DIM is assumed be to in points"
+msgstr ""
+
+#: lilypond-book.py:130
+msgid "deprecated, use --force-music-fontsize"
+msgstr ""
+
+#: lilypond-book.py:132 ly2dvi.py:130 main.cc:113 main.cc:118
 msgid "DIR"
 msgstr "DIR"
 
-#: ly2dvi.py:336
+#: lilypond-book.py:132
+msgid "include path"
+msgstr ""
+
+#: lilypond-book.py:133
+#, fuzzy
+msgid "write dependencies"
+msgstr "voeg DIR voor aan afhankelijkheden"
+
+#: lilypond-book.py:134
+msgid "PREF"
+msgstr ""
+
+#: lilypond-book.py:134
+#, fuzzy
+msgid "prepend PREF before each -M dependency"
+msgstr "voeg DIR voor aan afhankelijkheden"
+
+#: lilypond-book.py:135
+#, fuzzy
+msgid "don't run lilypond"
+msgstr "draai LilyPond niet"
+
+#: lilypond-book.py:136
+msgid "don't generate pictures"
+msgstr ""
+
+#: lilypond-book.py:137
+msgid "strip all lilypond blocks from output"
+msgstr ""
+
+#: lilypond-book.py:138 lilypond-book.py:139 ly2dvi.py:135 ly2dvi.py:136
+#: midi2ly.py:102 main.cc:114 main.cc:117
+msgid "FILE"
+msgstr "BESTAND"
+
+#: lilypond-book.py:138
+msgid "filename main output file"
+msgstr ""
+
+#: lilypond-book.py:139
+msgid "where to place generated files"
+msgstr ""
+
+#: lilypond-book.py:140 ly2dvi.py:137
+msgid "RES"
+msgstr ""
+
+#: lilypond-book.py:141 ly2dvi.py:138
+msgid "set the resolution of the preview to RES"
+msgstr ""
+
+#: lilypond-book.py:142 ly2dvi.py:148 midi2ly.py:105 mup2ly.py:78 main.cc:126
+msgid "verbose"
+msgstr "breedsprakig"
+
+#: lilypond-book.py:143
+#, fuzzy
+msgid "print version information"
+msgstr "druk versienummer af"
+
+#: lilypond-book.py:144 ly2dvi.py:150 midi2ly.py:107 mup2ly.py:80 main.cc:127
+msgid "show warranty and copyright"
+msgstr "toon garantie en auteursrechten"
+
+#. format specific strings, ie. regex-es for input, and % strings for output
+#. global variables
+#. lilypond_binary = 'valgrind --suppressions=/home/hanwen/usr/src/guile-1.6.supp  --num-callers=10 /home/hanwen/usr/src/lilypond/lily/out/lilypond'
+#. only use installed binary  when we're installed too.
+#. only use installed binary  when we're installed too.
+#. ###############################################################
+#. Dimension handling for LaTeX.
+#.
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#: lilypond-book.py:230
+msgid "LaTeX failed."
+msgstr ""
+
+#. URG see ly2dvi
+#. Convert numeric values, with or without specific dimension, to floats.
+#. Keep other strings
+#. ###############################################################
+#. How to output various structures.
+#. # maybe <hr> ?
+#. Verbatim text is always finished with \n.  FIXME: For HTML,
+#. this newline should be removed.
+#. Verbatim text is always finished with \n.  FIXME: For HTML,
+#. this newline should be removed.
+#. # Ugh we need to differentiate on origin:
+#. # lilypond-block origin wants an extra <p>, but
+#. # inline music doesn't.
+#. # possibly other center options?
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. do some tweaking: @ is needed in some ps stuff.
+#.
+#. ugh, the <p> below breaks inline images...
+#. clumsy workaround for python 2.2 pre bug.
+#. ###############################################################
+#. Recognize special sequences in the input
+#. Warning: This uses extended regular expressions.  Tread with care.
+#.
+#. legenda
+#.
+#. (?P<name>regex) -- assign result of REGEX to NAME
+#. *? -- match non-greedily.
+#. (?m) -- multiline regex: make ^ and $ match at each line
+#. (?s) -- make the dot match all characters including newline
+#. why do we have distinction between @mbinclude and @include?
+#. # we'd like to catch and reraise a more
+#. # detailed error, but alas, the exceptions
+#. # changed across the 1.5/2.1 boundary.
+#. ughUGH not original options
+#. First we want to scan the \documentclass line
+#. it should be the first non-comment line.
+#. The only thing we really need to know about the \documentclass line
+#. is if there are one or two columns to begin with.
+#. Then we add everything before \begin{document} to
+#. paperguru.m_document_preamble so that we can later write this header
+#. to a temporary file in find_latex_dims() to find textwidth.
+#. this is not bulletproof..., it checks the first 10 chunks
+#. newchunks.extend (func (m))
+#. python 1.5 compatible:
+#. we have to check for verbatim before doing include,
+#. because we don't want to include files that are mentioned
+#. inside a verbatim environment
+#. ugh fix input
+#. # Hmm, we should hash only lilypond source, and skip the
+#. # %options are ...
+#. # comment line
+#. # todo: include path, but strip
+#. # first part of the path.
+#. format == 'html'
+#. ugh rename
+#. Count sections/chapters.
+#. # TODO: do something like
+#. # this for texinfo/latex as well ?
+#. ugh
+#. fixme: be sys-independent.
+#.
+#. Ugh, fixing up dependencies for .tex generation
+#.
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#. # There used to be code to write .tex dependencies, but
+#. # that is silly: lilypond-book has its own dependency scheme
+#. # to ensure that all lily-XXX.tex files are there
+#. # TODO: put file name in front of texidoc.
+#. #
+#. # what's this? Docme --hwn
+#. #
+#. #docme: why global?
+#. Do It.
+#. should chmod -w
+#: lilypond-book.py:1557 ly2dvi.py:673 midi2ly.py:1018
+#, python-format
+msgid "getopt says: `%s'"
+msgstr "getopt zegt: `%s'"
+
+#. HACK
+#. status = os.system ('lilypond -w')
+#: lilypond-book.py:1630 ly2dvi.py:777
+#, fuzzy
+msgid "no files specified on command line"
+msgstr "geen bestanden gespecificeerd op de commandoregel."
+
+#.
+#. Petr, ik zou willen dat ik iets zinvoller deed,
+#. maar wat ik kan ik doen, het verandert toch niets?
+#. --hwn 20/aug/99
+#. !@PYTHON@
+#.
+#. ly2dvi.py -- Run LilyPond, add titles to bare score, generate printable
+#. document
+#. Invokes: lilypond, latex (or pdflatex), dvips, ps2pdf, gs
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. This is the third incarnation of ly2dvi.
+#.
+#. Earlier incarnations of ly2dvi were written by
+#. Jeffrey B. Reed<daboys@austin.rr.com> (Python version)
+#. Jan Arne Fagertun <Jan.A.Fagertun@@energy.sintef.no> (Bourne shell script)
+#.
+#. Note: gettext work best if we use ' for docstrings and "
+#. for gettextable strings.
+#. --> DO NOT USE ''' for docstrings.
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. if __name__ == '__main__':
+#. lilylib globals
+#. # FIXME
+#. # ly2dvi: silly name?
+#. # do -P or -p by default?
+#. #help_summary = _ ("Run LilyPond using LaTeX for titling")
+#: ly2dvi.py:121
+msgid "Run LilyPond, add titles, generate printable document"
+msgstr ""
+
+#: ly2dvi.py:127 main.cc:115
+msgid "write Makefile dependencies for every input file"
+msgstr "schrijf Makefile afhankelijkheden voor elk invoerbestand"
+
+#: ly2dvi.py:129
+msgid "print even more output"
+msgstr ""
+
+#: ly2dvi.py:130
 msgid "add DIR to LilyPond's search path"
 msgstr "voeg DIR toe aan LilyPonds zoekpad"
 
-#: ly2dvi.py:338
-#, fuzzy, c-format
+#: ly2dvi.py:132
+#, fuzzy, python-format
 msgid "keep all output, output to directory %s.dir"
 msgstr "bewaar alle uitvoer, en noem de directory %s.dir"
 
-#: ly2dvi.py:339
+#: ly2dvi.py:133
 msgid "don't run LilyPond"
 msgstr "draai LilyPond niet"
 
-#: ly2dvi.py:340 main.cc:116
+#: ly2dvi.py:134 main.cc:116
 msgid "produce MIDI output only"
 msgstr "produceer alleen MIDI uitvoer"
 
-#: ly2dvi.py:341 ly2dvi.py:342 midi2ly.py:100 main.cc:114 main.cc:117
-msgid "FILE"
-msgstr "BESTAND"
-
-#: ly2dvi.py:341 midi2ly.py:100
+#: ly2dvi.py:135 midi2ly.py:102
 msgid "write ouput to FILE"
 msgstr "schrijf uitvoer naar BESTAND"
 
-#: ly2dvi.py:342
+#: ly2dvi.py:136
 msgid "find pfa fonts used in FILE"
 msgstr "zoek pfa fonts gebruikt in BESTAND"
 
-#: ly2dvi.py:344
-msgid "set the resolution of the preview to RES"
+#: ly2dvi.py:139
+msgid "generate PostScript output"
+msgstr "genereer PostScipt uitvoer"
+
+#: ly2dvi.py:140
+msgid "generate PNG page images"
 msgstr ""
 
-#: ly2dvi.py:345
-msgid "generate PostScript output"
+#: ly2dvi.py:141
+#, fuzzy
+msgid "generate PS.GZ"
 msgstr "genereer PostScipt uitvoer"
 
-#: ly2dvi.py:346
+#: ly2dvi.py:142
 #, fuzzy
 msgid "generate PDF output"
 msgstr "genereer PostScipt uitvoer"
 
-#: ly2dvi.py:347
+#: ly2dvi.py:143
 msgid "use pdflatex to generate a PDF output"
 msgstr ""
 
-#: ly2dvi.py:349
+#. FIXME: preview, picture; to indicate creation of a PNG?
+#: ly2dvi.py:145
 msgid "make a picture of the first system"
 msgstr ""
 
-#: ly2dvi.py:350
+#: ly2dvi.py:146
+msgid "make HTML file with links to all output"
+msgstr ""
+
+#: ly2dvi.py:147
 msgid "KEY=VAL"
 msgstr "SEUTEL=WAARDE"
 
-#: ly2dvi.py:350
+#: ly2dvi.py:147
 msgid "change global setting KEY to VAL"
 msgstr "verander globale instelling SLEUTEL in WAARDE"
 
-#: ly2dvi.py:351 midi2ly.py:103 mup2ly.py:77 update-lily.py:91 main.cc:126
-msgid "verbose"
-msgstr "breedsprakig"
-
-#: ly2dvi.py:352 midi2ly.py:104 mup2ly.py:78 update-lily.py:92 main.cc:125
+#: ly2dvi.py:149 midi2ly.py:106 mup2ly.py:79 main.cc:125
 msgid "print version number"
 msgstr "druk versienummer af"
 
-#: ly2dvi.py:353 midi2ly.py:105 mup2ly.py:79 update-lily.py:94 main.cc:127
-msgid "show warranty and copyright"
-msgstr "toon garantie en auteursrechten"
-
-#: ly2dvi.py:448
-#, fuzzy, c-format
+#. other globals
+#. Pdftex support
+#. # yuk.
+#. lilypond_binary = 'valgrind --suppressions=%(home)s/usr/src/guile-1.6.supp --num-callers=10 %(home)s/usr/src/lilypond/lily/out/lilypond '% { 'home' : '/home/hanwen' }
+#. only use installed binary  when we're installed too.
+#. init to empty; values here take precedence over values in the file
+#. # TODO: change name.
+#. for geometry v3
+#. Output formats that ly2dvi should create
+#. what a name.
+#. ly.warning (_ ("invalid value: %s") % `val`)
+#. ly.warning (_ ("invalid value: %s") % `val`)
+#: ly2dvi.py:232
+#, fuzzy, python-format
 msgid "no such setting: `%s'"
 msgstr "geen dergelijke instelling: %s"
 
-#: ly2dvi.py:508
-#, c-format
+#. 2 == user interrupt.
+#: ly2dvi.py:274
+#, python-format
 msgid "LilyPond crashed (signal %d)."
 msgstr ""
 
-#: ly2dvi.py:509
+#: ly2dvi.py:275
 msgid "Please submit a bug report to bug-lilypond@gnu.org"
 msgstr ""
 
-#: ly2dvi.py:513
-#, c-format
-msgid "LilyPond failed on the input file (exit status %d)."
+#: ly2dvi.py:281
+#, python-format
+msgid "LilyPond failed on input file %s (exit status %d)"
 msgstr ""
 
-#: ly2dvi.py:522
-#, c-format
+#: ly2dvi.py:284
+#, python-format
+msgid "LilyPond failed on an input file (exit status %d)"
+msgstr ""
+
+#: ly2dvi.py:285
+#, fuzzy
+msgid "Continuing..."
+msgstr "Uitvoeren %s..."
+
+#. urg
+#: ly2dvi.py:296
+#, python-format
 msgid "Analyzing %s..."
 msgstr "Analyseer %s..."
 
-#: ly2dvi.py:578
-#, fuzzy, c-format
+#. search only the first 10k
+#: ly2dvi.py:354
+#, fuzzy, python-format
 msgid "no LilyPond output found for `%s'"
 msgstr "geen lilypond uitvoer gevonden voor %s"
 
-#: ly2dvi.py:618
-#, fuzzy, c-format
+#. The final \n seems important here. It ensures that the footers and taglines end up on the right page.
+#. TODO: should set textheight (enlarge) depending on papersize.
+#: ly2dvi.py:397
+#, fuzzy, python-format
 msgid "invalid value: `%s'"
 msgstr "ongeldige waarde: %s"
 
-#: ly2dvi.py:724
+#. set sane geometry width (a4-width) for linewidth = -1.
+#. who the hell is 597 ?
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#: ly2dvi.py:511
 msgid "LaTeX failed on the output file."
 msgstr ""
 
-#: ly2dvi.py:726
-msgid "The error log is as follows:"
+#. make a preview by rendering only the 1st line
+#. of each score
+#: ly2dvi.py:568
+msgid ""
+"Trying create PDF, but no PFA fonts found.\n"
+"Using bitmap fonts instead. This will look bad."
 msgstr ""
 
-#: ly2dvi.py:849
-#, c-format
+#. ugh. Different targets?
+#. Added as functionality to ly2dvi, because ly2dvi may well need to do this
+#. in future too.
+#. no ps header?
+#: ly2dvi.py:615
+#, python-format
 msgid "not a PostScript file: `%s'"
 msgstr "geen PostScript bestand: `%s'"
 
-#: ly2dvi.py:865 midi2ly.py:1012 update-lily.py:458
-#, c-format
-msgid "getopt says: `%s'"
-msgstr "getopt zegt: `%s'"
+#. todo
+#: ly2dvi.py:660
+#, fuzzy, python-format
+msgid "Writing HTML menu `%s'"
+msgstr "Schrijven van `%s'..."
 
-#: ly2dvi.py:948
+#. signal programming error
+#. Don't convert input files to abspath, rather prepend '.' to include
+#. path.
+#. As a neat trick, add directory part of first input file
+#. to include path.  That way you can do without the clumsy -I in:
+#. ly2dvi -I foe/bar/baz foo/bar/baz/baz.ly
+#: ly2dvi.py:769
 msgid "pseudo filter"
 msgstr ""
 
-#: ly2dvi.py:951
+#: ly2dvi.py:772
 msgid "pseudo filter only for single input file"
 msgstr ""
 
-#: ly2dvi.py:980
-#, fuzzy, c-format
+#. Ugh, maybe make a setup () function
+#. hmmm. Wish I'd 've written comments when I wrote this.
+#. now it looks complicated.
+#: ly2dvi.py:806
+#, fuzzy, python-format
 msgid "filename should not contain spaces: `%s'"
 msgstr "Bevat reeds: `%s'"
 
-#: ly2dvi.py:1076 input-file-results.cc:67
-#, c-format
+#. to be sure, add tmpdir *in front* of inclusion path.
+#. os.environ['TEXINPUTS'] =  tmpdir + ':' + os.environ['TEXINPUTS']
+#. We catch all exceptions, because we need to do stuff at exit:
+#. * copy any successfully generated stuff from tempdir and
+#. notify user of that
+#. * cleanout tempdir
+#. ## ARGH. This also catches python programming errors.
+#. ## this should only catch lilypond nonzero exit  status
+#. ## --hwn
+#. TODO: friendly message about LilyPond setup/failing?
+#.
+#: ly2dvi.py:845
+msgid "Running LilyPond failed. Rerun with --verbose for a trace."
+msgstr ""
+
+#. Our LilyPond pseudo filter always outputs to 'lelie'
+#. have subsequent stages and use 'lelie' output.
+#. unless: add --tex, or --latex?
+#. TODO: friendly message about TeX/LaTeX setup,
+#. trying to run tex/latex by hand
+#: ly2dvi.py:886
+msgid "Failed to make PS file. Rerun with --verbose for a trace."
+msgstr ""
+
+#. unless: add --tex, or --latex?
+#. TODO: friendly message about TeX/LaTeX setup,
+#. trying to run tex/latex by hand
+#: ly2dvi.py:916
+msgid "Running LaTeX falied. Rerun with --verbose for a trace."
+msgstr ""
+
+#. add DEP to targets?
+#: ly2dvi.py:926 input-file-results.cc:68
+#, c-format, python-format
 msgid "dependencies output to `%s'..."
 msgstr "afhankelijkheden uitvoer naar `%s'..."
 
-#: ly2dvi.py:1090 ly2dvi.py:1104 includable-lexer.cc:49
-#: input-file-results.cc:187 input-file-results.cc:193 lily-guile.cc:97
-#, c-format
+#: ly2dvi.py:937
+#, fuzzy, python-format
+msgid "%s output to <stdout>..."
+msgstr "%s uitvoer naar `%s'..."
+
+#: ly2dvi.py:942 ly2dvi.py:968 includable-lexer.cc:57
+#: input-file-results.cc:191 input-file-results.cc:197 lily-guile.cc:86
+#, c-format, python-format
 msgid "can't find file: `%s'"
 msgstr "kan bestand niet vinden: `%s'"
 
-#: ly2dvi.py:1102 midi2ly.py:996
-#, c-format
-msgid "%s output to `%s'..."
+#. Hmm, if this were a function, we could call it the except: clauses
+#: ly2dvi.py:965
+#, fuzzy, python-format
+msgid "%s output to %s..."
 msgstr "%s uitvoer naar `%s'..."
 
-#: ly2dvi.py:1111
-#, fuzzy
-msgid "no files specified on command line"
-msgstr "geen bestanden gespecificeerd op de commandoregel."
-
-#: midi2ly.py:92
+#. !@PYTHON@
+#.
+#. midi2ly.py -- LilyPond midi import script
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. ###############################################################
+#. Users of python modules should include this snippet.
+#.
+#. This soon to be removed for: import lilypond.lilylib as ly
+#. ###############################################################
+#. ###############################################################
+#. ############### CONSTANTS
+#. ###############################################################
+#. temp_dir = os.path.join (original_dir,  '%s.dir' % program_name)
+#. original_dir = os.getcwd ()
+#. keep_temp_dir_p = 0
+#: midi2ly.py:94
 msgid "Convert MIDI to LilyPond source"
 msgstr ""
 
-#: midi2ly.py:95
+#: midi2ly.py:97
 msgid "print absolute pitches"
 msgstr ""
 
-#: midi2ly.py:96 midi2ly.py:101
+#: midi2ly.py:98 midi2ly.py:103
 msgid "DUR"
 msgstr "DUUR"
 
-#: midi2ly.py:96
+#: midi2ly.py:98
 msgid "quantise note durations on DUR"
 msgstr ""
 
-#: midi2ly.py:97
+#: midi2ly.py:99
 msgid "print explicit durations"
 msgstr ""
 
-#: midi2ly.py:99
+#: midi2ly.py:101
 #, fuzzy
 msgid "ALT[:MINOR]"
 msgstr "ACC[:MINEUR]"
 
-#: midi2ly.py:99
+#: midi2ly.py:101
 #, fuzzy
 msgid "set key: ALT=+sharps|-flats; MINOR=1"
 msgstr "zet toonsoort: ACC +kruizen/-mollen; :1 mineur"
 
-#: midi2ly.py:101
+#: midi2ly.py:103
 msgid "quantise note starts on DUR"
 msgstr ""
 
-#: midi2ly.py:102
+#: midi2ly.py:104
 msgid "DUR*NUM/DEN"
 msgstr ""
 
-#: midi2ly.py:102
+#: midi2ly.py:104
 msgid "allow tuplet durations DUR*NUM/DEN"
 msgstr ""
 
-#: midi2ly.py:106
+#: midi2ly.py:108
 msgid "treat every text as a lyric"
 msgstr ""
 
-#: midi2ly.py:1027
+#: midi2ly.py:136 mup2ly.py:130
+msgid " 2001--2003"
+msgstr ""
+
+#: midi2ly.py:141 mup2ly.py:135
+msgid ""
+"\n"
+"Distributed under terms of the GNU General Public License. It comes with\n"
+"NO WARRANTY."
+msgstr ""
+
+#: midi2ly.py:166 mup2ly.py:162
+msgid "Exiting ... "
+msgstr "Beëidigen ..."
+
+#: midi2ly.py:264 mup2ly.py:261
+#, python-format
+msgid "command exited with value %d"
+msgstr "opdracht eindigde met waarde %d"
+
+#. ###############################################################
+#. END Library
+#. ###############################################################
+#. hmm
+#. major scale: do-do
+#. minor scale: la-la  (= + 5) '''
+#. By tradition, all scales now consist of a sequence
+#. of 7 notes each with a distinct name, from amongst
+#. a b c d e f g.  But, minor scales have a wide
+#. second interval at the top - the 'leading note' is
+#. sharped. (Why? it just works that way! Anything
+#. else doesn't sound as good and isn't as flexible at
+#. saying things. In medieval times, scales only had 6
+#. notes to avoid this problem - the hexachords.)
+#. So, the d minor scale is d e f g a b-flat c-sharp d
+#. - using d-flat for the leading note would skip the
+#. name c and duplicate the name d.  Why isn't c-sharp
+#. put in the key signature? Tradition. (It's also
+#. supposedly based on the Pythagorean theory of the
+#. cycle of fifths, but that really only applies to
+#. major scales...)  Anyway, g minor is g a b-flat c d
+#. e-flat f-sharp g, and all the other flat minor keys
+#. end up with a natural leading note. And there you
+#. have it.
+#. John Sankey <bf250@freenet.carleton.ca>
+#.
+#. Let's also do a-minor: a b c d e f gis a
+#.
+#. --jcn
+#. as -> gis
+#. des -> cis
+#. ges -> fis
+#. g -> fisis
+#. d -> cisis
+#. a -> gisis
+#. b -> ces
+#. e -> fes
+#. f -> eis
+#. c -> bis
+#. # FIXME: compile fix --jcn
+#. TODO: move space
+#. fis cis gis dis ais eis bis
+#. bes es as des ges ces fes
+#. urg, we should be sure that we're in a lyrics staff
+#. all include ALL_NOTES_OFF
+#. ugh, must set key while parsing
+#. because Note init uses key
+#. Better do Note.calc () at dump time?
+#. last_lyric.clocks = t - last_time
+#. hmm
+#. urg, this will barf at meter changes
+#. urg LilyPond doesn't start at c4, but
+#. remembers from previous tracks!
+#. reference_note = Note (clocks_per_4, 4*12, 0)
+#. must be in \notes mode for parsing \skip
+#: midi2ly.py:1002
+#, python-format
+msgid "%s output to `%s'..."
+msgstr "%s uitvoer naar `%s'..."
+
+#: midi2ly.py:1033
 msgid "Example:"
 msgstr ""
 
-#: midi2ly.py:1081
+#: midi2ly.py:1083
 msgid "no files specified on command line."
 msgstr "geen bestanden gespecificeerd op de commandoregel."
 
-#: mup2ly.py:69
+#. !@PYTHON@
+#. mup2ly.py -- mup input converter
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c) 2001
+#. if set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#: mup2ly.py:70
 #, fuzzy
 msgid "Convert mup to LilyPond source"
 msgstr "Converteer mup naar ly"
 
-#: mup2ly.py:72
+#: mup2ly.py:73
 msgid "debug"
 msgstr "debug"
 
-#: mup2ly.py:73
+#: mup2ly.py:74
 msgid "define macro NAME [optional expansion EXP]"
 msgstr "definieer macro NAAM [optionele expansie EXP]"
 
-#: mup2ly.py:75 main.cc:117
+#: mup2ly.py:76 main.cc:117
 msgid "write output to FILE"
 msgstr "schrijf uitvoer naar BESTAND"
 
-#: mup2ly.py:76
+#: mup2ly.py:77
 msgid "only pre-process"
 msgstr "alleen pre-processen"
 
-#: mup2ly.py:1073
-#, c-format
+#. Duh.  Python style portable: cp *.EXT OUTDIR
+#. system ('cp *.%s %s' % (ext, outdir), 1)
+#. Python < 1.5.2 compatibility
+#.
+#. On most platforms, this is equivalent to
+#. `normpath(join(os.getcwd()), PATH)'.  *Added in Python version 1.5.2*
+#. if set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. ###############################################################
+#. END Library
+#.
+#. PMX cut and paste
+#.
+#. if not self.entries:
+#. #return '\n'
+#. #ugh ugh
+#. return '\n%s = {}\n\n' % self.idstring ()
+#. ugh
+#. def set_clef (self, letter):
+#. clstr = clef_table[letter]
+#. self.voices[0].add_nonchord (Clef (clstr))
+#. urg
+#. maybe use import copy?
+#. for i in self.pitches:
+#. ch.pitches.append (i)
+#. for i in self.scripts:
+#. ch.scripts.append (i)
+#. http://www.arkkra.com/doc/uguide/contexts.html
+#. #self.current_staffs = []
+#. duh
+#. FIXME: 1?
+#. FIXME: does key play any role in this?
+#. ch = self.current_voices[0].last_chord ()
+#. ch.basic_duration = self.current_voices[0].last_chord ().basic_duration
+#. ugh
+#. ch = self.current_voices[0].last_chord ()
+#. `;' is not a separator, chords end with ';'
+#. mup resets default duration and pitch each bar
+#. ugh: these (and lots more) should also be parsed in
+#. context staff.  we should have a class Staff_properties
+#. and parse/set all those.
+#. shortcut: set to official mup maximum (duh)
+#. self.set_staffs (40)
+#: mup2ly.py:1076
+#, python-format
 msgid "no such context: %s"
 msgstr "geen context als: `%s'"
 
-#: mup2ly.py:1297
-#, c-format
+#. hmm
+#. dig this: mup allows ifdefs inside macro bodies
+#. don't do nested multi-line defines
+#. duh: mup is strictly line-based, except for `define',
+#. which is `@' terminated and may span several lines
+#. don't define new macros in unactive areas
+#. To support nested multi-line define's
+#. process_function and macro_name, macro_body
+#. should become lists (stacks)
+#. The mup manual is undetermined on this
+#. and I haven't seen examples doing it.
+#.
+#. don't do nested multi-line define's
+#. writes to stdout for help2man
+#. don't call
+#. identify ()
+#. sys.stdout.flush ()
+#. handy emacs testing
+#. if not files:
+#. files = ['template.mup']
+#: mup2ly.py:1300
+#, python-format
 msgid "Processing `%s'..."
 msgstr "Verwerken van `%s'..."
 
-#: mup2ly.py:1316
-#, c-format
+#: mup2ly.py:1319
+#, python-format
 msgid "Writing `%s'..."
 msgstr "Schrijven van `%s'..."
 
-#: update-lily.py:76
-msgid "Fetch and rebuild from latest source package"
-msgstr "Grijp en herbouw van meest recente source pakket"
-
-#: update-lily.py:79
-#, c-format
-msgid "unpack and build in DIR [%s]"
-msgstr "pak uit en bouw in DIR [%s]"
-
-#: update-lily.py:80
-msgid "execute COMMAND, subtitute:"
-msgstr "voer COMMAND uit, substitueer:"
-
-#: update-lily.py:81
-msgid "%b: build root"
-msgstr "%b: bouw-root"
-
-#: update-lily.py:82
-#, c-format
-msgid "%n: package name"
-msgstr "%n: pakketnaam"
-
-#: update-lily.py:83
-msgid "%r: release directory"
-msgstr "%r: uitgave directory"
-
-#: update-lily.py:84
-msgid "%t: tarball"
-msgstr "%t: tar-bal"
-
-#: update-lily.py:85
-msgid "%v: package version"
-msgstr "%v: pakketversie"
-
-#: update-lily.py:88
-#, c-format
-msgid "keep all output, and name the directory %s"
-msgstr "bewaar alle uitvoer, en noem de directory %s"
-
-#: update-lily.py:89
-msgid "upon failure notify EMAIL[,EMAIL]"
-msgstr "bij fout bericht EMAIL[,EMAIL]"
-
-#: update-lily.py:90
-msgid "remove previous build"
-msgstr "verwijder vorige bouw"
-
-#: update-lily.py:93
-#, c-format
-msgid "fetch and build URL [%s]"
-msgstr "grijp en bouw URL [%s]"
-
-#: update-lily.py:429
-#, c-format
-msgid "Listing `%s'..."
-msgstr "Lijst van `%s'"
-
-#: update-lily.py:497
-#, c-format
-msgid "latest is: %s"
-msgstr "meest recente is: %s"
-
-#: update-lily.py:498
-#, c-format
-msgid "relax, %s is up to date"
-msgstr "ontspan, %s is bij de tijd"
-
-#: update-lily.py:507 update-lily.py:520
-#, c-format
-msgid "Fetching `%s'..."
-msgstr "Grijpen van `%s'..."
-
-#: update-lily.py:529
-#, c-format
-msgid "Building `%s'..."
-msgstr "Bouwen van `%s'..."
-
 #: getopt-long.cc:146
 #, c-format
 msgid "option `%s' requires an argument"
@@ -442,52 +1218,57 @@ msgstr "onbekende optie: `%s'"
 msgid "invalid argument `%s' to option `%s'"
 msgstr "onjuist argument: `%s' voor optie `%s'"
 
-#: warn.cc:24
+#: warn.cc:25
 #, fuzzy, c-format
 msgid "warning: %s\n"
 msgstr "waarschuwing: "
 
-#: warn.cc:30
+#: warn.cc:31
 #, fuzzy, c-format
 msgid "error: %s\n"
 msgstr "fout: "
 
-#: warn.cc:43
+#: warn.cc:44
 #, fuzzy, c-format
 msgid "programming error: %s (Continuing; cross thumbs)\n"
 msgstr " (Ga verder; duim maar)"
 
-#: accidental-engraver.cc:181 new-accidental-engraver.cc:237
+#: accidental.cc:202 key-signature-interface.cc:137
+#, c-format
+msgid "accidental `%s' not found"
+msgstr ""
+
+#: accidental-engraver.cc:171 new-accidental-engraver.cc:238
 #, c-format
 msgid "Accidental typesetting list must begin with context-name: %s"
 msgstr ""
 
-#: accidental-engraver.cc:206 new-accidental-engraver.cc:262
+#: accidental-engraver.cc:196 new-accidental-engraver.cc:263
 #, fuzzy, c-format
 msgid "unknown accidental typesetting: %s. Ignored"
 msgstr "onbekende ontsnapte string: `\\%s'"
 
-#: accidental-engraver.cc:222 new-accidental-engraver.cc:278
+#: accidental-engraver.cc:212 new-accidental-engraver.cc:279
 #, c-format
 msgid "Symbol is not a parent context: %s. Ignored"
 msgstr ""
 
-#: accidental-engraver.cc:225 new-accidental-engraver.cc:281
+#: accidental-engraver.cc:215 new-accidental-engraver.cc:282
 #, c-format
 msgid "Accidental typesetting must be pair or context-name: %s"
 msgstr ""
 
-#: afm.cc:60
+#: afm.cc:66
 #, c-format
 msgid "can't find character number: %d"
 msgstr "kan teken niet vinden met nummer: %d"
 
-#: afm.cc:75
+#: afm.cc:81
 #, c-format
 msgid "can't find character called: `%s'"
 msgstr "kan teken niet vinden genaamd: `%s'"
 
-#: afm.cc:125
+#: afm.cc:142
 #, c-format
 msgid "Error parsing AFM file: `%s'"
 msgstr "Fout bij ontleden AFM-bestand: `%s'"
@@ -510,76 +1291,82 @@ msgstr ""
 "Bouw alle .afm bestanden opnieuw en verwijder alle .pk en .tfm bestanden.  "
 "Voer nog eens uit met -V om font paden te tonen."
 
-#: all-font-metrics.cc:167
+#: all-font-metrics.cc:103
+msgid ""
+"A script for removing font-files is delivered with the source-code,\n"
+"in buildscripts/clean-fonts.sh"
+msgstr ""
+
+#: all-font-metrics.cc:169
 #, c-format
 msgid "can't find font: `%s'"
 msgstr "kan font niet vinden: `%s'"
 
-#: all-font-metrics.cc:168
+#: all-font-metrics.cc:170
 msgid "Loading default font"
 msgstr "Laad verstek font"
 
-#: all-font-metrics.cc:183
+#: all-font-metrics.cc:185
 #, c-format
 msgid "can't find default font: `%s'"
 msgstr "kan verstekfont niet vinden: `%s'"
 
-#: all-font-metrics.cc:184 includable-lexer.cc:51 input-file-results.cc:188
+#: all-font-metrics.cc:186 includable-lexer.cc:59 input-file-results.cc:192
 #, c-format
 msgid "(search path: `%s')"
 msgstr "(zoekpad: `%s')"
 
-#: all-font-metrics.cc:185
+#: all-font-metrics.cc:187
 msgid "Giving up"
 msgstr "Geef op"
 
 #: auto-change-iterator.cc:43 change-iterator.cc:60
-#: part-combine-music-iterator.cc:97
+#: part-combine-music-iterator.cc:120
 msgid "Can't switch translators, I'm there already"
 msgstr "Kan niet wisselen van vertaler, ben al hier"
 
-#: bar-check-iterator.cc:58
+#: bar-check-iterator.cc:51
 #, c-format
 msgid "barcheck failed at: %s"
 msgstr "maatstreep controle gefaald op: %s"
 
-#: beam-engraver.cc:167
+#: beam.cc:146
+#, fuzzy
+msgid "beam has less than two visible stems"
+msgstr "waardestreep heeft minder dan twee stokken"
+
+#: beam.cc:151
+#, fuzzy
+msgid "Beam has less than two stems. Removing beam."
+msgstr "waardestreep heeft minder dan twee stokken"
+
+#: beam.cc:976
+msgid ""
+"Not sure that we can find a nice beam slope (no viable initial configuration "
+"found)."
+msgstr ""
+
+#: beam-engraver.cc:176
 msgid "already have a beam"
 msgstr "heb al een waardestreep"
 
-#: beam-engraver.cc:234
+#: beam-engraver.cc:259
 msgid "unterminated beam"
 msgstr "onbeëindigde waardestreep"
 
-#: beam-engraver.cc:267 chord-tremolo-engraver.cc:175
+#: beam-engraver.cc:292 chord-tremolo-engraver.cc:197
 msgid "stem must have Rhythmic structure"
 msgstr "stok moet Ritmische structuur hebben"
 
-#: beam-engraver.cc:281
-msgid "stem doesn't fit in beam"
-msgstr "stok past niet in waardestreep"
-
-#: beam-engraver.cc:282
-msgid "beam was started here"
-msgstr "waardestreep werd hier gestart"
-
-#: beam.cc:134
-#, fuzzy
-msgid "beam has less than two visible stems"
-msgstr "waardestreep heeft minder dan twee stokken"
-
-#: beam.cc:139
-#, fuzzy
-msgid "Beam has less than two stems. Removing beam."
-msgstr "waardestreep heeft minder dan twee stokken"
+#: beam-engraver.cc:306
+msgid "stem doesn't fit in beam"
+msgstr "stok past niet in waardestreep"
 
-#: beam.cc:951
-msgid ""
-"Not sure that we can find a nice beam slope (no viable initial configuration "
-"found)."
-msgstr ""
+#: beam-engraver.cc:307
+msgid "beam was started here"
+msgstr "waardestreep werd hier gestart"
 
-#: break-align-interface.cc:166
+#: break-align-interface.cc:173
 #, fuzzy, c-format
 msgid "No spacing entry from %s to `%s'"
 msgstr "Voeg translator niet toe: `%s'"
@@ -603,66 +1390,107 @@ msgstr "Ben er zelf een"
 msgid "none of these in my family"
 msgstr "geen van deze in mijn gezin"
 
-#: chord-tremolo-engraver.cc:137 percent-repeat-engraver.cc:182
+#: chord-tremolo-engraver.cc:98
+#, c-format
+msgid "Chord tremolo with %d elements. Must have two elements."
+msgstr ""
+
+#: chord-tremolo-engraver.cc:157
 msgid "unterminated chord tremolo"
 msgstr "onbeëindigd akkoordtremolo"
 
-#: chord-tremolo-iterator.cc:50
+#: chord-tremolo-iterator.cc:69
 msgid "no one to print a tremolos"
 msgstr "niemand om tremolos af te drukken"
 
-#: chord.cc:313
+#: clef.cc:64
+#, c-format
+msgid "clef `%s' not found"
+msgstr ""
+
+#: cluster.cc:131
+#, fuzzy, c-format
+msgid "unknown cluster style `%s'"
+msgstr "onbekende translator: `%s'"
+
+#: coherent-ligature-engraver.cc:84
+#, c-format
+msgid "gotcha: ptr=%ul"
+msgstr ""
+
+#: coherent-ligature-engraver.cc:96
+#, c-format
+msgid "distance=%f"
+msgstr ""
+
+#: coherent-ligature-engraver.cc:139
 #, c-format
-msgid "invalid subtraction: not part of chord: %s"
-msgstr "ongeldige aftrek: maakt geen deel uit van accoord: %s"
+msgid "Coherent_ligature_engraver: setting `spacing-increment = 0.01': ptr=%ul"
+msgstr ""
 
-#: chord.cc:342
+#: custos.cc:92
 #, c-format
-msgid "invalid inversion pitch: not part of chord: %s"
-msgstr "ongeldige inversie toon: geen onderdeel van accoord: %s"
+msgid "custos `%s' not found"
+msgstr ""
 
 #: dimensions.cc:13
 msgid "NaN"
 msgstr "NaN"
 
-#: dynamic-engraver.cc:187 span-dynamic-performer.cc:82
+#: dynamic-engraver.cc:204 span-dynamic-performer.cc:82
 msgid "can't find start of (de)crescendo"
 msgstr "kan start van (de)crescendo niet vinden"
 
-#: dynamic-engraver.cc:211
+#: dynamic-engraver.cc:216
 msgid "already have a crescendo"
 msgstr "heb al een crescendo"
 
-#: dynamic-engraver.cc:212
+#: dynamic-engraver.cc:217
 msgid "already have a decrescendo"
 msgstr "heb al een decrescendo"
 
-#: dynamic-engraver.cc:215
+#: dynamic-engraver.cc:220
 #, fuzzy
 msgid "Cresc started here"
 msgstr "waardestreep werd hier gestart"
 
-#: dynamic-engraver.cc:307
+#: dynamic-engraver.cc:323
 msgid "unterminated (de)crescendo"
 msgstr "onbeëindigd (de)crescendo"
 
-#: extender-engraver.cc:96
+#: event.cc:49
+#, fuzzy, c-format
+msgid "Transposition by %s makes alteration larger than two"
+msgstr "Transponering van %s geeft tripel kruizen/mollen"
+
+#: event-chord-iterator.cc:76 output-property-music-iterator.cc:27
+#, fuzzy, c-format
+msgid "Junking event: `%s'"
+msgstr "Schroot verzoek: `%s'"
+
+#: extender-engraver.cc:94
 msgid "unterminated extender"
 msgstr "onbeëindigde extender"
 
-#: extender-engraver.cc:108
-msgid "Nothing to connect extender to on the left.  Ignoring extender request."
+#: extender-engraver.cc:106
+#, fuzzy
+msgid "Nothing to connect extender to on the left.  Ignoring extender event."
 msgstr ""
 "Niets om extender aan linkerkant aan vast te maken.  Negeer extender verzoek."
 
-#: folded-repeat-iterator.cc:78
+#: folded-repeat-iterator.cc:88
 msgid "no one to print a repeat brace"
 msgstr "niemand om een herhalings haak af te drukken"
 
-#: font-interface.cc:238
+#: font-interface.cc:239
 msgid "couldn't find any font satisfying "
 msgstr "kon geen enkel font vinden dat voldoet aan "
 
+#: glissando-engraver.cc:100
+#, fuzzy
+msgid "Unterminated glissando."
+msgstr "onbeëindigde bindingsboog"
+
 #: gourlay-breaking.cc:188
 #, c-format
 msgid "Optimal demerits: %f"
@@ -672,6 +1500,27 @@ msgstr ""
 msgid "No feasible line breaking found"
 msgstr "Geen doenbare regelafbreuk gevonden"
 
+#: gregorian-ligature-engraver.cc:59
+#, fuzzy, c-format
+msgid "\\%s ignored"
+msgstr "(genegeerd)"
+
+#: gregorian-ligature-engraver.cc:64
+#, c-format
+msgid "implied \\%s added"
+msgstr ""
+
+#.
+#. Todo: do something sensible. The grob-pq-engraver is not water
+#. tight, and stuff like tupletSpannerDuration confuses it.
+#.
+#: grob-pq-engraver.cc:130
+#, c-format
+msgid ""
+"Skipped something?\n"
+"Grob %s ended before I expected it to end."
+msgstr ""
+
 #: hairpin.cc:98
 msgid "decrescendo too small"
 msgstr "decrescendo te klein"
@@ -680,115 +1529,117 @@ msgstr "decrescendo te klein"
 msgid "crescendo too small"
 msgstr "crescendo te klein"
 
-#: hyphen-engraver.cc:89
+#: horizontal-bracket-engraver.cc:64
+msgid "Don't have that many brackets."
+msgstr ""
+
+#: horizontal-bracket-engraver.cc:73
+#, fuzzy
+msgid "Conflicting note group events."
+msgstr "Tegenstrijdige toonsoorten gevonden."
+
+#: hyphen-engraver.cc:87
 msgid "unterminated hyphen"
 msgstr "onafgesloten waardestreep"
 
-#: hyphen-engraver.cc:101
-msgid "Nothing to connect hyphen to on the left.  Ignoring hyphen request."
+#: hyphen-engraver.cc:99
+#, fuzzy
+msgid "Nothing to connect hyphen to on the left.  Ignoring hyphen event."
 msgstr ""
 "Niets om streepje aan linkerkant aan vast te maken.  Negeer streepje verzoek."
 
-#: input-file-results.cc:71 source-file.cc:52 streams.cc:38
+#: input.cc:99
+msgid "non fatal error: "
+msgstr "niet noodlottige fout: "
+
+#: input.cc:107 source-file.cc:146 source-file.cc:239
+msgid "position unknown"
+msgstr "positie onbekend"
+
+#: input-file-results.cc:72 source-file.cc:54 streams.cc:38
 #, c-format
 msgid "can't open file: `%s'"
 msgstr "kan bestand niet openen: `%s'"
 
-#: input-file-results.cc:131
+#: input-file-results.cc:132
 msgid "Score contains errors; will not process it"
 msgstr "Partituur bevat fouten; zal hem niet verwerken"
 
-#: input-file-results.cc:168
+#: input-file-results.cc:172
 #, c-format
 msgid "Now processing: `%s'"
 msgstr "Nu wordt verwerkt: `%s'"
 
-#: input.cc:98
-msgid "non fatal error: "
-msgstr "niet noodlottige fout: "
-
-#: input.cc:106 source-file.cc:147 source-file.cc:240
-msgid "position unknown"
-msgstr "positie onbekend"
-
-#: key-engraver.cc:91
-msgid "Conflicting key signatures found."
-msgstr "Tegenstrijdige toonsoorten gevonden."
-
-#: key-engraver.cc:92
-msgid "This was the other key definition."
-msgstr "Dit was de andere toonsoort definitie."
-
-#: key-performer.cc:92
+#: key-performer.cc:96
 msgid "FIXME: key change merge"
 msgstr "MAAKME: toonsoort sleutel samenvoeging"
 
-#: kpath.cc:64
+#: kpath.cc:76
 #, fuzzy, c-format
 msgid "Kpathsea couldn't find TFM file `%s'"
 msgstr "kan bestand niet vinden: `%s'"
 
-#: ligature-bracket.cc:105 ligature-bracket.cc:139 ligature-engraver.cc:124
-msgid "no left bound"
-msgstr ""
-
-#: ligature-engraver.cc:81
+#: ligature-engraver.cc:159
 #, fuzzy
 msgid "can't find start of ligature"
 msgstr "kan start van bindingsboog niet vinden"
 
-#: ligature-engraver.cc:86
+#: ligature-engraver.cc:165
 msgid "no right bound"
 msgstr ""
 
-#: ligature-engraver.cc:108
+#: ligature-engraver.cc:191
 #, fuzzy
 msgid "already have a ligature"
 msgstr "heb al een waardestreep"
 
-#: ligature-engraver.cc:166
+#: ligature-engraver.cc:207
+msgid "no left bound"
+msgstr ""
+
+#: ligature-engraver.cc:258
 #, fuzzy
 msgid "unterminated ligature"
 msgstr "onbeëindigde bindingsboog"
 
-#: ligature-engraver.cc:183
+#: ligature-engraver.cc:282
 msgid "ligature may not contain rest; ignoring rest"
 msgstr ""
 
-#: ligature-engraver.cc:184
+#: ligature-engraver.cc:283
 #, fuzzy
 msgid "ligature was started here"
 msgstr "waardestreep werd hier gestart"
 
-#: lily-guile.cc:99
+#: lily-guile.cc:88
 #, c-format
 msgid "(load path: `%s')"
 msgstr "(zoekpad: `%s')"
 
-#: lily-guile.cc:582
+#: lily-guile.cc:576
 #, fuzzy, c-format
 msgid "Can't find property type-check for `%s' (%s)."
 msgstr ""
 "Kan geen type-controle vinden voor property `%s'.  Misschien een tikfout?"
 
-#: lily-guile.cc:585
+#: lily-guile.cc:579
 msgid "Perhaps you made a typing error?"
 msgstr ""
 
-#: lily-guile.cc:591
+#: lily-guile.cc:585
 msgid "Doing assignment anyway."
 msgstr ""
 
-#: lily-guile.cc:605
+#: lily-guile.cc:599
 #, c-format
 msgid "Type check for `%s' failed; value `%s' must be of type `%s'"
 msgstr "Type contole gefaald voor `%s'; waarde `%s' moet type hebben: `%s'"
 
-#: lookup.cc:141
+#: lookup.cc:173
 msgid "round filled box horizontal extent smaller than blot; decreasing blot"
 msgstr ""
 
-#: lookup.cc:146
+#: lookup.cc:178
 msgid "round filled box vertical extent smaller than blot; decreasing blot"
 msgstr ""
 
@@ -808,12 +1659,6 @@ msgstr "EXPR"
 msgid "set options, use -e '(ly-option-usage)' for help"
 msgstr ""
 
-#. another bug in option parser: --output=foe is taken as an abbreviation
-#. for --output-format
-#: main.cc:110
-msgid "EXT"
-msgstr "EXT"
-
 #: main.cc:110
 msgid "use output format EXT"
 msgstr ""
@@ -877,16 +1722,12 @@ msgstr ""
 "onder bepaalde voorwaarden.  Roep aan als `%s --warranty' voor meer\n"
 "informatie.\n"
 
-#: main.cc:188 main.cc:200
-#, c-format
-msgid "Copyright (c) %s by"
-msgstr "Copyright (c) %s "
-
 #: main.cc:198
 msgid "GNU LilyPond -- The music typesetter"
 msgstr "GNU LilyPond -- De Muziekzetter"
 
 #: main.cc:206
+#, fuzzy
 msgid ""
 "    This program is free software; you can redistribute it and/or\n"
 "modify it under the terms of the GNU General Public License version 2\n"
@@ -899,7 +1740,8 @@ msgid ""
 "\n"
 "    You should have received a copy (refer to the file COPYING) of the\n"
 "GNU General Public License along with this program; if not, write to\n"
-"the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,\n"
+"the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA "
+"02111-1307,\n"
 "USA.\n"
 msgstr ""
 "    Dit programma is vrije programmatuur; u kunt het verspreiden en/of\n"
@@ -916,78 +1758,73 @@ msgstr ""
 "zoniet, schrijf dan naar de Free Software Foundation, Inc.,\n"
 "675 Mass Ave, Cambridge, MA 02139, USA.\n"
 
-#: mensural-ligature-engraver.cc:321 mensural-ligature-engraver.cc:483
-msgid "unexpected case fall-through"
+#: mensural-ligature.cc:153
+#, c-format
+msgid "Mensural_ligature:thickness undefined on flexa %d; assuming 1.4"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:332
-msgid "ligature with less than 2 heads -> skipping"
+#: mensural-ligature.cc:169
+#, c-format
+msgid "Mensural_ligature:delta-pitch undefined on flexa %d; assuming 0"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:347
-msgid "can not determine pitch of ligature primitive -> skipping"
+#: mensural-ligature.cc:182
+#, c-format
+msgid "Mensural_ligature:flexa-width undefined on flexa %d; assuming 2.0"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:370
-msgid "prime interval within ligature -> skipping"
+#: mensural-ligature.cc:215
+msgid "Mensural_ligature:unexpected case fall-through"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:380
-msgid "mensural ligature: duration none of L, B, S -> skipping"
+#: mensural-ligature.cc:225
+msgid "Mensural_ligature: (join_left == 0)"
 msgstr ""
 
-#: mensural-ligature.cc:152
-#, c-format
-msgid "Mensural_ligature: thickness undefined on flexa %d; assuming 1.4"
+#: mensural-ligature-engraver.cc:248 mensural-ligature-engraver.cc:397
+msgid "unexpected case fall-through"
 msgstr ""
 
-#: mensural-ligature.cc:166
-#, c-format
-msgid "Mensural_ligature: delta-pitch undefined on flexa %d; assuming 0"
+#: mensural-ligature-engraver.cc:259
+msgid "ligature with less than 2 heads -> skipping"
 msgstr ""
 
-#: mensural-ligature.cc:177
-#, c-format
-msgid "Mensural_ligature: flexa-width undefined on flexa %d; assuming 2.0"
+#: mensural-ligature-engraver.cc:279
+msgid "can not determine pitch of ligature primitive -> skipping"
 msgstr ""
 
-#: mensural-ligature.cc:208
-msgid "Mensural_ligature: unexpected case fall-through"
+#: mensural-ligature-engraver.cc:302
+msgid "prime interval within ligature -> skipping"
 msgstr ""
 
-#: mensural-ligature.cc:217
-msgid "Menusral_ligature: (join_left == 0)"
+#: mensural-ligature-engraver.cc:312
+msgid "mensural ligature: duration none of L, B, S -> skipping"
 msgstr ""
 
-#: midi-item.cc:144
+#: midi-item.cc:148
 #, c-format
 msgid "no such instrument: `%s'"
 msgstr "geen dergelijk instrument: `%s'"
 
-#: midi-item.cc:234
+#: midi-item.cc:238
 msgid "silly duration"
 msgstr "rare duur"
 
-#: midi-item.cc:247
+#: midi-item.cc:251
 msgid "silly pitch"
 msgstr "rare toonhoogte"
 
-#: music-output-def.cc:113
+#: music-output-def.cc:111
 #, c-format
 msgid "can't find `%s' context"
 msgstr "kan `%s' context niet vinden"
 
-#: music.cc:159
-#, c-format
-msgid "Transposition by %s makes accidental larger than two"
-msgstr "Transponering van %s geeft tripel kruizen/mollen"
-
-#: my-lily-lexer.cc:142
+#: my-lily-lexer.cc:169
 #, c-format
 msgid "Identifier name is a keyword: `%s'"
 msgstr "Identifier naam is een sleutelwoord: `%s'"
 
-#: my-lily-lexer.cc:162
+#: my-lily-lexer.cc:191
 #, c-format
 msgid "error at EOF: %s"
 msgstr "fout bij EOF: %s"
@@ -1000,42 +1837,46 @@ msgstr "Ontleden..."
 msgid "Braces don't match"
 msgstr "Haakjes paren niet"
 
+#.
+#. music for the softenon children?
+#.
+#: new-fingering-engraver.cc:143
+msgid "music for the martians."
+msgstr ""
+
+#: new-tie-engraver.cc:166 tie-engraver.cc:217
+msgid "lonely tie"
+msgstr "eenzame overbinding"
+
 #: note-collision.cc:340
 msgid "Too many clashing notecolumns.  Ignoring them."
 msgstr "Te veel botsende nootkolommen.  Negeer ze."
 
-#: note-head.cc:134
-msgid "Symbol not found, "
-msgstr ""
-
-#: output-property-music-iterator.cc:20 request-chord-iterator.cc:76
+#: note-head.cc:127
 #, c-format
-msgid "Junking request: `%s'"
-msgstr "Schroot verzoek: `%s'"
+msgid "note head `%s' not found"
+msgstr ""
 
-#: paper-def.cc:122
+#: paper-def.cc:96
 #, c-format
 msgid "paper output to `%s'..."
 msgstr "papier uitvoer naar %s..."
 
-#: paper-outputter.cc:57
-msgid ", at "
-msgstr ", bij "
-
-#: paper-score.cc:77
+#: paper-score.cc:78
 #, fuzzy, c-format
 msgid "Element count %d (spanners %d) "
 msgstr "Aantal elementen: %d."
 
-#: paper-score.cc:82
-msgid "Preprocessing elements..."
+#: paper-score.cc:83
+#, fuzzy
+msgid "Preprocessing graphical objects..."
 msgstr "Voorbewerken van elementen..."
 
-#: paper-score.cc:115
+#: paper-score.cc:116
 msgid "Outputting Score, defined at: "
 msgstr "Uitvoer van Score, gedefinieerd op: "
 
-#: parse-scm.cc:80
+#: parse-scm.cc:79
 msgid "GUILE signaled an error for the expression begining here"
 msgstr ""
 
@@ -1045,21 +1886,26 @@ msgstr ""
 #.
 #. last->translator_id_string_  = get_change ()->change_to_id_string_;
 #.
-#: part-combine-music-iterator.cc:116
+#: part-combine-music-iterator.cc:139
 #, c-format
 msgid "I'm one myself: `%s'"
 msgstr "Ben er zelf een: `%s'"
 
-#: part-combine-music-iterator.cc:119
+#: part-combine-music-iterator.cc:142
 #, c-format
 msgid "none of these in my family: `%s'"
 msgstr "geen van deze in mijn gezin: `%s'"
 
-#: percent-repeat-engraver.cc:116
+#: percent-repeat-engraver.cc:109
 msgid "Don't know how to handle a percent repeat of this length."
 msgstr "Weet niet hoe procent herhaling van deze lengte af te handelen."
 
-#: percent-repeat-iterator.cc:53
+#: percent-repeat-engraver.cc:163
+#, fuzzy
+msgid "unterminated percent repeat"
+msgstr "onbeëindigde waardestreep"
+
+#: percent-repeat-iterator.cc:65
 msgid "no one to print a percent"
 msgstr "niemand om een procent herhaling af te drukken"
 
@@ -1086,134 +1932,102 @@ msgstr "van muzikale definitie: %s"
 msgid "MIDI output to `%s'..."
 msgstr "MIDI uitvoer naar %s..."
 
-#: phrasing-slur-engraver.cc:117
+#: phrasing-slur-engraver.cc:123
 msgid "unterminated phrasing slur"
 msgstr "onbeëindigde fraseringsboog"
 
-#: phrasing-slur-engraver.cc:132
+#: phrasing-slur-engraver.cc:141
 msgid "can't find start of phrasing slur"
 msgstr "kan start van fraseringsboog niet vinden"
 
-#: piano-pedal-engraver.cc:230 piano-pedal-engraver.cc:245
-#: piano-pedal-engraver.cc:300 piano-pedal-performer.cc:82
+#: piano-pedal-engraver.cc:235 piano-pedal-engraver.cc:250
+#: piano-pedal-engraver.cc:305 piano-pedal-performer.cc:82
 #, c-format
 msgid "can't find start of piano pedal: `%s'"
 msgstr "kan start van piano pedaal niet vinden: `%s'"
 
-#: piano-pedal-engraver.cc:405
+#: piano-pedal-engraver.cc:410
 #, fuzzy
 msgid "unterminated pedal bracket"
 msgstr "onbeëindigde waardestreep"
 
-#: pitch.cc:25
-msgid "Pitch arguments out of range"
-msgstr "Toonhoogte argumenten buiten schaal"
-
-#: porrectus.cc:35
-msgid "(left_head == 0)"
-msgstr ""
-
-#: porrectus.cc:46
-msgid "undefined left_head"
-msgstr ""
-
-#: porrectus.cc:65
-msgid "(right_head == 0)"
-msgstr ""
-
-#: porrectus.cc:76
-msgid "undefined right_head"
-msgstr ""
-
-#: porrectus.cc:96
-msgid "junking lonely porrectus"
-msgstr ""
-
-#: porrectus.cc:106
-msgid "porrectus style undefined; using mensural"
-msgstr ""
-
-#: porrectus.cc:251
-msgid "ascending vaticana style porrectus"
+#: property-iterator.cc:97
+#, c-format
+msgid "Not a grob name, `%s'."
 msgstr ""
 
-#: property-iterator.cc:64
+#: rest.cc:139
 #, c-format
-msgid "Not a grob name, `%s'."
+msgid "rest `%s' not found, "
 msgstr ""
 
-#: rest-collision.cc:186
+#: rest-collision.cc:199
 msgid "too many colliding rests"
 msgstr "te veel botsende rusten"
 
-#: scm-option.cc:44
+#: scm-option.cc:45
 msgid "lilypond -e EXPR means:"
 msgstr ""
 
-#: scm-option.cc:46
+#: scm-option.cc:47
 msgid "  Evalute the Scheme EXPR before parsing any .ly files."
 msgstr ""
 
-#: scm-option.cc:48
+#: scm-option.cc:49
 msgid ""
 "  Multiple -e options may be given, they will be evaluated sequentially."
 msgstr ""
 
-#: scm-option.cc:50
+#: scm-option.cc:51
 msgid ""
 "  The function ly-set-option allows for access to some internal variables."
 msgstr ""
 
-#: scm-option.cc:52
+#: scm-option.cc:53
 msgid "Usage: lilypond -e \"(ly-set-option SYMBOL VAL)\""
 msgstr ""
 
-#: scm-option.cc:54
+#: scm-option.cc:55
 msgid "Where SYMBOL VAL pair is any of:"
 msgstr ""
 
-#: scm-option.cc:122
+#: scm-option.cc:128
 msgid "Unknown internal option!"
 msgstr ""
 
-#: score-engraver.cc:102
-#, fuzzy, c-format
-msgid "can't find `%s'"
-msgstr "kan niet vinden: `%s'"
-
-#: score-engraver.cc:103
-msgid "Fonts have not been installed properly.  Aborting"
-msgstr ""
-
-#: score-engraver.cc:207
-#, c-format
-msgid "unbound spanner `%s'"
-msgstr "ongebonden spanner `%s'"
-
-#: score.cc:92
-#, c-format
-msgid "stack size cur %d, max %d\n"
-msgstr ""
-
-#: score.cc:109
+#: score.cc:85
 msgid "Interpreting music..."
 msgstr "Vertolken van muziek..."
 
-#: score.cc:122
+#: score.cc:97
 msgid "Need music in a score"
 msgstr "Heb muziek nodig in een partituur"
 
 #. should we? hampers debugging.
-#: score.cc:135
+#: score.cc:111
 msgid "Errors found/*, not processing score*/"
 msgstr "Fouten gevonden, /*verwerk partituur niet */"
 
-#: score.cc:142
+#: score.cc:118
 #, c-format
 msgid "elapsed time: %.2f seconds"
 msgstr "duur: %.2f seconden"
 
-#: script-engraver.cc:66
+#: score-engraver.cc:99
+#, fuzzy, c-format
+msgid "can't find `%s'"
+msgstr "kan niet vinden: `%s'"
+
+#: score-engraver.cc:100
+msgid "Fonts have not been installed properly.  Aborting"
+msgstr ""
+
+#: score-engraver.cc:205
+#, c-format
+msgid "unbound spanner `%s'"
+msgstr "ongebonden spanner `%s'"
+
+#: script-engraver.cc:90
 #, c-format
 msgid "Don't know how to interpret articulation `%s'"
 msgstr "Weet niet hoe articulatie te vertolken `%s'"
@@ -1223,31 +2037,22 @@ msgstr "Weet niet hoe articulatie te vertolken `%s'"
 msgid "Separation_item:  I've been drinking too much"
 msgstr "Separation_item:  Ik heb te veel gedronken"
 
-#: simple-spacer.cc:254
+#: simple-spacer.cc:248
 #, c-format
 msgid "No spring between column %d and next one"
 msgstr ""
 
-#: slur-engraver.cc:140
+#: slur-engraver.cc:141
 msgid "unterminated slur"
 msgstr "onbeëindigde bindingsboog"
 
 #. How to shut up this warning, when Voice_devnull_engraver has
-#. eaten start request?
-#: slur-engraver.cc:157
+#. eaten start event?
+#: slur-engraver.cc:159
 msgid "can't find start of slur"
 msgstr "kan start van bindingsboog niet vinden"
 
-#: slur.cc:53
-#, fuzzy
-msgid "Putting slur over rest."
-msgstr "Zet bindingsboog over rust.  Negeer."
-
-#: slur.cc:424
-msgid "Slur over rest?"
-msgstr "Boogje over rust?"
-
-#: source-file.cc:65
+#: source-file.cc:67
 #, c-format
 msgid "Huh?  Got %d, expected %d characters"
 msgstr "Huh?  Kreeg %d, verwachtte %d tekens"
@@ -1262,18 +2067,36 @@ msgstr ""
 msgid "#<spring smob d= %f>"
 msgstr ""
 
-#: staff-symbol.cc:62
+#: staff-symbol.cc:61
 msgid "staff symbol: indentation yields beyond end of line"
 msgstr ""
 
-#: stem-engraver.cc:117
+#: stem.cc:118
+msgid "Weird stem size; check for narrow beams"
+msgstr "Vreemde stoklengte; controleer op krappe waardestrepen"
+
+#: stem.cc:611
+#, c-format
+msgid "flag `%s' not found"
+msgstr ""
+
+#: stem.cc:624
+#, c-format
+msgid "flag stroke `%s' not found"
+msgstr ""
+
+#: stem-engraver.cc:96
+msgid "tremolo duration is too long"
+msgstr ""
+
+#: stem-engraver.cc:124
 #, c-format
 msgid "Adding note head to incompatible stem (type = %d)"
 msgstr "Voeg noot bolletje toe aan onverenigbare stok (type = %d)"
 
-#: stem.cc:118
-msgid "Weird stem size; check for narrow beams"
-msgstr "Vreemde stoklengte; controleer op krappe waardestrepen"
+#: stem-engraver.cc:125
+msgid "Don't you want polyphonic voices instead?"
+msgstr ""
 
 #: streams.cc:34
 #, c-format
@@ -1289,30 +2112,32 @@ msgstr "Fout bij synchroniseren van bestand (schijf vol?)"
 msgid "Element count %d."
 msgstr "Aantal elementen: %d."
 
-#: system.cc:377
+#: system.cc:372
 #, fuzzy, c-format
 msgid "Grob count %d "
 msgstr "Aantal elementen: %d."
 
-#: system.cc:391
-msgid "Calculating column positions..."
+#: system.cc:386
+#, fuzzy
+msgid "Calculating line breaks..."
 msgstr "Berekenen van kolomposities..."
 
-#: text-spanner-engraver.cc:92
+#: text-spanner-engraver.cc:81
 msgid "can't find start of text spanner"
 msgstr "kan start van tekst spanner niet vinden"
 
-#: text-spanner-engraver.cc:112
+#: text-spanner-engraver.cc:95
 msgid "already have a text spanner"
 msgstr "heb al een tekst spanner"
 
-#: text-spanner-engraver.cc:167
+#: text-spanner-engraver.cc:164
 msgid "unterminated text spanner"
 msgstr "onbeëindigde tekst spanner"
 
-#: text-spanner.cc:130
-msgid "Text_spanner too small"
-msgstr "Text_spanner te klein"
+#: tfm.cc:83
+#, c-format
+msgid "can't find ascii character: %d"
+msgstr "kan ascii teken niet vinden: %d"
 
 #. Not using ngettext's plural feature here, as this message is
 #. more of a programming error.
@@ -1327,16 +2152,7 @@ msgid "%s: TFM file has %u parameters, which is more than the %u I can handle"
 msgstr ""
 "%s: TFM bestand heeft %u parameters, wat meer is dan de %u die ik aan kan"
 
-#: tfm.cc:83
-#, c-format
-msgid "can't find ascii character: %d"
-msgstr "kan ascii teken niet vinden: %d"
-
-#: tie-engraver.cc:216
-msgid "lonely tie"
-msgstr "eenzame overbinding"
-
-#: tie-performer.cc:161
+#: tie-performer.cc:159
 msgid "No ties were created!"
 msgstr "Geen overbindingen geschapen!"
 
@@ -1344,174 +2160,295 @@ msgstr "Geen overbindingen geschapen!"
 msgid "no one to print a tuplet start bracket"
 msgstr "niemand om een x-ool start haak af te drukken"
 
+#. If there is no such symbol, we default to the numbered style.
+#. (Here really with a warning!)
+#: time-signature.cc:87
+#, c-format
+msgid "time signature symbol `%s' not found; reverting to numbered style"
+msgstr ""
+
+#.
+#. Todo: should make typecheck?
+#.
+#. OTOH, Tristan Keuris writes 8/20 in his Intermezzi.
+#.
+#: time-signature-engraver.cc:57
+#, c-format
+msgid "Found strange time signature %d/%d."
+msgstr ""
+
 #: translator-ctors.cc:53
 #, c-format
 msgid "unknown translator: `%s'"
 msgstr "onbekende translator: `%s'"
 
-#: translator-def.cc:87
+#: translator-def.cc:105
 msgid "Program has no such type"
 msgstr "Programma heeft geen dergelijk type"
 
-#: translator-def.cc:93
+#: translator-def.cc:111
 #, c-format
 msgid "Already contains: `%s'"
 msgstr "Bevat reeds: `%s'"
 
-#: translator-def.cc:94
+#: translator-def.cc:112
 #, c-format
 msgid "Not adding translator: `%s'"
 msgstr "Voeg translator niet toe: `%s'"
 
-#: translator-def.cc:209
+#: translator-def.cc:229
 #, c-format
 msgid "can't find: `%s'"
 msgstr "kan niet vinden: `%s'"
 
-#: translator-group.cc:159
+#: translator-group.cc:158
 #, c-format
 msgid "can't find or create `%s' called `%s'"
 msgstr "kan niet vinden of scheppen `%s' genaamd `%s'"
 
-#: translator-group.cc:244
+#: translator-group.cc:230
 #, c-format
 msgid "can't find or create: `%s'"
 msgstr "kan niet vinden of scheppen: `%s'"
 
-#: volta-engraver.cc:111
+#: vaticana-ligature.cc:49
+msgid "ascending vaticana style flexa"
+msgstr ""
+
+#: vaticana-ligature.cc:219
+msgid "Vaticana_ligature:thickness undefined; assuming 1.4"
+msgstr ""
+
+#: vaticana-ligature.cc:233
+msgid "Vaticana_ligature:x-offset undefined; assuming 0.0"
+msgstr ""
+
+#: vaticana-ligature.cc:258
+msgid "Vaticana_ligature: (delta_pitch == 0)"
+msgstr ""
+
+#: vaticana-ligature.cc:271
+msgid "Vaticana_ligature:delta-pitch -> ignoring join"
+msgstr ""
+
+#: vaticana-ligature-engraver.cc:477
+#, c-format
+msgid "Vaticana_ligature_engraver: setting `spacing-increment = %f': ptr=%ul"
+msgstr ""
+
+#: volta-engraver.cc:112
 msgid "No volta spanner to end"
 msgstr "Geen volta spanner te beëindigen"
 
-#: volta-engraver.cc:121
+#: volta-engraver.cc:123
 msgid "Already have a volta spanner.  Stopping that one prematurely."
 msgstr "Heb al een volta spanner.  Stop die nu voortijdig."
 
-#: volta-engraver.cc:125
+#: volta-engraver.cc:127
 msgid "Also have a stopped spanner.  Giving up."
 msgstr "Heb ook al een gestopte spanner.   Geef op."
 
-#: parser.yy:434
+#: parser.yy:480
 #, fuzzy
 msgid "Identifier should have alphabetic characters only"
 msgstr "Identifier zou alleen alfabetische tekens moeten hebben"
 
-#: parser.yy:729
+#: parser.yy:779
 msgid "More alternatives than repeats.  Junking excess alternatives."
 msgstr ""
 "Meer alternatieven dan herhalingen.  Schroot overvloedige alternatieven."
 
-#: parser.yy:798
+#: parser.yy:861 parser.yy:868
+msgid "\applycontext takes function argument"
+msgstr ""
+
+#: parser.yy:877
 msgid "Second argument must be a symbol"
 msgstr "Tweede argument moet een symbool zijn"
 
-#: parser.yy:803
+#: parser.yy:882
 #, fuzzy
 msgid "First argument must be a procedure taking one argument"
 msgstr "Eerste argument moet een procedure zijn met 1 argument"
 
-#: parser.yy:1380
+#: parser.yy:1009
+msgid "\apply takes function argument"
+msgstr ""
+
+#: parser.yy:1501
 msgid "Expecting string as script definition"
 msgstr "Verwacht string voor script definitie"
 
-#: parser.yy:1390
-msgid "Can't specify direction for this request"
-msgstr "Kan richting voor dit verzoek niet specificeren"
-
-#: parser.yy:1516
+#: parser.yy:1598
 msgid "Expecting musical-pitch value"
 msgstr "Verwacht musical-pitch waarde"
 
-#: parser.yy:1527
+#: parser.yy:1609
 msgid "Must have duration object"
 msgstr "Moet duur object hebben"
 
-#: parser.yy:1536 parser.yy:1544
+#: parser.yy:1618 parser.yy:1626
 msgid "Have to be in Lyric mode for lyrics"
 msgstr "Moet in Lyric modus zijn voor liedteksten"
 
-#: parser.yy:1715 parser.yy:1768
+#: parser.yy:1798 parser.yy:1853
 #, c-format
 msgid "not a duration: %d"
 msgstr "geen duur: %d"
 
-#: parser.yy:1855
+#: parser.yy:1949
 msgid "Have to be in Note mode for notes"
 msgstr "Moet in Note modus zijn voor noten"
 
-#: parser.yy:1954
+#: parser.yy:2032
 msgid "Have to be in Chord mode for chords"
 msgstr "Moet in Chord modus zijn voor accoorden"
 
-#: parser.yy:2134
+#: parser.yy:2171
 msgid "need integer number arg"
 msgstr "heb integer getal arg nogig"
 
-#: parser.yy:2206
+#: parser.yy:2316
 msgid "Suspect duration found following this beam"
 msgstr ""
 
-#: lexer.ll:178
+#: lexer.ll:186
 msgid "EOF found inside a comment"
 msgstr "EOF gevonden in een kommentaar"
 
-#: lexer.ll:192
+#: lexer.ll:200
 msgid "\\maininput disallowed outside init files"
 msgstr "\\maininput niet toegestaan buiten init bestanden"
 
-#: lexer.ll:216
+#: lexer.ll:224
 #, c-format
 msgid "wrong or undefined identifier: `%s'"
 msgstr "verkeerde of ongedefiniëerde identifier: `%s'"
 
 #. backup rule
-#: lexer.ll:225
+#: lexer.ll:233
 msgid "Missing end quote"
 msgstr "Aanhalingsteken sluiten mist"
 
 #. backup rule
-#: lexer.ll:247 lexer.ll:251
+#: lexer.ll:255 lexer.ll:259
 msgid "white expected"
 msgstr "wit verwacht"
 
-#: lexer.ll:260
+#: lexer.ll:268
 msgid "Can't evaluate Scheme in safe mode"
 msgstr "Kan Scheme niet evalueren in veilige modus"
 
-#: lexer.ll:364
+#: lexer.ll:397 lexer.ll:487
 #, fuzzy
 msgid "Brace found at end of lyric.  Did you forget a space?"
 msgstr "Accolade gevonden aan het eind van liedtektst.  Een spatie vergeten?"
 
-#: lexer.ll:480
+#: lexer.ll:574
 #, c-format
 msgid "invalid character: `%c'"
 msgstr "ongeldig teken: `%c'"
 
-#: lexer.ll:566
+#: lexer.ll:651
 #, c-format
 msgid "unknown escaped string: `\\%s'"
 msgstr "onbekende ontsnapte string: `\\%s'"
 
-#: lexer.ll:657
+#: lexer.ll:742
 #, fuzzy, c-format
 msgid "Incorrect lilypond version: %s (%s, %s)"
 msgstr "verkeerde lilypond versie: %s (%s, %s)"
 
-#: lexer.ll:658
+#: lexer.ll:743
 #, fuzzy
 msgid "Consider updating the input with the convert-ly script"
 msgstr "Overweeg de invoer te converteren met het convert-ly script"
 
+#~ msgid "Fetch and rebuild from latest source package"
+#~ msgstr "Grijp en herbouw van meest recente source pakket"
+
+#~ msgid "unpack and build in DIR [%s]"
+#~ msgstr "pak uit en bouw in DIR [%s]"
+
+#~ msgid "execute COMMAND, subtitute:"
+#~ msgstr "voer COMMAND uit, substitueer:"
+
+#~ msgid "%b: build root"
+#~ msgstr "%b: bouw-root"
+
+#~ msgid "%n: package name"
+#~ msgstr "%n: pakketnaam"
+
+#~ msgid "%r: release directory"
+#~ msgstr "%r: uitgave directory"
+
+#~ msgid "%t: tarball"
+#~ msgstr "%t: tar-bal"
+
+#~ msgid "%v: package version"
+#~ msgstr "%v: pakketversie"
+
+#~ msgid "keep all output, and name the directory %s"
+#~ msgstr "bewaar alle uitvoer, en noem de directory %s"
+
+#~ msgid "upon failure notify EMAIL[,EMAIL]"
+#~ msgstr "bij fout bericht EMAIL[,EMAIL]"
+
+#~ msgid "remove previous build"
+#~ msgstr "verwijder vorige bouw"
+
+#~ msgid "fetch and build URL [%s]"
+#~ msgstr "grijp en bouw URL [%s]"
+
+#~ msgid "Listing `%s'..."
+#~ msgstr "Lijst van `%s'"
+
+#~ msgid "latest is: %s"
+#~ msgstr "meest recente is: %s"
+
+#~ msgid "relax, %s is up to date"
+#~ msgstr "ontspan, %s is bij de tijd"
+
+#~ msgid "Fetching `%s'..."
+#~ msgstr "Grijpen van `%s'..."
+
+#~ msgid "Building `%s'..."
+#~ msgstr "Bouwen van `%s'..."
+
+#~ msgid "invalid subtraction: not part of chord: %s"
+#~ msgstr "ongeldige aftrek: maakt geen deel uit van accoord: %s"
+
+#~ msgid "invalid inversion pitch: not part of chord: %s"
+#~ msgstr "ongeldige inversie toon: geen onderdeel van accoord: %s"
+
+#~ msgid "This was the other key definition."
+#~ msgstr "Dit was de andere toonsoort definitie."
+
+#~ msgid ", at "
+#~ msgstr ", bij "
+
+#~ msgid "Pitch arguments out of range"
+#~ msgstr "Toonhoogte argumenten buiten schaal"
+
+#, fuzzy
+#~ msgid "Putting slur over rest."
+#~ msgstr "Zet bindingsboog over rust.  Negeer."
+
+#~ msgid "Slur over rest?"
+#~ msgstr "Boogje over rust?"
+
+#~ msgid "Text_spanner too small"
+#~ msgstr "Text_spanner te klein"
+
+#~ msgid "Can't specify direction for this request"
+#~ msgstr "Kan richting voor dit verzoek niet specificeren"
+
 #~ msgid "Generate .dvi with LaTeX for LilyPond"
 #~ msgstr "Genereer .dvi met LaTeX voor LilyPond"
 
 #~ msgid "can't map file"
 #~ msgstr "kan bestand niet inkaarten"
 
-#, fuzzy
-#~ msgid "use output format EXT (tex [default], pdftex, ps, scm or as)"
-#~ msgstr "gebruik uitvoer formaat EXT (scm, ps, tex of as)"
-
 #~ msgid "This binary was compiled with the following options:"
 #~ msgstr "Dit programma is gecompileerd met de volgende instellingen:"
 
@@ -1579,9 +2516,6 @@ msgstr "Overweeg de invoer te converteren met het convert-ly script"
 #~ msgid "%s is far from completed.  Not all constructs are recognised."
 #~ msgstr "%s is nog lang niet af.  Niet alle constructies worden herkend."
 
-#~ msgid "Cleaning `%s'..."
-#~ msgstr "Schoonmaken van `%s'..."
-
 #~ msgid "writing header field `%s' to `%s'..."
 #~ msgstr "Schijven van kop veld %s naar bestand %s..."
 
index da7aaa3da6b05fba515a390111bc0f464c0eb156..016e188992db869fb1aed58449101d631dd76126 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2002-08-18 17:05+0200\n"
+"POT-Creation-Date: 2003-07-18 14:45+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: August S.Sigov <august@infran.ru>\n"
 "Language-Team: Russian <ru@li.org>\n"
@@ -14,403 +14,1175 @@ msgstr ""
 "Content-Type: text/plain; charset=koi8-r\n"
 "Content-Transfer-Encoding: ENCODING\n"
 
-#: lilypond-book.py:1019 ly2dvi.py:458 ly2dvi.py:491
-#, fuzzy, c-format
-msgid "Running %s..."
-msgstr "÷ÙÂÒÁÓÙ×ÁÀ ÍÕÚÙËÕ: `%s'"
+#. this is where special info is often stored
+#. ###############################################################
+#. lilylib.py -- options and stuff
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. ##  subst:\(^\|[^._a-z]\)\(abspath\|identify\|warranty\|progress\|warning\|error\|exit\|getopt_args\|option_help_str\|options_help_str\|help\|setup_temp\|read_pipe\|system\|cleanup_temp\|strip_extension\|cp_to_dir\|mkdir_p\|init\) *(
+#. ##  replace:\1ly.\2 (
+#. ## subst: \(help_summary\|keep_temp_dir_p\|option_definitions\|original_dir\|program_name\|pseudo_filter_p\|temp_dir\|verbose_p\)
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. lilylib globals
+#: lilylib.py:60
+msgid "lilylib module"
+msgstr ""
+
+#: lilylib.py:63 lilypond-book.py:131 ly2dvi.py:128 midi2ly.py:100
+#: mup2ly.py:75 main.cc:111
+msgid "this help"
+msgstr "ÜÔÁ ÓÐÒÁ×ËÁ"
 
-#: ly2dvi.py:118
-msgid ""
-"Distributed under terms of the GNU General Public License.  It comes with NO "
-"WARRANTY."
+#. ###############################################################
+#. Handle bug in Python 1.6-2.1
+#.
+#. there are recursion limits for some patterns in Python 1.6 til 2.1.
+#. fix this by importing pre instead. Fix by Mats.
+#. Attempt to fix problems with limited stack size set by Python!
+#. Sets unlimited stack size. Note that the resource module only
+#. is available on UNIX.
+#: lilylib.py:114 midi2ly.py:136 mup2ly.py:130 main.cc:188 main.cc:200
+#, c-format, python-format
+msgid "Copyright (c) %s by"
+msgstr "÷ÓÅ ÐÒÁ×Á ÚÁÝÉÝÅÎÙ (c) %s by"
+
+#: lilylib.py:114
+msgid " 1998--2003"
 msgstr ""
 
-#: ly2dvi.py:125 midi2ly.py:148 mup2ly.py:143 update-lily.py:137 input.cc:87
+#: lilylib.py:118
+msgid "Distributed under terms of the GNU General Public License."
+msgstr ""
+
+#: lilylib.py:120
+msgid "It comes with NO WARRANTY."
+msgstr ""
+
+#: lilylib.py:127 midi2ly.py:150 mup2ly.py:144 input.cc:88
 msgid "warning: "
 msgstr "ÐÒÅÄÕÐÒÅÖÄÁÀ: "
 
-#: ly2dvi.py:128 ly2dvi.py:143 midi2ly.py:163 midi2ly.py:1012 midi2ly.py:1081
-#: mup2ly.py:146 mup2ly.py:160 update-lily.py:152 update-lily.py:458
-#: input.cc:92
+#. lots of midi files use plain text for lyric events
+#. FIXME: read from stdin when files[0] = '-'
+#: lilylib.py:130 midi2ly.py:165 midi2ly.py:1018 midi2ly.py:1083 mup2ly.py:147
+#: mup2ly.py:161 input.cc:93
 msgid "error: "
 msgstr "ÏÛÉÂËÁ: "
 
-#: ly2dvi.py:144 midi2ly.py:164 mup2ly.py:161 update-lily.py:153
-msgid "Exiting ... "
-msgstr ""
+#: lilylib.py:134
+#, fuzzy, python-format
+msgid "Exiting (%d)..."
+msgstr "÷ÙÂÒÁÓÙ×ÁÀ ÍÕÚÙËÕ: `%s'"
 
-#: ly2dvi.py:202 midi2ly.py:222 mup2ly.py:219 update-lily.py:211
-#, fuzzy, c-format
+#: lilylib.py:194 midi2ly.py:224 mup2ly.py:220
+#, fuzzy, python-format
 msgid "Usage: %s [OPTION]... FILE"
 msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ïðãéñ]... [æáêì]"
 
-#: ly2dvi.py:206 midi2ly.py:226 mup2ly.py:223 update-lily.py:215 main.cc:166
+#: lilylib.py:198 midi2ly.py:228 mup2ly.py:224 main.cc:166
 msgid "Options:"
 msgstr "ïÐÃÉÉ:"
 
-#: ly2dvi.py:210 midi2ly.py:230 mup2ly.py:227 update-lily.py:219 main.cc:172
-#, c-format
+#: lilylib.py:202 midi2ly.py:232 mup2ly.py:228 main.cc:172
+#, c-format, python-format
 msgid "Report bugs to %s"
 msgstr "óÏÏÂÝÁÊÔÅ Ï ÏÛÉÂËÁÈ ÐÏ %s"
 
-#: ly2dvi.py:238 midi2ly.py:258 mup2ly.py:255 update-lily.py:247
-#, fuzzy, c-format
+#: lilylib.py:228
+#, fuzzy, python-format
+msgid "Opening pipe `%s'"
+msgstr "÷ÙÂÒÁÓÙ×ÁÀ ÍÕÚÙËÕ: `%s'"
+
+#. successful pipe close returns 'None'
+#: lilylib.py:240
+#, python-format
+msgid "`%s' failed (%d)"
+msgstr ""
+
+#: lilylib.py:242 lilylib.py:289 lilypond-book.py:231 ly2dvi.py:512
+msgid "The error log is as follows:"
+msgstr ""
+
+#: lilylib.py:262 midi2ly.py:260 mup2ly.py:256
+#, fuzzy, python-format
 msgid "Invoking `%s'"
 msgstr "÷ÙÂÒÁÓÙ×ÁÀ ÍÕÚÙËÕ: `%s'"
 
-#: ly2dvi.py:243 midi2ly.py:262 mup2ly.py:260 update-lily.py:251
-#, c-format
-msgid "command exited with value %d"
+#: lilylib.py:264
+#, fuzzy, python-format
+msgid "Running %s..."
+msgstr "÷ÙÂÒÁÓÙ×ÁÀ ÍÕÚÙËÕ: `%s'"
+
+#: lilylib.py:282
+#, python-format
+msgid "`%s' failed (%s)"
 msgstr ""
 
-#: ly2dvi.py:246 midi2ly.py:264 mup2ly.py:263 update-lily.py:253
+#: lilylib.py:285 midi2ly.py:266 mup2ly.py:264
 msgid "(ignored)"
 msgstr ""
 
-#: ly2dvi.py:256 midi2ly.py:274 mup2ly.py:273 update-lily.py:263
-#, fuzzy, c-format
+#: lilylib.py:299 midi2ly.py:276 mup2ly.py:274
+#, fuzzy, python-format
 msgid "Cleaning %s..."
 msgstr "÷ÙÂÒÁÓÙ×ÁÀ ÍÕÚÙËÕ: `%s'"
 
-#: ly2dvi.py:330
-msgid "Run LilyPond using LaTeX for titling"
+#. Duh.  Python style portable: cp *.EXT OUTDIR
+#. system ('cp *.%s %s' % (ext, outdir), 1)
+#. Python < 1.5.2 compatibility
+#.
+#. On most platforms, this is equivalent to
+#. `normpath(join(os.getcwd()), PATH)'.  *Added in Python version 1.5.2*
+#. tex needs lots of memory, more than it gets by default on Debian
+#. TODO: * prevent multiple addition.
+#. * clean TEXINPUTS, MFINPUTS, TFMFONTS,
+#. as these take prevalence over $TEXMF
+#. and thus may break tex run?
+#. $TEXMF is special, previous value is already taken care of
+#. # -sOutputFile does not work with bbox?
+#. # todo:
+#. # have better algorithm for deciding when to crop page,
+#. # and when to show full page
+#: lilylib.py:458
+msgid "Removing output file"
+msgstr ""
+
+#. !@PYTHON@
+#. once upon a rainy monday afternoon.
+#.
+#. ...
+#.
+#. (not finished.)
+#. ABC standard v1.6:  http://www.gre.ac.uk/~c.walshaw/abc2mtex/abc.txt
+#.
+#. Enhancements  (Roy R. Rankin)
+#.
+#. Header section moved to top of lilypond file
+#. handle treble, treble-8, alto, and bass clef
+#. Handle voices (V: headers) with clef and part names, multiple voices
+#. Handle w: lyrics with multiple verses
+#. Handle key mode names for minor, major, phrygian, ionian, locrian, aeolian,
+#. mixolydian, lydian, dorian
+#. Handle part names from V: header
+#. Tuplets handling fixed up
+#. Lines starting with |: not discarded as header lines
+#. Multiple T: and C: header entries handled
+#. Accidental maintained until next bar check
+#. Silent rests supported
+#. articulations fermata, upbow, downbow, ltoe, accent, tenuto supported
+#. Chord strings([-^]"string") can contain a '#'
+#. Header fields enclosed by [] in notes string processed
+#. W: words output after tune as abc2ps does it (they failed before)
+#. Enhancements (Laura Conrad)
+#.
+#. Barring now preserved between ABC and lilypond
+#. the default placement for text in abc is above the staff.
+#. %%LY now supported.
+#. \breve and \longa supported.
+#. M:none doesn't crash lily.
+#. Limitations
+#.
+#. Multiple tunes in single file not supported
+#. Blank T: header lines should write score and open a new score
+#. Not all header fields supported
+#. ABC line breaks are ignored
+#. Block comments generate error and are ignored
+#. Postscript commands are ignored
+#. lyrics not resynchronized by line breaks (lyrics must fully match notes)
+#. %%LY slyrics can't be directly before a w: line.
+#. ???
+#. TODO:
+#.
+#. Convert to new chord styles.
+#.
+#. UNDEF -> None
+#.
+#. uGUHGUHGHGUGH
+#. UGH
+#. treble8 is used by abctab2ps; -8va is used by barfly,
+#. and by my patch to abc2ps. If there's ever a standard
+#. about this we'll support that.
+#. find keywork
+#. assume that Q takes the form "Q:1/4=120"
+#. There are other possibilities, but they are deprecated
+#. outf.write ("\t\t\\consists Staff_margin_engraver\n")
+#. pitch manipulation. Tuples are (name, alteration).
+#. 0 is (central) C. Alteration -1 is a flat, Alteration +1 is a sharp
+#. pitch in semitones.
+#. abc to lilypond key mode names
+#. semitone shifts for key mode names
+#. latex does not like naked #'s
+#. latex does not like naked "'s
+#. break lyrics to words and put "'s around words containing numbers and '"'s
+#. escape "
+#. _ causes probs inside ""
+#. _ to ' _ '
+#. split words with -
+#. unless \-
+#. ~ to space('_')
+#. * to to space
+#. latex does not like naked #'s
+#. put numbers and " and ( into quoted string
+#. insure space between lines
+#. title
+#. strip trailing blanks
+#. Meter
+#. KEY
+#. seperate clef info
+#. there may or may not be a space
+#. between the key letter and the mode
+#. ugh.
+#. ugh.
+#. Notes
+#. Origin
+#. Reference Number
+#. Area
+#. History
+#. Book
+#. Composer
+#. Default note length
+#. Voice
+#. Words
+#. vocals
+#. tempo
+#. we use in this order specified accidental, active accidental for bar,
+#. active accidental for key
+#. (num /  den)  / defaultlen < 1/base
+#. return (str, num,den,dots)
+#. ignore slide
+#. ignore roll
+#. s7m2 input doesnt care about spaces
+#.
+#. remember accidental for rest of bar
+#.
+#. get accidental set in this bar or UNDEF if not set
+#. WAT IS ABC EEN ONTZETTENDE PROGRAMMEERPOEP  !
+#. failed; not a note!
+#. escape '#'s
+#.
+#. |] thin-thick double bar line
+#. || thin-thin double bar line
+#. [| thick-thin double bar line
+#. :| left repeat
+#. |: right repeat
+#. :: left-right repeat
+#. |1 volta 1
+#. |2 volta 2
+#. first try the longer one
+#. bracket escape
+#. the nobarlines option is necessary for an abc to lilypond translator for
+#. exactly the same reason abc2midi needs it: abc requires the user to enter
+#. the note that will be printed, and MIDI and lilypond expect entry of the
+#. pitch that will be played.
+#.
+#. In standard 19th century musical notation, the algorithm for translating
+#. between printed note and pitch involves using the barlines to determine
+#. the scope of the accidentals.
+#.
+#. Since ABC is frequently used for music in styles that do not use this
+#. convention, such as most music written before 1700, or ethnic music in
+#. non-western scales, it is necessary to be able to tell a translator that
+#. the barlines should not affect its interpretation of the pitch.
+#. write other kinds of appending  if we ever need them.
+#. add comments to current voice
+#. Try nibbling characters off until the line doesn't change.
+#. dump_global (outf)
+#. !@PYTHON@
+#.
+#. convert-ly.py -- Update old LilyPond input files (fix name?)
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. TODO
+#. use -f and -t for -s output
+#. NEWS
+#. 0.2
+#. - rewrite in python
+#. Did we ever have \mudela-version?  I doubt it.
+#. lilypond_version_re_str = '\\\\version *\"(.*)\"'
+#. ###########################
+#. need new a namespace
+#. raise FatalConversionError()
+#. need new a namespace
+#. harmful to current .lys
+#. str = re.sub ('\\\\key([^;]+);', '\\\\accidentals \\1;', str)
+#. raise FatalConversionError()
+#. raise FatalConversionError()
+#. raise FatalConversionError()
+#. TODO: lots of other syntax change should be done here as well
+#. Ugh, but meaning of \stemup changed too
+#. maybe we should do \stemup -> \stemUp\slurUp\tieUp ?
+#. I don't know exactly when these happened...
+#. ugh, we loose context setting here...
+#. (lacks capitalisation slur -> Slur)
+#. # dynamic..
+#. TODO: add lots of these
+#. ugh
+#. old fix
+#. Make sure groups of more than one ; have space before
+#. them, so that non of them gets removed by next rule
+#. Only remove ; that are not after spaces, # or ;
+#. Otherwise  we interfere with Scheme comments,
+#. which is badbadbad.
+#. 40 ?
+#. ###############################
+#. END OF CONVERSIONS
+#. ###############################
+#. !@PYTHON@
+#. info mostly taken from looking at files. See also
+#. http://lilypond.org/wiki/?EnigmaTransportFormat
+#. This supports
+#.
+#. * notes
+#. * rests
+#. * ties
+#. * slurs
+#. * lyrics
+#. * articulation
+#. * grace notes
+#. * tuplets
+#.
+#. todo:
+#. * slur/stem directions
+#. * voices (2nd half of frame?)
+#. * more intelligent lyrics
+#. * beams (better use autobeam?)
+#. * more robust: try entertainer.etf (freenote)
+#. * dynamics
+#. * empty measures (eg. twopt03.etf from freenote)
+#.
+#. uGUHGUHGHGUGH
+#. notename 0 == central C
+#. represent pitches as (notename, alteration), relative to C-major scale
+#. a fifth up
+#. should cache this.
+#. flag1 isn't all that interesting.
+#. 3: '>',
+#. 18: '\arpeggio' ,
+#. do grace notes.
+#. ugh.
+#. we don't attempt voltas since they fail easily.
+#. and g.repeat_bar == '|:' or g.repeat_bar == ':|:' or g.bracket:
+#. 4 layers.
+#. let's not do this: this really confuses when eE happens to be before  a ^text.
+#. if last_tag and last_indices:
+#. etf_file_dict[last_tag][last_indices].append (l)
+#. # do it
+#. staff-spec
+#. should use \addlyrics ?
+#. !@PYTHON@
+#. vim: set noexpandtab:
+#. This is was the idea for handling of comments:
+#. Multiline comments, @ignore .. @end ignore is scanned for
+#. in read_doc_file, and the chunks are marked as 'ignore', so
+#. lilypond-book will not touch them any more. The content of the
+#. chunks are written to the output file. Also 'include' and 'input'
+#. regex has to check if they are commented out.
+#.
+#. Then it is scanned for 'lilypond', 'lilypond-file' and 'lilypond-block'.
+#. These three regex's has to check if they are on a commented line,
+#. % for latex, @c for texinfo.
+#.
+#. Then lines that are commented out with % (latex) and @c (Texinfo)
+#. are put into chunks marked 'ignore'. This cannot be done before
+#. searching for the lilypond-blocks because % is also the comment character
+#. for lilypond.
+#.
+#. The the rest of the rexeces are searched for. They don't have to test
+#. if they are on a commented out line.
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. if __name__ == '__main__':
+#. lilylib globals
+#. temp_dir = os.path.join (original_dir,  '%s.dir' % program_name)
+#. urg
+#. # FIXME
+#. # ly2dvi: silly name?
+#. # do -P or -p by default?
+#. #help_summary = _ ("Run LilyPond using LaTeX for titling")
+#: lilypond-book.py:120
+msgid "Process LilyPond snippets in hybrid html, LaTeX or texinfo document"
 msgstr ""
 
-#: ly2dvi.py:334 main.cc:115
-msgid "write Makefile dependencies for every input file"
-msgstr "ÚÁÐÉÓÙ×ÁÔØ ÚÁ×ÉÓÉÍÏÓÔÉ Makefile ÄÌÑ ËÁÖÄÏÇÏ ×ÈÏÄÎÏÇÏ ÆÁÊÌÁ"
+#. another bug in option parser: --output=foe is taken as an abbreviation
+#. for --output-format
+#: lilypond-book.py:125 main.cc:110
+msgid "EXT"
+msgstr "òáóû"
 
-#: ly2dvi.py:335 midi2ly.py:98 mup2ly.py:74 update-lily.py:87 main.cc:111
-msgid "this help"
-msgstr "ÜÔÁ ÓÐÒÁ×ËÁ"
+#: lilypond-book.py:125
+#, fuzzy
+msgid "use output format EXT (texi [default], texi-html, latex, html)"
+msgstr "ÉÓÐÏÌØÚÏ×ÁÔØ ×ÙÈÏÄÎÏÊ ÆÏÒÍÁÔ òáóû"
+
+#: lilypond-book.py:126 lilypond-book.py:127 lilypond-book.py:129
+#: lilypond-book.py:130
+#, fuzzy
+msgid "DIM"
+msgstr "ëáô"
+
+#: lilypond-book.py:126
+msgid "default fontsize for music.  DIM is assumed to be in points"
+msgstr ""
+
+#: lilypond-book.py:127
+msgid "deprecated, use --default-music-fontsize"
+msgstr ""
 
-#: ly2dvi.py:336 main.cc:113 main.cc:118
+#: lilypond-book.py:128
+msgid "OPT"
+msgstr ""
+
+#: lilypond-book.py:128
+msgid "pass OPT quoted to the lilypond command line"
+msgstr ""
+
+#: lilypond-book.py:129
+msgid "force fontsize for all inline lilypond. DIM is assumed be to in points"
+msgstr ""
+
+#: lilypond-book.py:130
+msgid "deprecated, use --force-music-fontsize"
+msgstr ""
+
+#: lilypond-book.py:132 ly2dvi.py:130 main.cc:113 main.cc:118
 msgid "DIR"
 msgstr "ëáô"
 
-#: ly2dvi.py:336
+#: lilypond-book.py:132
+msgid "include path"
+msgstr ""
+
+#: lilypond-book.py:133
+#, fuzzy
+msgid "write dependencies"
+msgstr "× ÔÏ ×ÒÅÍÑ ËÁË ÏÖÉÄÁÌÏÓØ"
+
+#: lilypond-book.py:134
+msgid "PREF"
+msgstr ""
+
+#: lilypond-book.py:134
+msgid "prepend PREF before each -M dependency"
+msgstr ""
+
+#: lilypond-book.py:135
+msgid "don't run lilypond"
+msgstr ""
+
+#: lilypond-book.py:136
+msgid "don't generate pictures"
+msgstr ""
+
+#: lilypond-book.py:137
+msgid "strip all lilypond blocks from output"
+msgstr ""
+
+#: lilypond-book.py:138 lilypond-book.py:139 ly2dvi.py:135 ly2dvi.py:136
+#: midi2ly.py:102 main.cc:114 main.cc:117
+msgid "FILE"
+msgstr "æáêì"
+
+#: lilypond-book.py:138
+msgid "filename main output file"
+msgstr ""
+
+#: lilypond-book.py:139
+msgid "where to place generated files"
+msgstr ""
+
+#: lilypond-book.py:140 ly2dvi.py:137
+msgid "RES"
+msgstr ""
+
+#: lilypond-book.py:141 ly2dvi.py:138
+msgid "set the resolution of the preview to RES"
+msgstr ""
+
+#: lilypond-book.py:142 ly2dvi.py:148 midi2ly.py:105 mup2ly.py:78 main.cc:126
+#, fuzzy
+msgid "verbose"
+msgstr "ÂÙÔØ ÂÏÌÔÌÉ×ÙÍ"
+
+#: lilypond-book.py:143
+#, fuzzy
+msgid "print version information"
+msgstr "×Ù×ÏÄÉÔØ ÎÏÍÅÒ ×ÅÒÓÉÉ"
+
+#: lilypond-book.py:144 ly2dvi.py:150 midi2ly.py:107 mup2ly.py:80 main.cc:127
+msgid "show warranty and copyright"
+msgstr "ÐÏËÁÚÁÔØ ÇÁÒÁÎÔÉÀ É copyright"
+
+#. format specific strings, ie. regex-es for input, and % strings for output
+#. global variables
+#. lilypond_binary = 'valgrind --suppressions=/home/hanwen/usr/src/guile-1.6.supp  --num-callers=10 /home/hanwen/usr/src/lilypond/lily/out/lilypond'
+#. only use installed binary  when we're installed too.
+#. only use installed binary  when we're installed too.
+#. ###############################################################
+#. Dimension handling for LaTeX.
+#.
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#: lilypond-book.py:230
+msgid "LaTeX failed."
+msgstr ""
+
+#. URG see ly2dvi
+#. Convert numeric values, with or without specific dimension, to floats.
+#. Keep other strings
+#. ###############################################################
+#. How to output various structures.
+#. # maybe <hr> ?
+#. Verbatim text is always finished with \n.  FIXME: For HTML,
+#. this newline should be removed.
+#. Verbatim text is always finished with \n.  FIXME: For HTML,
+#. this newline should be removed.
+#. # Ugh we need to differentiate on origin:
+#. # lilypond-block origin wants an extra <p>, but
+#. # inline music doesn't.
+#. # possibly other center options?
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. do some tweaking: @ is needed in some ps stuff.
+#.
+#. ugh, the <p> below breaks inline images...
+#. clumsy workaround for python 2.2 pre bug.
+#. ###############################################################
+#. Recognize special sequences in the input
+#. Warning: This uses extended regular expressions.  Tread with care.
+#.
+#. legenda
+#.
+#. (?P<name>regex) -- assign result of REGEX to NAME
+#. *? -- match non-greedily.
+#. (?m) -- multiline regex: make ^ and $ match at each line
+#. (?s) -- make the dot match all characters including newline
+#. why do we have distinction between @mbinclude and @include?
+#. # we'd like to catch and reraise a more
+#. # detailed error, but alas, the exceptions
+#. # changed across the 1.5/2.1 boundary.
+#. ughUGH not original options
+#. First we want to scan the \documentclass line
+#. it should be the first non-comment line.
+#. The only thing we really need to know about the \documentclass line
+#. is if there are one or two columns to begin with.
+#. Then we add everything before \begin{document} to
+#. paperguru.m_document_preamble so that we can later write this header
+#. to a temporary file in find_latex_dims() to find textwidth.
+#. this is not bulletproof..., it checks the first 10 chunks
+#. newchunks.extend (func (m))
+#. python 1.5 compatible:
+#. we have to check for verbatim before doing include,
+#. because we don't want to include files that are mentioned
+#. inside a verbatim environment
+#. ugh fix input
+#. # Hmm, we should hash only lilypond source, and skip the
+#. # %options are ...
+#. # comment line
+#. # todo: include path, but strip
+#. # first part of the path.
+#. format == 'html'
+#. ugh rename
+#. Count sections/chapters.
+#. # TODO: do something like
+#. # this for texinfo/latex as well ?
+#. ugh
+#. fixme: be sys-independent.
+#.
+#. Ugh, fixing up dependencies for .tex generation
+#.
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#. # There used to be code to write .tex dependencies, but
+#. # that is silly: lilypond-book has its own dependency scheme
+#. # to ensure that all lily-XXX.tex files are there
+#. # TODO: put file name in front of texidoc.
+#. #
+#. # what's this? Docme --hwn
+#. #
+#. #docme: why global?
+#. Do It.
+#. should chmod -w
+#: lilypond-book.py:1557 ly2dvi.py:673 midi2ly.py:1018
+#, python-format
+msgid "getopt says: `%s'"
+msgstr ""
+
+#. HACK
+#. status = os.system ('lilypond -w')
+#: lilypond-book.py:1630 ly2dvi.py:777
+msgid "no files specified on command line"
+msgstr ""
+
+#.
+#. Petr, ik zou willen dat ik iets zinvoller deed,
+#. maar wat ik kan ik doen, het verandert toch niets?
+#. --hwn 20/aug/99
+#. !@PYTHON@
+#.
+#. ly2dvi.py -- Run LilyPond, add titles to bare score, generate printable
+#. document
+#. Invokes: lilypond, latex (or pdflatex), dvips, ps2pdf, gs
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. This is the third incarnation of ly2dvi.
+#.
+#. Earlier incarnations of ly2dvi were written by
+#. Jeffrey B. Reed<daboys@austin.rr.com> (Python version)
+#. Jan Arne Fagertun <Jan.A.Fagertun@@energy.sintef.no> (Bourne shell script)
+#.
+#. Note: gettext work best if we use ' for docstrings and "
+#. for gettextable strings.
+#. --> DO NOT USE ''' for docstrings.
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. if __name__ == '__main__':
+#. lilylib globals
+#. # FIXME
+#. # ly2dvi: silly name?
+#. # do -P or -p by default?
+#. #help_summary = _ ("Run LilyPond using LaTeX for titling")
+#: ly2dvi.py:121
+msgid "Run LilyPond, add titles, generate printable document"
+msgstr ""
+
+#: ly2dvi.py:127 main.cc:115
+msgid "write Makefile dependencies for every input file"
+msgstr "ÚÁÐÉÓÙ×ÁÔØ ÚÁ×ÉÓÉÍÏÓÔÉ Makefile ÄÌÑ ËÁÖÄÏÇÏ ×ÈÏÄÎÏÇÏ ÆÁÊÌÁ"
+
+#: ly2dvi.py:129
+msgid "print even more output"
+msgstr ""
+
+#: ly2dvi.py:130
 #, fuzzy
 msgid "add DIR to LilyPond's search path"
 msgstr "ÄÏÂÁ×ÉÔØ ëáô Ë ÐÕÔÉ ÐÏÉÓËÁ"
 
-#: ly2dvi.py:338
-#, c-format
+#: ly2dvi.py:132
+#, python-format
 msgid "keep all output, output to directory %s.dir"
 msgstr ""
 
-#: ly2dvi.py:339
+#: ly2dvi.py:133
 msgid "don't run LilyPond"
 msgstr ""
 
-#: ly2dvi.py:340 main.cc:116
+#: ly2dvi.py:134 main.cc:116
 msgid "produce MIDI output only"
 msgstr "ÐÒÏÉÚ×ÏÄÉÔØ ×Ù×ÏÄ ÔÏÌØËÏ MIDI"
 
-#: ly2dvi.py:341 ly2dvi.py:342 midi2ly.py:100 main.cc:114 main.cc:117
-msgid "FILE"
-msgstr "æáêì"
-
-#: ly2dvi.py:341 midi2ly.py:100
+#: ly2dvi.py:135 midi2ly.py:102
 #, fuzzy
 msgid "write ouput to FILE"
 msgstr "ÚÁÐÉÓÙ×ÁÔØ ×Ù×ÏÄ × ïóîï÷á[-x].ÒÁÓÛÉÒÅÎÉÅ"
 
-#: ly2dvi.py:342
+#: ly2dvi.py:136
 msgid "find pfa fonts used in FILE"
 msgstr ""
 
-#: ly2dvi.py:344
-msgid "set the resolution of the preview to RES"
+#: ly2dvi.py:139
+msgid "generate PostScript output"
 msgstr ""
 
-#: ly2dvi.py:345
-msgid "generate PostScript output"
+#: ly2dvi.py:140
+msgid "generate PNG page images"
+msgstr ""
+
+#: ly2dvi.py:141
+msgid "generate PS.GZ"
 msgstr ""
 
-#: ly2dvi.py:346
+#: ly2dvi.py:142
 msgid "generate PDF output"
 msgstr ""
 
-#: ly2dvi.py:347
+#: ly2dvi.py:143
 msgid "use pdflatex to generate a PDF output"
 msgstr ""
 
-#: ly2dvi.py:349
+#. FIXME: preview, picture; to indicate creation of a PNG?
+#: ly2dvi.py:145
 msgid "make a picture of the first system"
 msgstr ""
 
-#: ly2dvi.py:350
+#: ly2dvi.py:146
+msgid "make HTML file with links to all output"
+msgstr ""
+
+#: ly2dvi.py:147
 msgid "KEY=VAL"
 msgstr ""
 
-#: ly2dvi.py:350
+#: ly2dvi.py:147
 msgid "change global setting KEY to VAL"
 msgstr ""
 
-#: ly2dvi.py:351 midi2ly.py:103 mup2ly.py:77 update-lily.py:91 main.cc:126
-#, fuzzy
-msgid "verbose"
-msgstr "ÂÙÔØ ÂÏÌÔÌÉ×ÙÍ"
-
-#: ly2dvi.py:352 midi2ly.py:104 mup2ly.py:78 update-lily.py:92 main.cc:125
+#: ly2dvi.py:149 midi2ly.py:106 mup2ly.py:79 main.cc:125
 msgid "print version number"
 msgstr "×Ù×ÏÄÉÔØ ÎÏÍÅÒ ×ÅÒÓÉÉ"
 
-#: ly2dvi.py:353 midi2ly.py:105 mup2ly.py:79 update-lily.py:94 main.cc:127
-msgid "show warranty and copyright"
-msgstr "ÐÏËÁÚÁÔØ ÇÁÒÁÎÔÉÀ É copyright"
-
-#: ly2dvi.py:448
-#, fuzzy, c-format
+#. other globals
+#. Pdftex support
+#. # yuk.
+#. lilypond_binary = 'valgrind --suppressions=%(home)s/usr/src/guile-1.6.supp --num-callers=10 %(home)s/usr/src/lilypond/lily/out/lilypond '% { 'home' : '/home/hanwen' }
+#. only use installed binary  when we're installed too.
+#. init to empty; values here take precedence over values in the file
+#. # TODO: change name.
+#. for geometry v3
+#. Output formats that ly2dvi should create
+#. what a name.
+#. ly.warning (_ ("invalid value: %s") % `val`)
+#. ly.warning (_ ("invalid value: %s") % `val`)
+#: ly2dvi.py:232
+#, fuzzy, python-format
 msgid "no such setting: `%s'"
 msgstr "ÎÅÔ ÔÁËÏÇÏ ÉÎÓÔÒÕÍÅÎÔÁ: `%s'"
 
-#: ly2dvi.py:508
-#, c-format
+#. 2 == user interrupt.
+#: ly2dvi.py:274
+#, python-format
 msgid "LilyPond crashed (signal %d)."
 msgstr ""
 
-#: ly2dvi.py:509
+#: ly2dvi.py:275
 msgid "Please submit a bug report to bug-lilypond@gnu.org"
 msgstr ""
 
-#: ly2dvi.py:513
-#, c-format
-msgid "LilyPond failed on the input file (exit status %d)."
+#: ly2dvi.py:281
+#, python-format
+msgid "LilyPond failed on input file %s (exit status %d)"
 msgstr ""
 
-#: ly2dvi.py:522
-#, fuzzy, c-format
+#: ly2dvi.py:284
+#, python-format
+msgid "LilyPond failed on an input file (exit status %d)"
+msgstr ""
+
+#: ly2dvi.py:285
+#, fuzzy
+msgid "Continuing..."
+msgstr "÷ÙÂÒÁÓÙ×ÁÀ ÍÕÚÙËÕ: `%s'"
+
+#. urg
+#: ly2dvi.py:296
+#, fuzzy, python-format
 msgid "Analyzing %s..."
 msgstr "÷ÙÂÒÁÓÙ×ÁÀ ÍÕÚÙËÕ: `%s'"
 
-#: ly2dvi.py:578
-#, fuzzy, c-format
+#. search only the first 10k
+#: ly2dvi.py:354
+#, fuzzy, python-format
 msgid "no LilyPond output found for `%s'"
 msgstr "Lily ×ÙÈÏÄ × %s..."
 
-#: ly2dvi.py:618
-#, fuzzy, c-format
+#. The final \n seems important here. It ensures that the footers and taglines end up on the right page.
+#. TODO: should set textheight (enlarge) depending on papersize.
+#: ly2dvi.py:397
+#, fuzzy, python-format
 msgid "invalid value: `%s'"
 msgstr "ÎÅ×ÅÒÎÙÊ ÓÉÍ×ÏÌ: `%c'"
 
-#: ly2dvi.py:724
+#. set sane geometry width (a4-width) for linewidth = -1.
+#. who the hell is 597 ?
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#: ly2dvi.py:511
 msgid "LaTeX failed on the output file."
 msgstr ""
 
-#: ly2dvi.py:726
-msgid "The error log is as follows:"
+#. make a preview by rendering only the 1st line
+#. of each score
+#: ly2dvi.py:568
+msgid ""
+"Trying create PDF, but no PFA fonts found.\n"
+"Using bitmap fonts instead. This will look bad."
 msgstr ""
 
-#: ly2dvi.py:849
-#, fuzzy, c-format
+#. ugh. Different targets?
+#. Added as functionality to ly2dvi, because ly2dvi may well need to do this
+#. in future too.
+#. no ps header?
+#: ly2dvi.py:615
+#, fuzzy, python-format
 msgid "not a PostScript file: `%s'"
 msgstr "ÎÅ ÍÏÇÕ ÏÔËÒÙÔØ ÆÁÊÌ: `%s'"
 
-#: ly2dvi.py:865 midi2ly.py:1012 update-lily.py:458
-#, c-format
-msgid "getopt says: `%s'"
-msgstr ""
+#. todo
+#: ly2dvi.py:660
+#, fuzzy, python-format
+msgid "Writing HTML menu `%s'"
+msgstr "÷ÙÂÒÁÓÙ×ÁÀ ÍÕÚÙËÕ: `%s'"
 
-#: ly2dvi.py:948
+#. signal programming error
+#. Don't convert input files to abspath, rather prepend '.' to include
+#. path.
+#. As a neat trick, add directory part of first input file
+#. to include path.  That way you can do without the clumsy -I in:
+#. ly2dvi -I foe/bar/baz foo/bar/baz/baz.ly
+#: ly2dvi.py:769
 msgid "pseudo filter"
 msgstr ""
 
-#: ly2dvi.py:951
+#: ly2dvi.py:772
 msgid "pseudo filter only for single input file"
 msgstr ""
 
-#: ly2dvi.py:980
-#, fuzzy, c-format
+#. Ugh, maybe make a setup () function
+#. hmmm. Wish I'd 've written comments when I wrote this.
+#. now it looks complicated.
+#: ly2dvi.py:806
+#, fuzzy, python-format
 msgid "filename should not contain spaces: `%s'"
 msgstr "õÖÅ ÓÏÄÅÒÖÉÔ: `%s'"
 
-#: ly2dvi.py:1076 input-file-results.cc:67
-#, fuzzy, c-format
+#. to be sure, add tmpdir *in front* of inclusion path.
+#. os.environ['TEXINPUTS'] =  tmpdir + ':' + os.environ['TEXINPUTS']
+#. We catch all exceptions, because we need to do stuff at exit:
+#. * copy any successfully generated stuff from tempdir and
+#. notify user of that
+#. * cleanout tempdir
+#. ## ARGH. This also catches python programming errors.
+#. ## this should only catch lilypond nonzero exit  status
+#. ## --hwn
+#. TODO: friendly message about LilyPond setup/failing?
+#.
+#: ly2dvi.py:845
+msgid "Running LilyPond failed. Rerun with --verbose for a trace."
+msgstr ""
+
+#. Our LilyPond pseudo filter always outputs to 'lelie'
+#. have subsequent stages and use 'lelie' output.
+#. unless: add --tex, or --latex?
+#. TODO: friendly message about TeX/LaTeX setup,
+#. trying to run tex/latex by hand
+#: ly2dvi.py:886
+msgid "Failed to make PS file. Rerun with --verbose for a trace."
+msgstr ""
+
+#. unless: add --tex, or --latex?
+#. TODO: friendly message about TeX/LaTeX setup,
+#. trying to run tex/latex by hand
+#: ly2dvi.py:916
+msgid "Running LaTeX falied. Rerun with --verbose for a trace."
+msgstr ""
+
+#. add DEP to targets?
+#: ly2dvi.py:926 input-file-results.cc:68
+#, fuzzy, c-format, python-format
 msgid "dependencies output to `%s'..."
 msgstr "\"ÂÕÍÁÖÎÙÊ\" ×Ù×ÏÄ × %s..."
 
-#: ly2dvi.py:1090 ly2dvi.py:1104 includable-lexer.cc:49
-#: input-file-results.cc:187 input-file-results.cc:193 lily-guile.cc:97
-#, c-format
+#: ly2dvi.py:937
+#, fuzzy, python-format
+msgid "%s output to <stdout>..."
+msgstr "×Ù×ÏÄ MIDI × %s..."
+
+#: ly2dvi.py:942 ly2dvi.py:968 includable-lexer.cc:57
+#: input-file-results.cc:191 input-file-results.cc:197 lily-guile.cc:86
+#, c-format, python-format
 msgid "can't find file: `%s'"
 msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ ÆÁÊÌ: `%s'"
 
-#: ly2dvi.py:1102 midi2ly.py:996
-#, fuzzy, c-format
-msgid "%s output to `%s'..."
+#. Hmm, if this were a function, we could call it the except: clauses
+#: ly2dvi.py:965
+#, fuzzy, python-format
+msgid "%s output to %s..."
 msgstr "×Ù×ÏÄ MIDI × %s..."
 
-#: ly2dvi.py:1111
-msgid "no files specified on command line"
-msgstr ""
-
-#: midi2ly.py:92
+#. !@PYTHON@
+#.
+#. midi2ly.py -- LilyPond midi import script
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. ###############################################################
+#. Users of python modules should include this snippet.
+#.
+#. This soon to be removed for: import lilypond.lilylib as ly
+#. ###############################################################
+#. ###############################################################
+#. ############### CONSTANTS
+#. ###############################################################
+#. temp_dir = os.path.join (original_dir,  '%s.dir' % program_name)
+#. original_dir = os.getcwd ()
+#. keep_temp_dir_p = 0
+#: midi2ly.py:94
 msgid "Convert MIDI to LilyPond source"
 msgstr ""
 
-#: midi2ly.py:95
+#: midi2ly.py:97
 msgid "print absolute pitches"
 msgstr ""
 
-#: midi2ly.py:96 midi2ly.py:101
+#: midi2ly.py:98 midi2ly.py:103
 msgid "DUR"
 msgstr "íáöïò"
 
-#: midi2ly.py:96
+#: midi2ly.py:98
 msgid "quantise note durations on DUR"
 msgstr ""
 
-#: midi2ly.py:97
+#: midi2ly.py:99
 msgid "print explicit durations"
 msgstr ""
 
-#: midi2ly.py:99
+#: midi2ly.py:101
 msgid "ALT[:MINOR]"
 msgstr ""
 
-#: midi2ly.py:99
+#: midi2ly.py:101
 msgid "set key: ALT=+sharps|-flats; MINOR=1"
 msgstr ""
 
-#: midi2ly.py:101
+#: midi2ly.py:103
 msgid "quantise note starts on DUR"
 msgstr ""
 
-#: midi2ly.py:102
+#: midi2ly.py:104
 msgid "DUR*NUM/DEN"
 msgstr ""
 
-#: midi2ly.py:102
+#: midi2ly.py:104
 msgid "allow tuplet durations DUR*NUM/DEN"
 msgstr ""
 
-#: midi2ly.py:106
+#: midi2ly.py:108
 msgid "treat every text as a lyric"
 msgstr ""
 
-#: midi2ly.py:1027
+#: midi2ly.py:136 mup2ly.py:130
+msgid " 2001--2003"
+msgstr ""
+
+#: midi2ly.py:141 mup2ly.py:135
+msgid ""
+"\n"
+"Distributed under terms of the GNU General Public License. It comes with\n"
+"NO WARRANTY."
+msgstr ""
+
+#: midi2ly.py:166 mup2ly.py:162
+msgid "Exiting ... "
+msgstr ""
+
+#: midi2ly.py:264 mup2ly.py:261
+#, python-format
+msgid "command exited with value %d"
+msgstr ""
+
+#. ###############################################################
+#. END Library
+#. ###############################################################
+#. hmm
+#. major scale: do-do
+#. minor scale: la-la  (= + 5) '''
+#. By tradition, all scales now consist of a sequence
+#. of 7 notes each with a distinct name, from amongst
+#. a b c d e f g.  But, minor scales have a wide
+#. second interval at the top - the 'leading note' is
+#. sharped. (Why? it just works that way! Anything
+#. else doesn't sound as good and isn't as flexible at
+#. saying things. In medieval times, scales only had 6
+#. notes to avoid this problem - the hexachords.)
+#. So, the d minor scale is d e f g a b-flat c-sharp d
+#. - using d-flat for the leading note would skip the
+#. name c and duplicate the name d.  Why isn't c-sharp
+#. put in the key signature? Tradition. (It's also
+#. supposedly based on the Pythagorean theory of the
+#. cycle of fifths, but that really only applies to
+#. major scales...)  Anyway, g minor is g a b-flat c d
+#. e-flat f-sharp g, and all the other flat minor keys
+#. end up with a natural leading note. And there you
+#. have it.
+#. John Sankey <bf250@freenet.carleton.ca>
+#.
+#. Let's also do a-minor: a b c d e f gis a
+#.
+#. --jcn
+#. as -> gis
+#. des -> cis
+#. ges -> fis
+#. g -> fisis
+#. d -> cisis
+#. a -> gisis
+#. b -> ces
+#. e -> fes
+#. f -> eis
+#. c -> bis
+#. # FIXME: compile fix --jcn
+#. TODO: move space
+#. fis cis gis dis ais eis bis
+#. bes es as des ges ces fes
+#. urg, we should be sure that we're in a lyrics staff
+#. all include ALL_NOTES_OFF
+#. ugh, must set key while parsing
+#. because Note init uses key
+#. Better do Note.calc () at dump time?
+#. last_lyric.clocks = t - last_time
+#. hmm
+#. urg, this will barf at meter changes
+#. urg LilyPond doesn't start at c4, but
+#. remembers from previous tracks!
+#. reference_note = Note (clocks_per_4, 4*12, 0)
+#. must be in \notes mode for parsing \skip
+#: midi2ly.py:1002
+#, fuzzy, python-format
+msgid "%s output to `%s'..."
+msgstr "×Ù×ÏÄ MIDI × %s..."
+
+#: midi2ly.py:1033
 msgid "Example:"
 msgstr ""
 
-#: midi2ly.py:1081
+#: midi2ly.py:1083
 msgid "no files specified on command line."
 msgstr ""
 
-#: mup2ly.py:69
+#. !@PYTHON@
+#. mup2ly.py -- mup input converter
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c) 2001
+#. if set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#: mup2ly.py:70
 msgid "Convert mup to LilyPond source"
 msgstr ""
 
-#: mup2ly.py:72
+#: mup2ly.py:73
 msgid "debug"
 msgstr ""
 
-#: mup2ly.py:73
+#: mup2ly.py:74
 msgid "define macro NAME [optional expansion EXP]"
 msgstr ""
 
-#: mup2ly.py:75 main.cc:117
+#: mup2ly.py:76 main.cc:117
 #, fuzzy
 msgid "write output to FILE"
 msgstr "ÚÁÐÉÓÙ×ÁÔØ ×Ù×ÏÄ × ïóîï÷á[-x].ÒÁÓÛÉÒÅÎÉÅ"
 
-#: mup2ly.py:76
+#: mup2ly.py:77
 msgid "only pre-process"
 msgstr ""
 
-#: mup2ly.py:1073
-#, fuzzy, c-format
+#. Duh.  Python style portable: cp *.EXT OUTDIR
+#. system ('cp *.%s %s' % (ext, outdir), 1)
+#. Python < 1.5.2 compatibility
+#.
+#. On most platforms, this is equivalent to
+#. `normpath(join(os.getcwd()), PATH)'.  *Added in Python version 1.5.2*
+#. if set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. ###############################################################
+#. END Library
+#.
+#. PMX cut and paste
+#.
+#. if not self.entries:
+#. #return '\n'
+#. #ugh ugh
+#. return '\n%s = {}\n\n' % self.idstring ()
+#. ugh
+#. def set_clef (self, letter):
+#. clstr = clef_table[letter]
+#. self.voices[0].add_nonchord (Clef (clstr))
+#. urg
+#. maybe use import copy?
+#. for i in self.pitches:
+#. ch.pitches.append (i)
+#. for i in self.scripts:
+#. ch.scripts.append (i)
+#. http://www.arkkra.com/doc/uguide/contexts.html
+#. #self.current_staffs = []
+#. duh
+#. FIXME: 1?
+#. FIXME: does key play any role in this?
+#. ch = self.current_voices[0].last_chord ()
+#. ch.basic_duration = self.current_voices[0].last_chord ().basic_duration
+#. ugh
+#. ch = self.current_voices[0].last_chord ()
+#. `;' is not a separator, chords end with ';'
+#. mup resets default duration and pitch each bar
+#. ugh: these (and lots more) should also be parsed in
+#. context staff.  we should have a class Staff_properties
+#. and parse/set all those.
+#. shortcut: set to official mup maximum (duh)
+#. self.set_staffs (40)
+#: mup2ly.py:1076
+#, fuzzy, python-format
 msgid "no such context: %s"
 msgstr "ÎÅÔ ÔÁËÏÇÏ ÉÎÓÔÒÕÍÅÎÔÁ: `%s'"
 
-#: mup2ly.py:1297
-#, fuzzy, c-format
+#. hmm
+#. dig this: mup allows ifdefs inside macro bodies
+#. don't do nested multi-line defines
+#. duh: mup is strictly line-based, except for `define',
+#. which is `@' terminated and may span several lines
+#. don't define new macros in unactive areas
+#. To support nested multi-line define's
+#. process_function and macro_name, macro_body
+#. should become lists (stacks)
+#. The mup manual is undetermined on this
+#. and I haven't seen examples doing it.
+#.
+#. don't do nested multi-line define's
+#. writes to stdout for help2man
+#. don't call
+#. identify ()
+#. sys.stdout.flush ()
+#. handy emacs testing
+#. if not files:
+#. files = ['template.mup']
+#: mup2ly.py:1300
+#, fuzzy, python-format
 msgid "Processing `%s'..."
 msgstr "ïÂÒÁÂÁÔÙ×ÁÀ..."
 
-#: mup2ly.py:1316
-#, fuzzy, c-format
+#: mup2ly.py:1319
+#, fuzzy, python-format
 msgid "Writing `%s'..."
 msgstr "÷ÙÂÒÁÓÙ×ÁÀ ÍÕÚÙËÕ: `%s'"
 
-#: update-lily.py:76
-msgid "Fetch and rebuild from latest source package"
-msgstr ""
-
-#: update-lily.py:79
-#, c-format
-msgid "unpack and build in DIR [%s]"
-msgstr ""
-
-#: update-lily.py:80
-msgid "execute COMMAND, subtitute:"
-msgstr ""
-
-#: update-lily.py:81
-msgid "%b: build root"
-msgstr ""
-
-#: update-lily.py:82
-#, c-format
-msgid "%n: package name"
-msgstr ""
-
-#: update-lily.py:83
-#, fuzzy
-msgid "%r: release directory"
-msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ ÉÌÉ ÓÏÚÄÁÔØ: `%s'"
-
-#: update-lily.py:84
-msgid "%t: tarball"
-msgstr ""
-
-#: update-lily.py:85
-msgid "%v: package version"
-msgstr ""
-
-#: update-lily.py:88
-#, c-format
-msgid "keep all output, and name the directory %s"
-msgstr ""
-
-#: update-lily.py:89
-msgid "upon failure notify EMAIL[,EMAIL]"
-msgstr ""
-
-#: update-lily.py:90
-msgid "remove previous build"
-msgstr ""
-
-#: update-lily.py:93
-#, c-format
-msgid "fetch and build URL [%s]"
-msgstr ""
-
-#: update-lily.py:429
-#, fuzzy, c-format
-msgid "Listing `%s'..."
-msgstr "÷ÙÂÒÁÓÙ×ÁÀ ÍÕÚÙËÕ: `%s'"
-
-#: update-lily.py:497
-#, c-format
-msgid "latest is: %s"
-msgstr ""
-
-#: update-lily.py:498
-#, c-format
-msgid "relax, %s is up to date"
-msgstr ""
-
-#: update-lily.py:507 update-lily.py:520
-#, fuzzy, c-format
-msgid "Fetching `%s'..."
-msgstr "÷ÙÂÒÁÓÙ×ÁÀ ÍÕÚÙËÕ: `%s'"
-
-#: update-lily.py:529
-#, fuzzy, c-format
-msgid "Building `%s'..."
-msgstr "÷ÙÂÒÁÓÙ×ÁÀ ÍÕÚÙËÕ: `%s'"
-
 #: getopt-long.cc:146
 #, c-format
 msgid "option `%s' requires an argument"
@@ -431,52 +1203,57 @@ msgstr "
 msgid "invalid argument `%s' to option `%s'"
 msgstr "ÎÅ×ÅÒÎÙÊ ÁÒÇÕÍÅÎÔ `%s' ÄÌÑ ÏÐÃÉÉ `%s'"
 
-#: warn.cc:24
+#: warn.cc:25
 #, fuzzy, c-format
 msgid "warning: %s\n"
 msgstr "ÐÒÅÄÕÐÒÅÖÄÁÀ: "
 
-#: warn.cc:30
+#: warn.cc:31
 #, fuzzy, c-format
 msgid "error: %s\n"
 msgstr "ÏÛÉÂËÁ: "
 
-#: warn.cc:43
+#: warn.cc:44
 #, fuzzy, c-format
 msgid "programming error: %s (Continuing; cross thumbs)\n"
 msgstr " (ðÒÏÄÏÌÖÁÀ; ÓËÒÅÓÔÉÔÅ ÐÁÌØÃÙ)"
 
-#: accidental-engraver.cc:181 new-accidental-engraver.cc:237
+#: accidental.cc:202 key-signature-interface.cc:137
+#, c-format
+msgid "accidental `%s' not found"
+msgstr ""
+
+#: accidental-engraver.cc:171 new-accidental-engraver.cc:238
 #, c-format
 msgid "Accidental typesetting list must begin with context-name: %s"
 msgstr ""
 
-#: accidental-engraver.cc:206 new-accidental-engraver.cc:262
+#: accidental-engraver.cc:196 new-accidental-engraver.cc:263
 #, fuzzy, c-format
 msgid "unknown accidental typesetting: %s. Ignored"
 msgstr "ÎÅÉÚ×ÅÓÔÎÁÑ escape-ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ: `\\%s'"
 
-#: accidental-engraver.cc:222 new-accidental-engraver.cc:278
+#: accidental-engraver.cc:212 new-accidental-engraver.cc:279
 #, c-format
 msgid "Symbol is not a parent context: %s. Ignored"
 msgstr ""
 
-#: accidental-engraver.cc:225 new-accidental-engraver.cc:281
+#: accidental-engraver.cc:215 new-accidental-engraver.cc:282
 #, c-format
 msgid "Accidental typesetting must be pair or context-name: %s"
 msgstr ""
 
-#: afm.cc:60
+#: afm.cc:66
 #, c-format
 msgid "can't find character number: %d"
 msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ ÓÉÍ×ÏÌ Ó ÎÏÍÅÒÏÍ: %d"
 
-#: afm.cc:75
+#: afm.cc:81
 #, c-format
 msgid "can't find character called: `%s'"
 msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ ÓÉÍ×ÏÌ ÐÏÄ ÎÁÚ×ÁÎÉÅÍ: `%s'"
 
-#: afm.cc:125
+#: afm.cc:142
 #, fuzzy, c-format
 msgid "Error parsing AFM file: `%s'"
 msgstr "ïÛÉÂËÁ ÐÒÉ ÁÎÁÌÉÚÅ ÆÁÊÌÁ AFM"
@@ -497,76 +1274,82 @@ msgid ""
 "to show font paths."
 msgstr ""
 
-#: all-font-metrics.cc:167
+#: all-font-metrics.cc:103
+msgid ""
+"A script for removing font-files is delivered with the source-code,\n"
+"in buildscripts/clean-fonts.sh"
+msgstr ""
+
+#: all-font-metrics.cc:169
 #, c-format
 msgid "can't find font: `%s'"
 msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ ÛÒÉÆÔ: `%s'"
 
-#: all-font-metrics.cc:168
+#: all-font-metrics.cc:170
 msgid "Loading default font"
 msgstr "úÁÇÒÕÖÁÀ ÛÒÉÆÔ ÐÏ ÕÍÏÌÞÁÎÉÀ"
 
-#: all-font-metrics.cc:183
+#: all-font-metrics.cc:185
 #, c-format
 msgid "can't find default font: `%s'"
 msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ ÛÒÉÆÔ ÐÏ ÕÍÏÌÞÁÎÉÀ: `%s'"
 
-#: all-font-metrics.cc:184 includable-lexer.cc:51 input-file-results.cc:188
+#: all-font-metrics.cc:186 includable-lexer.cc:59 input-file-results.cc:192
 #, c-format
 msgid "(search path: `%s')"
 msgstr "(ÐÕÔØ ÐÏÉÓËÁ: `%s')"
 
-#: all-font-metrics.cc:185
+#: all-font-metrics.cc:187
 msgid "Giving up"
 msgstr "óÄÁÀÓØ"
 
 #: auto-change-iterator.cc:43 change-iterator.cc:60
-#: part-combine-music-iterator.cc:97
+#: part-combine-music-iterator.cc:120
 msgid "Can't switch translators, I'm there already"
 msgstr "îÅ ÍÏÇÕ ÐÅÒÅËÌÀÞÉÔØ ÐÅÒÅ×ÏÄÞÉËÏ×, Ñ ÕÖÅ ÔÁÍ"
 
-#: bar-check-iterator.cc:58
-#, c-format
-msgid "barcheck failed at: %s"
+#: bar-check-iterator.cc:51
+#, c-format
+msgid "barcheck failed at: %s"
+msgstr ""
+
+#: beam.cc:146
+#, fuzzy
+msgid "beam has less than two visible stems"
+msgstr "ÇÒÕÐÐÉÒÏ×ËÁ ÍÅÎÅÅ Ä×ÕÈ ÛÔÉÌÅÊ"
+
+#: beam.cc:151
+#, fuzzy
+msgid "Beam has less than two stems. Removing beam."
+msgstr "ÇÒÕÐÐÉÒÏ×ËÁ ÍÅÎÅÅ Ä×ÕÈ ÛÔÉÌÅÊ"
+
+#: beam.cc:976
+msgid ""
+"Not sure that we can find a nice beam slope (no viable initial configuration "
+"found)."
 msgstr ""
 
-#: beam-engraver.cc:167
+#: beam-engraver.cc:176
 msgid "already have a beam"
 msgstr "ÕÖÅ ÉÍÅÅÍ ÇÒÕÐÐÕ ÛÔÉÌÅÊ"
 
-#: beam-engraver.cc:234
+#: beam-engraver.cc:259
 msgid "unterminated beam"
 msgstr "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÇÒÕÐÐÉÒÏ×ËÁ ÛÔÉÌÅÊ"
 
-#: beam-engraver.cc:267 chord-tremolo-engraver.cc:175
+#: beam-engraver.cc:292 chord-tremolo-engraver.cc:197
 msgid "stem must have Rhythmic structure"
 msgstr "ÛÔÉÌØ ÄÏÌÖÅΠÉÍÅÔØ ÒÉÔÍÏ×ÕÀ ÓÔÒÕËÔÕÒÕ"
 
-#: beam-engraver.cc:281
+#: beam-engraver.cc:306
 msgid "stem doesn't fit in beam"
 msgstr "ÛÔÉÌØ ÎÅ ×ÌÅÚÁÅÔ × ÇÒÕÐÐÉÒÏ×ËÕ"
 
-#: beam-engraver.cc:282
+#: beam-engraver.cc:307
 msgid "beam was started here"
 msgstr "ÇÒÕÐÐÉÒÏ×ËÁ ÎÁÞÉÎÁÌÁÓØ ÚÄÅÓØ"
 
-#: beam.cc:134
-#, fuzzy
-msgid "beam has less than two visible stems"
-msgstr "ÇÒÕÐÐÉÒÏ×ËÁ ÍÅÎÅÅ Ä×ÕÈ ÛÔÉÌÅÊ"
-
-#: beam.cc:139
-#, fuzzy
-msgid "Beam has less than two stems. Removing beam."
-msgstr "ÇÒÕÐÐÉÒÏ×ËÁ ÍÅÎÅÅ Ä×ÕÈ ÛÔÉÌÅÊ"
-
-#: beam.cc:951
-msgid ""
-"Not sure that we can find a nice beam slope (no viable initial configuration "
-"found)."
-msgstr ""
-
-#: break-align-interface.cc:166
+#: break-align-interface.cc:173
 #, fuzzy, c-format
 msgid "No spacing entry from %s to `%s'"
 msgstr "ÎÅÉÚ×ÅÓÔÎÁÑ ÐÅÒÅÍÅÎÎÁÑ ÂÕÍÁÇÉ: `%s'"
@@ -590,66 +1373,107 @@ msgstr "
 msgid "none of these in my family"
 msgstr "ÏÎÉ ÍÎÅ ÎÅ ÒÏÄÓÔ×ÅÎÎÉËÉ"
 
-#: chord-tremolo-engraver.cc:137 percent-repeat-engraver.cc:182
+#: chord-tremolo-engraver.cc:98
+#, c-format
+msgid "Chord tremolo with %d elements. Must have two elements."
+msgstr ""
+
+#: chord-tremolo-engraver.cc:157
 msgid "unterminated chord tremolo"
 msgstr "ÎÅÚÁËÏÎÞÅÎÎÏÅ ÔÒÅÍÏÌÏ ÁËËÏÒÄÁ"
 
-#: chord-tremolo-iterator.cc:50
+#: chord-tremolo-iterator.cc:69
 #, fuzzy
 msgid "no one to print a tremolos"
 msgstr "ÎÅËÏÍÕ ÒÉÓÏ×ÁÔØ ÓËÏÂÕ ÐÏ×ÔÏÒÁ"
 
-#: chord.cc:313
+#: clef.cc:64
+#, c-format
+msgid "clef `%s' not found"
+msgstr ""
+
+#: cluster.cc:131
+#, fuzzy, c-format
+msgid "unknown cluster style `%s'"
+msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÔÉРËÌÀÞÁ"
+
+#: coherent-ligature-engraver.cc:84
+#, c-format
+msgid "gotcha: ptr=%ul"
+msgstr ""
+
+#: coherent-ligature-engraver.cc:96
+#, c-format
+msgid "distance=%f"
+msgstr ""
+
+#: coherent-ligature-engraver.cc:139
 #, c-format
-msgid "invalid subtraction: not part of chord: %s"
-msgstr "ÎÅ×ÅÒÎÏÅ ×ÙÞÉÔÁÎÉÅ: ÎÅ ÞÁÓÔØ ÁËËÏÒÄÁ: %s"
+msgid "Coherent_ligature_engraver: setting `spacing-increment = 0.01': ptr=%ul"
+msgstr ""
 
-#: chord.cc:342
+#: custos.cc:92
 #, c-format
-msgid "invalid inversion pitch: not part of chord: %s"
+msgid "custos `%s' not found"
 msgstr ""
 
 #: dimensions.cc:13
 msgid "NaN"
 msgstr "NaN"
 
-#: dynamic-engraver.cc:187 span-dynamic-performer.cc:82
+#: dynamic-engraver.cc:204 span-dynamic-performer.cc:82
 msgid "can't find start of (de)crescendo"
 msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ ÎÁÞÁÌÏ (ÄÅ)ËÒÅÝÅÎÄÏ"
 
-#: dynamic-engraver.cc:211
+#: dynamic-engraver.cc:216
 msgid "already have a crescendo"
 msgstr "ËÒÅÝÅÎÄÏ ÕÖÅ ÅÓÔØ"
 
-#: dynamic-engraver.cc:212
+#: dynamic-engraver.cc:217
 msgid "already have a decrescendo"
 msgstr "ÄÅËÒÅÝÅÎÄÏ ÕÖÅ ÅÓÔØ"
 
-#: dynamic-engraver.cc:215
+#: dynamic-engraver.cc:220
 #, fuzzy
 msgid "Cresc started here"
 msgstr "ÇÒÕÐÐÉÒÏ×ËÁ ÎÁÞÉÎÁÌÁÓØ ÚÄÅÓØ"
 
-#: dynamic-engraver.cc:307
+#: dynamic-engraver.cc:323
 msgid "unterminated (de)crescendo"
 msgstr "ÎÅÚÁËÏÎÞÅÎÎÏÅ (ÄÅ)ËÒÅÝÅÎÄÏ"
 
-#: extender-engraver.cc:96
+#: event.cc:49
+#, c-format
+msgid "Transposition by %s makes alteration larger than two"
+msgstr ""
+
+#: event-chord-iterator.cc:76 output-property-music-iterator.cc:27
+#, fuzzy, c-format
+msgid "Junking event: `%s'"
+msgstr "÷ÙÂÒÁÓÙ×ÁÀ ÚÁÐÒÏÓ: `%s'"
+
+#: extender-engraver.cc:94
 msgid "unterminated extender"
 msgstr "ÎÅÚÁ×ÅÒÛÅÎÎÙÊ ÒÁÓÛÉÒÉÔÅÌØ"
 
-#: extender-engraver.cc:108
-msgid "Nothing to connect extender to on the left.  Ignoring extender request."
+#: extender-engraver.cc:106
+#, fuzzy
+msgid "Nothing to connect extender to on the left.  Ignoring extender event."
 msgstr "îÅËÕÄÁ ÐÒÉÓÏÅÄÉÎÉÔØ ÒÁÓÛÉÒÉÔÅÌØ ÓÌÅ×Á. éÇÎÏÒÉÒÕÀ ÚÁÐÒÏÓ ÒÁÓÛÉÒÉÔÅÌÑ."
 
-#: folded-repeat-iterator.cc:78
+#: folded-repeat-iterator.cc:88
 msgid "no one to print a repeat brace"
 msgstr "ÎÅËÏÍÕ ÒÉÓÏ×ÁÔØ ÓËÏÂÕ ÐÏ×ÔÏÒÁ"
 
-#: font-interface.cc:238
+#: font-interface.cc:239
 msgid "couldn't find any font satisfying "
 msgstr ""
 
+#: glissando-engraver.cc:100
+#, fuzzy
+msgid "Unterminated glissando."
+msgstr "ÎÅÚÁ×ÅÒÛÅÎÎÁÑ ÌÉÇÁ"
+
 #: gourlay-breaking.cc:188
 #, c-format
 msgid "Optimal demerits: %f"
@@ -659,6 +1483,27 @@ msgstr ""
 msgid "No feasible line breaking found"
 msgstr "îÅ ÎÁÊÄÅÎÏ ÕÄÏ×ÌÅÔ×ÏÒÉÔÅÌØÎÏÇÏ ÒÁÚÒÙ×Á ÓÔÒÏËÉ"
 
+#: gregorian-ligature-engraver.cc:59
+#, c-format
+msgid "\\%s ignored"
+msgstr ""
+
+#: gregorian-ligature-engraver.cc:64
+#, c-format
+msgid "implied \\%s added"
+msgstr ""
+
+#.
+#. Todo: do something sensible. The grob-pq-engraver is not water
+#. tight, and stuff like tupletSpannerDuration confuses it.
+#.
+#: grob-pq-engraver.cc:130
+#, c-format
+msgid ""
+"Skipped something?\n"
+"Grob %s ended before I expected it to end."
+msgstr ""
+
 #: hairpin.cc:98
 msgid "decrescendo too small"
 msgstr ""
@@ -668,113 +1513,115 @@ msgstr ""
 msgid "crescendo too small"
 msgstr "ËÒÅÝÅÎÄÏ"
 
-#: hyphen-engraver.cc:89
+#: horizontal-bracket-engraver.cc:64
+#, fuzzy
+msgid "Don't have that many brackets."
+msgstr "îÅÔ ÔÁËÏÇÏ ËÏÌÉÞÅÓÔ×Á ÏËÔÁ× (%s)"
+
+#: horizontal-bracket-engraver.cc:73
+msgid "Conflicting note group events."
+msgstr ""
+
+#: hyphen-engraver.cc:87
 msgid "unterminated hyphen"
 msgstr "ÐÅÒÅÎÏÓ ÂÅÚ ÏËÏÎÞÁÎÉÑ"
 
-#: hyphen-engraver.cc:101
-msgid "Nothing to connect hyphen to on the left.  Ignoring hyphen request."
+#: hyphen-engraver.cc:99
+#, fuzzy
+msgid "Nothing to connect hyphen to on the left.  Ignoring hyphen event."
 msgstr "îÅ Ë ÞÅÍÕ ÐÒÉÓÏÅÄÉÎÉÔØ ÐÅÒÅÎÏÓ ÓÌÅ×Á. éÇÎÏÒÉÒÕÀ ÚÁÐÒÏÓ ÐÅÒÅÎÏÓÁ."
 
-#: input-file-results.cc:71 source-file.cc:52 streams.cc:38
+#: input.cc:99
+msgid "non fatal error: "
+msgstr "ÎÅ ÓÍÅÒÔÅÌØÎÁÑ ÏÛÉÂËÁ: "
+
+#: input.cc:107 source-file.cc:146 source-file.cc:239
+msgid "position unknown"
+msgstr "ÐÏÌÏÖÅÎÉÅ ÎÅÉÚ×ÅÓÔÎÏ"
+
+#: input-file-results.cc:72 source-file.cc:54 streams.cc:38
 #, c-format
 msgid "can't open file: `%s'"
 msgstr "ÎÅ ÍÏÇÕ ÏÔËÒÙÔØ ÆÁÊÌ: `%s'"
 
-#: input-file-results.cc:131
+#: input-file-results.cc:132
 msgid "Score contains errors; will not process it"
 msgstr ""
 
-#: input-file-results.cc:168
+#: input-file-results.cc:172
 #, fuzzy, c-format
 msgid "Now processing: `%s'"
 msgstr "ÎÅÉÚ×ÅÓÔÎÁÑ escape-ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ: `\\%s'"
 
-#: input.cc:98
-msgid "non fatal error: "
-msgstr "ÎÅ ÓÍÅÒÔÅÌØÎÁÑ ÏÛÉÂËÁ: "
-
-#: input.cc:106 source-file.cc:147 source-file.cc:240
-msgid "position unknown"
-msgstr "ÐÏÌÏÖÅÎÉÅ ÎÅÉÚ×ÅÓÔÎÏ"
-
-#: key-engraver.cc:91
-msgid "Conflicting key signatures found."
-msgstr ""
-
-#: key-engraver.cc:92
-msgid "This was the other key definition."
-msgstr ""
-
-#: key-performer.cc:92
+#: key-performer.cc:96
 msgid "FIXME: key change merge"
 msgstr "éóðòá÷øíåîñ: ÓÌÉÑÎÉÅ ÓÍÅÎÙ ËÌÀÞÁ"
 
-#: kpath.cc:64
+#: kpath.cc:76
 #, fuzzy, c-format
 msgid "Kpathsea couldn't find TFM file `%s'"
 msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ ÆÁÊÌ: `%s'"
 
-#: ligature-bracket.cc:105 ligature-bracket.cc:139 ligature-engraver.cc:124
-msgid "no left bound"
-msgstr ""
-
-#: ligature-engraver.cc:81
+#: ligature-engraver.cc:159
 #, fuzzy
 msgid "can't find start of ligature"
 msgstr "ÞÔÏ-ÔÏ ÎÅ ÎÁÊÄÕ ÎÁÞÁÌÏ ÇÒÕÐÐÉÒÏ×ËÉ ÛÔÉÌÅÊ"
 
-#: ligature-engraver.cc:86
+#: ligature-engraver.cc:165
 msgid "no right bound"
 msgstr ""
 
-#: ligature-engraver.cc:108
+#: ligature-engraver.cc:191
 #, fuzzy
 msgid "already have a ligature"
 msgstr "ÕÖÅ ÉÍÅÅÍ ÇÒÕÐÐÕ ÛÔÉÌÅÊ"
 
-#: ligature-engraver.cc:166
+#: ligature-engraver.cc:207
+msgid "no left bound"
+msgstr ""
+
+#: ligature-engraver.cc:258
 #, fuzzy
 msgid "unterminated ligature"
 msgstr "ÎÅÚÁ×ÅÒÛÅÎÎÁÑ ÌÉÇÁ"
 
-#: ligature-engraver.cc:183
+#: ligature-engraver.cc:282
 msgid "ligature may not contain rest; ignoring rest"
 msgstr ""
 
-#: ligature-engraver.cc:184
+#: ligature-engraver.cc:283
 #, fuzzy
 msgid "ligature was started here"
 msgstr "ÇÒÕÐÐÉÒÏ×ËÁ ÎÁÞÉÎÁÌÁÓØ ÚÄÅÓØ"
 
-#: lily-guile.cc:99
+#: lily-guile.cc:88
 #, c-format
 msgid "(load path: `%s')"
 msgstr "(ÐÕÔØ ÚÁÇÒÕÚËÉ: `%s')"
 
-#: lily-guile.cc:582
+#: lily-guile.cc:576
 #, c-format
 msgid "Can't find property type-check for `%s' (%s)."
 msgstr ""
 
-#: lily-guile.cc:585
+#: lily-guile.cc:579
 msgid "Perhaps you made a typing error?"
 msgstr ""
 
-#: lily-guile.cc:591
+#: lily-guile.cc:585
 msgid "Doing assignment anyway."
 msgstr ""
 
-#: lily-guile.cc:605
+#: lily-guile.cc:599
 #, c-format
 msgid "Type check for `%s' failed; value `%s' must be of type `%s'"
 msgstr ""
 
-#: lookup.cc:141
+#: lookup.cc:173
 msgid "round filled box horizontal extent smaller than blot; decreasing blot"
 msgstr ""
 
-#: lookup.cc:146
+#: lookup.cc:178
 msgid "round filled box vertical extent smaller than blot; decreasing blot"
 msgstr ""
 
@@ -794,12 +1641,6 @@ msgstr ""
 msgid "set options, use -e '(ly-option-usage)' for help"
 msgstr ""
 
-#. another bug in option parser: --output=foe is taken as an abbreviation
-#. for --output-format
-#: main.cc:110
-msgid "EXT"
-msgstr "òáóû"
-
 #: main.cc:110
 msgid "use output format EXT"
 msgstr ""
@@ -864,11 +1705,6 @@ msgstr ""
 "ÐÒÉ ÓÏÂÌÀÄÅÎÉÉ ÎÅËÏÔÏÒÙÈ ÕÓÌÏ×ÉÊ. ÷ÙÚÙ×ÁÊÔÅ ËÁË `%s --warranty' ÄÌÑ\n"
 "ÐÏÌÕÞÅÎÉÑ ÄÏÐÏÌÎÉÔÅÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ.\n"
 
-#: main.cc:188 main.cc:200
-#, c-format
-msgid "Copyright (c) %s by"
-msgstr "÷ÓÅ ÐÒÁ×Á ÚÁÝÉÝÅÎÙ (c) %s by"
-
 #: main.cc:198
 #, fuzzy
 msgid "GNU LilyPond -- The music typesetter"
@@ -887,82 +1723,78 @@ msgid ""
 "\n"
 "    You should have received a copy (refer to the file COPYING) of the\n"
 "GNU General Public License along with this program; if not, write to\n"
-"the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,\n"
+"the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA "
+"02111-1307,\n"
 "USA.\n"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:321 mensural-ligature-engraver.cc:483
-msgid "unexpected case fall-through"
+#: mensural-ligature.cc:153
+#, c-format
+msgid "Mensural_ligature:thickness undefined on flexa %d; assuming 1.4"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:332
-msgid "ligature with less than 2 heads -> skipping"
+#: mensural-ligature.cc:169
+#, c-format
+msgid "Mensural_ligature:delta-pitch undefined on flexa %d; assuming 0"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:347
-msgid "can not determine pitch of ligature primitive -> skipping"
+#: mensural-ligature.cc:182
+#, c-format
+msgid "Mensural_ligature:flexa-width undefined on flexa %d; assuming 2.0"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:370
-msgid "prime interval within ligature -> skipping"
+#: mensural-ligature.cc:215
+msgid "Mensural_ligature:unexpected case fall-through"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:380
-msgid "mensural ligature: duration none of L, B, S -> skipping"
+#: mensural-ligature.cc:225
+msgid "Mensural_ligature: (join_left == 0)"
 msgstr ""
 
-#: mensural-ligature.cc:152
-#, c-format
-msgid "Mensural_ligature: thickness undefined on flexa %d; assuming 1.4"
+#: mensural-ligature-engraver.cc:248 mensural-ligature-engraver.cc:397
+msgid "unexpected case fall-through"
 msgstr ""
 
-#: mensural-ligature.cc:166
-#, c-format
-msgid "Mensural_ligature: delta-pitch undefined on flexa %d; assuming 0"
+#: mensural-ligature-engraver.cc:259
+msgid "ligature with less than 2 heads -> skipping"
 msgstr ""
 
-#: mensural-ligature.cc:177
-#, c-format
-msgid "Mensural_ligature: flexa-width undefined on flexa %d; assuming 2.0"
+#: mensural-ligature-engraver.cc:279
+msgid "can not determine pitch of ligature primitive -> skipping"
 msgstr ""
 
-#: mensural-ligature.cc:208
-msgid "Mensural_ligature: unexpected case fall-through"
+#: mensural-ligature-engraver.cc:302
+msgid "prime interval within ligature -> skipping"
 msgstr ""
 
-#: mensural-ligature.cc:217
-msgid "Menusral_ligature: (join_left == 0)"
+#: mensural-ligature-engraver.cc:312
+msgid "mensural ligature: duration none of L, B, S -> skipping"
 msgstr ""
 
-#: midi-item.cc:144
+#: midi-item.cc:148
 #, c-format
 msgid "no such instrument: `%s'"
 msgstr "ÎÅÔ ÔÁËÏÇÏ ÉÎÓÔÒÕÍÅÎÔÁ: `%s'"
 
-#: midi-item.cc:234
+#: midi-item.cc:238
 msgid "silly duration"
 msgstr "ÇÌÕÐÁÑ ÐÒÏÄÏÌÖÉÔÅÌØÎÏÓÔØ"
 
-#: midi-item.cc:247
+#: midi-item.cc:251
 msgid "silly pitch"
 msgstr "ÇÌÕÐÙÊ ÔÏÎ"
 
-#: music-output-def.cc:113
+#: music-output-def.cc:111
 #, c-format
 msgid "can't find `%s' context"
 msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ ËÏÎÔÅËÓÔ `%s'"
 
-#: music.cc:159
-#, c-format
-msgid "Transposition by %s makes accidental larger than two"
-msgstr ""
-
-#: my-lily-lexer.cc:142
+#: my-lily-lexer.cc:169
 #, c-format
 msgid "Identifier name is a keyword: `%s'"
 msgstr "éÍÑ ËÏÍÁÎÄÙ Ñ×ÌÑÅÔÓÑ ËÌÀÞÅ×ÙÍ ÓÌÏ×ÏÍ: `%s'"
 
-#: my-lily-lexer.cc:162
+#: my-lily-lexer.cc:191
 #, c-format
 msgid "error at EOF: %s"
 msgstr "ÏÛÍÂËÁ × ËÏÎÃÅ ÆÁÊÌÁ: %s"
@@ -975,42 +1807,46 @@ msgstr "
 msgid "Braces don't match"
 msgstr "æÉÇÕÒÎÙÅ ÓËÏÂËÉ ÎÅ ÓÏ×ÐÁÄÁÀÔ"
 
+#.
+#. music for the softenon children?
+#.
+#: new-fingering-engraver.cc:143
+msgid "music for the martians."
+msgstr ""
+
+#: new-tie-engraver.cc:166 tie-engraver.cc:217
+msgid "lonely tie"
+msgstr ""
+
 #: note-collision.cc:340
 msgid "Too many clashing notecolumns.  Ignoring them."
 msgstr "óÌÉÛËÏÍ ÍÎÏÇÏ ÐÅÒÅÓÅËÁÀÝÉÈÓÑ ÓÔÏÌÂÃÏ× ÎÏÔ. éÇÎÏÒÉÒÕÀ."
 
-#: note-head.cc:134
-msgid "Symbol not found, "
-msgstr ""
-
-#: output-property-music-iterator.cc:20 request-chord-iterator.cc:76
+#: note-head.cc:127
 #, c-format
-msgid "Junking request: `%s'"
-msgstr "÷ÙÂÒÁÓÙ×ÁÀ ÚÁÐÒÏÓ: `%s'"
+msgid "note head `%s' not found"
+msgstr ""
 
-#: paper-def.cc:122
+#: paper-def.cc:96
 #, c-format
 msgid "paper output to `%s'..."
 msgstr "\"ÂÕÍÁÖÎÙÊ\" ×Ù×ÏÄ × %s..."
 
-#: paper-outputter.cc:57
-msgid ", at "
-msgstr ", ×"
-
-#: paper-score.cc:77
+#: paper-score.cc:78
 #, c-format
 msgid "Element count %d (spanners %d) "
 msgstr ""
 
-#: paper-score.cc:82
-msgid "Preprocessing elements..."
+#: paper-score.cc:83
+#, fuzzy
+msgid "Preprocessing graphical objects..."
 msgstr "ðÒÅÄ×ÁÒÉÔÅÌØÎÏ ÏÂÒÁÂÁÔÙ×ÁÀ ÜÌÅÍÅÎÔÙ..."
 
-#: paper-score.cc:115
+#: paper-score.cc:116
 msgid "Outputting Score, defined at: "
 msgstr ""
 
-#: parse-scm.cc:80
+#: parse-scm.cc:79
 msgid "GUILE signaled an error for the expression begining here"
 msgstr ""
 
@@ -1020,22 +1856,27 @@ msgstr ""
 #.
 #. last->translator_id_string_  = get_change ()->change_to_id_string_;
 #.
-#: part-combine-music-iterator.cc:116
+#: part-combine-music-iterator.cc:139
 #, fuzzy, c-format
 msgid "I'm one myself: `%s'"
 msgstr "ñ ÅÄÉÎÓÔ×ÅÎÎÙÊ"
 
-#: part-combine-music-iterator.cc:119
+#: part-combine-music-iterator.cc:142
 #, fuzzy, c-format
 msgid "none of these in my family: `%s'"
 msgstr "ÏÎÉ ÍÎÅ ÎÅ ÒÏÄÓÔ×ÅÎÎÉËÉ"
 
-#: percent-repeat-engraver.cc:116
+#: percent-repeat-engraver.cc:109
 #, fuzzy
 msgid "Don't know how to handle a percent repeat of this length."
 msgstr "îÅ ÚÎÁÀ, ÞÔÏ ÄÅÌÁÔØ Ó ÐÕÓÔÙÍÉ ËÌÀÞÁÍÉ"
 
-#: percent-repeat-iterator.cc:53
+#: percent-repeat-engraver.cc:163
+#, fuzzy
+msgid "unterminated percent repeat"
+msgstr "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÇÒÕÐÐÉÒÏ×ËÁ ÛÔÉÌÅÊ"
+
+#: percent-repeat-iterator.cc:65
 #, fuzzy
 msgid "no one to print a percent"
 msgstr "ÎÅËÏÍÕ ÒÉÓÏ×ÁÔØ ÓËÏÂÕ ÐÏ×ÔÏÒÁ"
@@ -1063,136 +1904,104 @@ msgstr "
 msgid "MIDI output to `%s'..."
 msgstr "×Ù×ÏÄ MIDI × %s..."
 
-#: phrasing-slur-engraver.cc:117
+#: phrasing-slur-engraver.cc:123
 #, fuzzy
 msgid "unterminated phrasing slur"
 msgstr "ÎÅÚÁ×ÅÒÛÅÎÎÁÑ ÌÉÇÁ"
 
-#: phrasing-slur-engraver.cc:132
+#: phrasing-slur-engraver.cc:141
 #, fuzzy
 msgid "can't find start of phrasing slur"
 msgstr "ÞÔÏ-ÔÏ ÎÅ ÎÁÊÄÕ ÎÁÞÁÌÏ ÇÒÕÐÐÉÒÏ×ËÉ ÛÔÉÌÅÊ"
 
-#: piano-pedal-engraver.cc:230 piano-pedal-engraver.cc:245
-#: piano-pedal-engraver.cc:300 piano-pedal-performer.cc:82
+#: piano-pedal-engraver.cc:235 piano-pedal-engraver.cc:250
+#: piano-pedal-engraver.cc:305 piano-pedal-performer.cc:82
 #, fuzzy, c-format
 msgid "can't find start of piano pedal: `%s'"
 msgstr "ÞÔÏ-ÔÏ ÎÅ ÎÁÊÄÕ ÎÁÞÁÌÏ ÇÒÕÐÐÉÒÏ×ËÉ ÛÔÉÌÅÊ"
 
-#: piano-pedal-engraver.cc:405
+#: piano-pedal-engraver.cc:410
 #, fuzzy
 msgid "unterminated pedal bracket"
 msgstr "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÇÒÕÐÐÉÒÏ×ËÁ ÛÔÉÌÅÊ"
 
-#: pitch.cc:25
-msgid "Pitch arguments out of range"
-msgstr ""
-
-#: porrectus.cc:35
-msgid "(left_head == 0)"
-msgstr ""
-
-#: porrectus.cc:46
-msgid "undefined left_head"
-msgstr ""
-
-#: porrectus.cc:65
-msgid "(right_head == 0)"
-msgstr ""
-
-#: porrectus.cc:76
-msgid "undefined right_head"
-msgstr ""
-
-#: porrectus.cc:96
-msgid "junking lonely porrectus"
-msgstr ""
-
-#: porrectus.cc:106
-msgid "porrectus style undefined; using mensural"
-msgstr ""
-
-#: porrectus.cc:251
-msgid "ascending vaticana style porrectus"
+#: property-iterator.cc:97
+#, c-format
+msgid "Not a grob name, `%s'."
 msgstr ""
 
-#: property-iterator.cc:64
+#: rest.cc:139
 #, c-format
-msgid "Not a grob name, `%s'."
+msgid "rest `%s' not found, "
 msgstr ""
 
-#: rest-collision.cc:186
+#: rest-collision.cc:199
 msgid "too many colliding rests"
 msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÎÁÌÅÚÁÀÝÉÈ ÐÁÕÚ"
 
-#: scm-option.cc:44
+#: scm-option.cc:45
 msgid "lilypond -e EXPR means:"
 msgstr ""
 
-#: scm-option.cc:46
+#: scm-option.cc:47
 msgid "  Evalute the Scheme EXPR before parsing any .ly files."
 msgstr ""
 
-#: scm-option.cc:48
+#: scm-option.cc:49
 msgid ""
 "  Multiple -e options may be given, they will be evaluated sequentially."
 msgstr ""
 
-#: scm-option.cc:50
+#: scm-option.cc:51
 msgid ""
 "  The function ly-set-option allows for access to some internal variables."
 msgstr ""
 
-#: scm-option.cc:52
+#: scm-option.cc:53
 msgid "Usage: lilypond -e \"(ly-set-option SYMBOL VAL)\""
 msgstr ""
 
-#: scm-option.cc:54
+#: scm-option.cc:55
 msgid "Where SYMBOL VAL pair is any of:"
 msgstr ""
 
-#: scm-option.cc:122
+#: scm-option.cc:128
 msgid "Unknown internal option!"
 msgstr ""
 
-#: score-engraver.cc:102
-#, fuzzy, c-format
-msgid "can't find `%s'"
-msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ: `%s'"
-
-#: score-engraver.cc:103
-msgid "Fonts have not been installed properly.  Aborting"
-msgstr ""
-
-#: score-engraver.cc:207
-#, c-format
-msgid "unbound spanner `%s'"
-msgstr ""
-
-#: score.cc:92
-#, c-format
-msgid "stack size cur %d, max %d\n"
-msgstr ""
-
-#: score.cc:109
+#: score.cc:85
 msgid "Interpreting music..."
 msgstr "éÎÔÅÒÐÒÅÔÉÒÕÀ ÍÕÚÙËÕ..."
 
-#: score.cc:122
+#: score.cc:97
 msgid "Need music in a score"
 msgstr ""
 
 #. should we? hampers debugging.
-#: score.cc:135
+#: score.cc:111
 msgid "Errors found/*, not processing score*/"
 msgstr "îÁÊÄÅÎÙ ÏÛÉÂËÉ/*, ÎÅ ÏÂÒÁÂÁÔÙ×ÁÀ ÎÏÔÙ*/"
 
-#: score.cc:142
+#: score.cc:118
 #, c-format
 msgid "elapsed time: %.2f seconds"
 msgstr "ÚÁÔÒÁÞÅÎÎÏÅ ×ÒÅÍÑ: %.2f ÓÅËÕÎÄ"
 
-#: script-engraver.cc:66
+#: score-engraver.cc:99
+#, fuzzy, c-format
+msgid "can't find `%s'"
+msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ: `%s'"
+
+#: score-engraver.cc:100
+msgid "Fonts have not been installed properly.  Aborting"
+msgstr ""
+
+#: score-engraver.cc:205
+#, c-format
+msgid "unbound spanner `%s'"
+msgstr ""
+
+#: script-engraver.cc:90
 #, c-format
 msgid "Don't know how to interpret articulation `%s'"
 msgstr ""
@@ -1203,32 +2012,23 @@ msgstr ""
 msgid "Separation_item:  I've been drinking too much"
 msgstr "Single_malt_grouping_item: Ñ ÌÉÛËÏÍ ÍÎÏÇÏ ×ÙÐÉÌ"
 
-#: simple-spacer.cc:254
+#: simple-spacer.cc:248
 #, c-format
 msgid "No spring between column %d and next one"
 msgstr ""
 
-#: slur-engraver.cc:140
+#: slur-engraver.cc:141
 msgid "unterminated slur"
 msgstr "ÎÅÚÁ×ÅÒÛÅÎÎÁÑ ÌÉÇÁ"
 
 #. How to shut up this warning, when Voice_devnull_engraver has
-#. eaten start request?
-#: slur-engraver.cc:157
+#. eaten start event?
+#: slur-engraver.cc:159
 #, fuzzy
 msgid "can't find start of slur"
 msgstr "ÞÔÏ-ÔÏ ÎÅ ÎÁÊÄÕ ÎÁÞÁÌÏ ÇÒÕÐÐÉÒÏ×ËÉ ÛÔÉÌÅÊ"
 
-#: slur.cc:53
-#, fuzzy
-msgid "Putting slur over rest."
-msgstr "ìÉÇÁ ÎÁÄ ÐÁÕÚÏÊ. éÇÎÏÒÉÒÕÀ."
-
-#: slur.cc:424
-msgid "Slur over rest?"
-msgstr "ìÉÇÁ ÎÁÄ ÐÁÕÚÏÊ?"
-
-#: source-file.cc:65
+#: source-file.cc:67
 #, c-format
 msgid "Huh?  Got %d, expected %d characters"
 msgstr "èÍ... ðÏÌÕÞÉÌ %d, Á ÏÖÉÄÁÌ %d ÚÎÁËÏ×"
@@ -1243,17 +2043,35 @@ msgstr ""
 msgid "#<spring smob d= %f>"
 msgstr ""
 
-#: staff-symbol.cc:62
+#: staff-symbol.cc:61
 msgid "staff symbol: indentation yields beyond end of line"
 msgstr ""
 
-#: stem-engraver.cc:117
+#: stem.cc:118
+msgid "Weird stem size; check for narrow beams"
+msgstr ""
+
+#: stem.cc:611
+#, c-format
+msgid "flag `%s' not found"
+msgstr ""
+
+#: stem.cc:624
+#, c-format
+msgid "flag stroke `%s' not found"
+msgstr ""
+
+#: stem-engraver.cc:96
+msgid "tremolo duration is too long"
+msgstr ""
+
+#: stem-engraver.cc:124
 #, c-format
 msgid "Adding note head to incompatible stem (type = %d)"
 msgstr "äÏÂÁ×ÌÑÀ ÎÏÔÕ Ë ÎÅÓÏ×ÍÅÓÔÉÍÏÍÕ ÛÔÉÌÀ (ÔÉР= %d)"
 
-#: stem.cc:118
-msgid "Weird stem size; check for narrow beams"
+#: stem-engraver.cc:125
+msgid "Don't you want polyphonic voices instead?"
 msgstr ""
 
 #: streams.cc:34
@@ -1270,33 +2088,35 @@ msgstr "
 msgid "Element count %d."
 msgstr ""
 
-#: system.cc:377
+#: system.cc:372
 #, c-format
 msgid "Grob count %d "
 msgstr ""
 
-#: system.cc:391
-msgid "Calculating column positions..."
+#: system.cc:386
+#, fuzzy
+msgid "Calculating line breaks..."
 msgstr "÷ÙÞÉÓÌÑÀ ÐÏÚÉÃÉÉ ÓÔÏÌÂÃÏ×"
 
-#: text-spanner-engraver.cc:92
+#: text-spanner-engraver.cc:81
 #, fuzzy
 msgid "can't find start of text spanner"
 msgstr "ÞÔÏ-ÔÏ ÎÅ ÎÁÊÄÕ ÎÁÞÁÌÏ ÇÒÕÐÐÉÒÏ×ËÉ ÛÔÉÌÅÊ"
 
-#: text-spanner-engraver.cc:112
+#: text-spanner-engraver.cc:95
 #, fuzzy
 msgid "already have a text spanner"
 msgstr "ÕÖÅ ÉÍÅÅÍ ÇÒÕÐÐÕ ÛÔÉÌÅÊ"
 
-#: text-spanner-engraver.cc:167
+#: text-spanner-engraver.cc:164
 #, fuzzy
 msgid "unterminated text spanner"
 msgstr "ÎÅÚÁ×ÅÒÛÅÎÎÙÊ ÒÁÓÛÉÒÉÔÅÌØ"
 
-#: text-spanner.cc:130
-msgid "Text_spanner too small"
-msgstr ""
+#: tfm.cc:83
+#, fuzzy, c-format
+msgid "can't find ascii character: %d"
+msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ ÓÉÍ×ÏÌ ASCII: `%d'"
 
 #. Not using ngettext's plural feature here, as this message is
 #. more of a programming error.
@@ -1310,16 +2130,7 @@ msgstr ""
 msgid "%s: TFM file has %u parameters, which is more than the %u I can handle"
 msgstr ""
 
-#: tfm.cc:83
-#, fuzzy, c-format
-msgid "can't find ascii character: %d"
-msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ ÓÉÍ×ÏÌ ASCII: `%d'"
-
-#: tie-engraver.cc:216
-msgid "lonely tie"
-msgstr ""
-
-#: tie-performer.cc:161
+#: tie-performer.cc:159
 msgid "No ties were created!"
 msgstr ""
 
@@ -1327,166 +2138,240 @@ msgstr ""
 msgid "no one to print a tuplet start bracket"
 msgstr ""
 
+#. If there is no such symbol, we default to the numbered style.
+#. (Here really with a warning!)
+#: time-signature.cc:87
+#, c-format
+msgid "time signature symbol `%s' not found; reverting to numbered style"
+msgstr ""
+
+#.
+#. Todo: should make typecheck?
+#.
+#. OTOH, Tristan Keuris writes 8/20 in his Intermezzi.
+#.
+#: time-signature-engraver.cc:57
+#, c-format
+msgid "Found strange time signature %d/%d."
+msgstr ""
+
 #: translator-ctors.cc:53
 #, c-format
 msgid "unknown translator: `%s'"
 msgstr ""
 
-#: translator-def.cc:87
+#: translator-def.cc:105
 msgid "Program has no such type"
 msgstr ""
 
-#: translator-def.cc:93
+#: translator-def.cc:111
 #, c-format
 msgid "Already contains: `%s'"
 msgstr "õÖÅ ÓÏÄÅÒÖÉÔ: `%s'"
 
-#: translator-def.cc:94
+#: translator-def.cc:112
 #, c-format
 msgid "Not adding translator: `%s'"
 msgstr ""
 
-#: translator-def.cc:209
+#: translator-def.cc:229
 #, c-format
 msgid "can't find: `%s'"
 msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ: `%s'"
 
-#: translator-group.cc:159
+#: translator-group.cc:158
 #, c-format
 msgid "can't find or create `%s' called `%s'"
 msgstr ""
 
-#: translator-group.cc:244
+#: translator-group.cc:230
 #, c-format
 msgid "can't find or create: `%s'"
 msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ ÉÌÉ ÓÏÚÄÁÔØ: `%s'"
 
-#: volta-engraver.cc:111
+#: vaticana-ligature.cc:49
+msgid "ascending vaticana style flexa"
+msgstr ""
+
+#: vaticana-ligature.cc:219
+msgid "Vaticana_ligature:thickness undefined; assuming 1.4"
+msgstr ""
+
+#: vaticana-ligature.cc:233
+msgid "Vaticana_ligature:x-offset undefined; assuming 0.0"
+msgstr ""
+
+#: vaticana-ligature.cc:258
+msgid "Vaticana_ligature: (delta_pitch == 0)"
+msgstr ""
+
+#: vaticana-ligature.cc:271
+msgid "Vaticana_ligature:delta-pitch -> ignoring join"
+msgstr ""
+
+#: vaticana-ligature-engraver.cc:477
+#, c-format
+msgid "Vaticana_ligature_engraver: setting `spacing-increment = %f': ptr=%ul"
+msgstr ""
+
+#: volta-engraver.cc:112
 msgid "No volta spanner to end"
 msgstr ""
 
-#: volta-engraver.cc:121
+#: volta-engraver.cc:123
 msgid "Already have a volta spanner.  Stopping that one prematurely."
 msgstr ""
 
-#: volta-engraver.cc:125
+#: volta-engraver.cc:127
 msgid "Also have a stopped spanner.  Giving up."
 msgstr ""
 
-#: parser.yy:434
+#: parser.yy:480
 msgid "Identifier should have alphabetic characters only"
 msgstr ""
 
-#: parser.yy:729
+#: parser.yy:779
 msgid "More alternatives than repeats.  Junking excess alternatives."
 msgstr ""
 
-#: parser.yy:798
+#: parser.yy:861 parser.yy:868
+msgid "\applycontext takes function argument"
+msgstr ""
+
+#: parser.yy:877
 msgid "Second argument must be a symbol"
 msgstr "÷ÔÏÒÏÊ ÁÒÇÕÍÅÎÔ ÄÏÌÖÅΠÂÙÔØ ÓÉÍ×ÏÌÏÍ"
 
-#: parser.yy:803
+#: parser.yy:882
 msgid "First argument must be a procedure taking one argument"
 msgstr ""
 
-#: parser.yy:1380
-msgid "Expecting string as script definition"
+#: parser.yy:1009
+msgid "\apply takes function argument"
 msgstr ""
 
-#: parser.yy:1390
-msgid "Can't specify direction for this request"
-msgstr "îÅ ÍÏÇÕ ÕËÁÚÁÔØ ÎÁÐÒÁ×ÌÅÎÉÅ ÄÌÑ ÜÔÏÇÏ ÚÁÐÒÏÓÁ"
+#: parser.yy:1501
+msgid "Expecting string as script definition"
+msgstr ""
 
-#: parser.yy:1516
+#: parser.yy:1598
 msgid "Expecting musical-pitch value"
 msgstr ""
 
-#: parser.yy:1527
+#: parser.yy:1609
 #, fuzzy
 msgid "Must have duration object"
 msgstr "ÕÓÔÁÎÏ×ÉÔØ ÎÁÉÍÅÎØÛÕÀ ÐÒÏÄÏÌÖÉÔÅÌØÎÏÓÔØ"
 
-#: parser.yy:1536 parser.yy:1544
+#: parser.yy:1618 parser.yy:1626
 msgid "Have to be in Lyric mode for lyrics"
 msgstr "äÏÌÖÅΠÂÙÔØ × ìÉÒÉÞÅÓËÏÍ ÒÅÖÉÍÅ ÄÌÑ ÌÉÒÉËÉ"
 
-#: parser.yy:1715 parser.yy:1768
+#: parser.yy:1798 parser.yy:1853
 #, c-format
 msgid "not a duration: %d"
 msgstr "ÎÅ ÐÒÏÄÏÌÖÉÔÅÌØÎÏÓÔØ: %d"
 
-#: parser.yy:1855
+#: parser.yy:1949
 msgid "Have to be in Note mode for notes"
 msgstr "äÏÌÖÅΠÂÙÔØ × îÏÔÎÏÍ ÒÅÖÉÍÅ ÄÌÑ ÎÏÔ"
 
-#: parser.yy:1954
+#: parser.yy:2032
 msgid "Have to be in Chord mode for chords"
 msgstr "äÏÌÖÅΠÂÙÔØ × áËËÏÒÄÎÏÍ ÒÅÖÉÍÅ ÄÌÑ ÁËËÏÒÄÏ×"
 
-#: parser.yy:2134
+#: parser.yy:2171
 msgid "need integer number arg"
 msgstr ""
 
-#: parser.yy:2206
+#: parser.yy:2316
 msgid "Suspect duration found following this beam"
 msgstr ""
 
-#: lexer.ll:178
+#: lexer.ll:186
 msgid "EOF found inside a comment"
 msgstr "ëÏÎÅàÆÁÊÌÁ ×ÎÕÔÒÉ ËÏÍÍÅÎÔÁÒÉÑ"
 
-#: lexer.ll:192
+#: lexer.ll:200
 msgid "\\maininput disallowed outside init files"
 msgstr ""
 
-#: lexer.ll:216
+#: lexer.ll:224
 #, fuzzy, c-format
 msgid "wrong or undefined identifier: `%s'"
 msgstr "ÎÅÉÚ×ÅÓÔÎÁÑ ÍÅÔËÁ/ËÏÍÁÎÄÁ: `%s'"
 
 #. backup rule
-#: lexer.ll:225
+#: lexer.ll:233
 msgid "Missing end quote"
 msgstr "ïÔÓÕÔÓ×ÕÅÔ ÚÁËÌÀÞÉÔÅÌØÎÁÑ ËÁ×ÙÞËÁ"
 
 #. backup rule
-#: lexer.ll:247 lexer.ll:251
+#: lexer.ll:255 lexer.ll:259
 msgid "white expected"
 msgstr "× ÔÏ ×ÒÅÍÑ ËÁË ÏÖÉÄÁÌÏÓØ"
 
-#: lexer.ll:260
+#: lexer.ll:268
 msgid "Can't evaluate Scheme in safe mode"
 msgstr "îÅ ÍÏÇÕ ×ÙÐÏÌÎÑÔØ ËÏÄ ÓÈÅÍÙ × ÂÅÚÏÐÁÓÎÏÍ ÒÅÖÉÍÅ"
 
-#: lexer.ll:364
+#: lexer.ll:397 lexer.ll:487
 msgid "Brace found at end of lyric.  Did you forget a space?"
 msgstr ""
 
-#: lexer.ll:480
+#: lexer.ll:574
 #, c-format
 msgid "invalid character: `%c'"
 msgstr "ÎÅ×ÅÒÎÙÊ ÓÉÍ×ÏÌ: `%c'"
 
-#: lexer.ll:566
+#: lexer.ll:651
 #, c-format
 msgid "unknown escaped string: `\\%s'"
 msgstr "ÎÅÉÚ×ÅÓÔÎÁÑ escape-ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ: `\\%s'"
 
-#: lexer.ll:657
+#: lexer.ll:742
 #, fuzzy, c-format
 msgid "Incorrect lilypond version: %s (%s, %s)"
 msgstr "ÎÅ×ÅÒÎÁÑ ×ÅÒÓÉÑ mudela: %s (%s, %s)"
 
-#: lexer.ll:658
+#: lexer.ll:743
 msgid "Consider updating the input with the convert-ly script"
 msgstr ""
 
-#~ msgid "can't map file"
-#~ msgstr "ÎÅ ÍÏÇÕ ÏÔÏÂÒÁÚÉÔØ ÆÁÊÌ × ÐÁÍÑÔØ"
+#, fuzzy
+#~ msgid "%r: release directory"
+#~ msgstr "ÎÅ ÍÏÇÕ ÎÁÊÔÉ ÉÌÉ ÓÏÚÄÁÔØ: `%s'"
+
+#, fuzzy
+#~ msgid "Listing `%s'..."
+#~ msgstr "÷ÙÂÒÁÓÙ×ÁÀ ÍÕÚÙËÕ: `%s'"
+
+#, fuzzy
+#~ msgid "Fetching `%s'..."
+#~ msgstr "÷ÙÂÒÁÓÙ×ÁÀ ÍÕÚÙËÕ: `%s'"
+
+#, fuzzy
+#~ msgid "Building `%s'..."
+#~ msgstr "÷ÙÂÒÁÓÙ×ÁÀ ÍÕÚÙËÕ: `%s'"
+
+#~ msgid "invalid subtraction: not part of chord: %s"
+#~ msgstr "ÎÅ×ÅÒÎÏÅ ×ÙÞÉÔÁÎÉÅ: ÎÅ ÞÁÓÔØ ÁËËÏÒÄÁ: %s"
+
+#~ msgid ", at "
+#~ msgstr ", ×"
 
 #, fuzzy
-#~ msgid "use output format EXT (tex [default], pdftex, ps, scm or as)"
-#~ msgstr "ÉÓÐÏÌØÚÏ×ÁÔØ ×ÙÈÏÄÎÏÊ ÆÏÒÍÁÔ òáóû"
+#~ msgid "Putting slur over rest."
+#~ msgstr "ìÉÇÁ ÎÁÄ ÐÁÕÚÏÊ. éÇÎÏÒÉÒÕÀ."
+
+#~ msgid "Slur over rest?"
+#~ msgstr "ìÉÇÁ ÎÁÄ ÐÁÕÚÏÊ?"
+
+#~ msgid "Can't specify direction for this request"
+#~ msgstr "îÅ ÍÏÇÕ ÕËÁÚÁÔØ ÎÁÐÒÁ×ÌÅÎÉÅ ÄÌÑ ÜÔÏÇÏ ÚÁÐÒÏÓÁ"
+
+#~ msgid "can't map file"
+#~ msgstr "ÎÅ ÍÏÇÕ ÏÔÏÂÒÁÚÉÔØ ÆÁÊÌ × ÐÁÍÑÔØ"
 
 #~ msgid "This binary was compiled with the following options:"
 #~ msgstr "üÔÏÔ ÉÓÐÏÌÎÑÅÍÙÊ ÆÁÊÌ ÂÙÌ ÓÏÂÒÁΠÓÏ ÓÌÅÄÕÀÝÉÍÉ ÏÐÃÉÑÍÉ:"
@@ -1510,10 +2395,6 @@ msgstr ""
 #~ msgid "Scheme options:"
 #~ msgstr "ïÐÃÉÉ:"
 
-#, fuzzy
-#~ msgid "Cleaning `%s'..."
-#~ msgstr "÷ÙÂÒÁÓÙ×ÁÀ ÍÕÚÙËÕ: `%s'"
-
 #, fuzzy
 #~ msgid "writing header field `%s' to `%s'..."
 #~ msgstr "úÁÐÉÓÙ×ÁÀ ÆÁÊÌ ÚÁ×ÉÓÉÍÏÓÔÅÊ: `%s'..."
@@ -1684,9 +2565,6 @@ msgstr ""
 #~ msgid "Wrong type for property"
 #~ msgstr "îÅ×ÅÒÎÙÊ ÔÉРÄÌÑ Ó×ÏÊÓÔ×Á"
 
-#~ msgid "unknown clef type"
-#~ msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÔÉРËÌÀÞÁ"
-
 #~ msgid "too small"
 #~ msgstr "ÓÌÉÛËÏÍ ÍÁÌÏ"
 
@@ -1720,9 +2598,6 @@ msgstr ""
 #~ msgid "not a real variable"
 #~ msgstr "ÎÅ ÎÁÓÔÏÑÝÁÑ ÐÅÒÅÍÅÎÎÁÑ"
 
-#~ msgid "Don't have that many octaves (%s)"
-#~ msgstr "îÅÔ ÔÁËÏÇÏ ËÏÌÉÞÅÓÔ×Á ÏËÔÁ× (%s)"
-
 #~ msgid "score does not have any columns"
 #~ msgstr "ÆÒÁÇÍÅÎÔ ÎÅ ÓÏÄÅÒÖÉÔ ÓÔÏÌÂÃÏ×"
 
index b8483a0ba699d048daca7fce00cd81235a6c70af..186d02ed6a143aad96a851bb38604198a82e24a9 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: lilypond 1.4.6\n"
-"POT-Creation-Date: 2002-08-18 17:05+0200\n"
+"POT-Creation-Date: 2003-07-18 14:45+0200\n"
 "PO-Revision-Date: 2001-09-03 21:00+0200\n"
 "Last-Translator: Martin Norbäck <d95mback@dtek.chalmers.se>\n"
 "Language-Team: Swedish <sv@li.org>\n"
@@ -13,412 +13,1192 @@ msgstr ""
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: lilypond-book.py:1019 ly2dvi.py:458 ly2dvi.py:491
-#, c-format
-msgid "Running %s..."
-msgstr "Kör %s..."
+#. this is where special info is often stored
+#. ###############################################################
+#. lilylib.py -- options and stuff
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. ##  subst:\(^\|[^._a-z]\)\(abspath\|identify\|warranty\|progress\|warning\|error\|exit\|getopt_args\|option_help_str\|options_help_str\|help\|setup_temp\|read_pipe\|system\|cleanup_temp\|strip_extension\|cp_to_dir\|mkdir_p\|init\) *(
+#. ##  replace:\1ly.\2 (
+#. ## subst: \(help_summary\|keep_temp_dir_p\|option_definitions\|original_dir\|program_name\|pseudo_filter_p\|temp_dir\|verbose_p\)
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. lilylib globals
+#: lilylib.py:60
+msgid "lilylib module"
+msgstr ""
 
-#: ly2dvi.py:118
-msgid ""
-"Distributed under terms of the GNU General Public License.  It comes with NO "
-"WARRANTY."
+# förklaring av flaggan -h
+#: lilylib.py:63 lilypond-book.py:131 ly2dvi.py:128 midi2ly.py:100
+#: mup2ly.py:75 main.cc:111
+msgid "this help"
+msgstr "denna hjälp"
+
+#. ###############################################################
+#. Handle bug in Python 1.6-2.1
+#.
+#. there are recursion limits for some patterns in Python 1.6 til 2.1.
+#. fix this by importing pre instead. Fix by Mats.
+#. Attempt to fix problems with limited stack size set by Python!
+#. Sets unlimited stack size. Note that the resource module only
+#. is available on UNIX.
+#: lilylib.py:114 midi2ly.py:136 mup2ly.py:130 main.cc:188 main.cc:200
+#, c-format, python-format
+msgid "Copyright (c) %s by"
+msgstr "Copyright © %s av"
+
+#: lilylib.py:114
+msgid " 1998--2003"
 msgstr ""
 
-#: ly2dvi.py:125 midi2ly.py:148 mup2ly.py:143 update-lily.py:137 input.cc:87
+#: lilylib.py:118
+msgid "Distributed under terms of the GNU General Public License."
+msgstr ""
+
+#: lilylib.py:120
+msgid "It comes with NO WARRANTY."
+msgstr ""
+
+#: lilylib.py:127 midi2ly.py:150 mup2ly.py:144 input.cc:88
 msgid "warning: "
 msgstr "varning: "
 
-#: ly2dvi.py:128 ly2dvi.py:143 midi2ly.py:163 midi2ly.py:1012 midi2ly.py:1081
-#: mup2ly.py:146 mup2ly.py:160 update-lily.py:152 update-lily.py:458
-#: input.cc:92
+#. lots of midi files use plain text for lyric events
+#. FIXME: read from stdin when files[0] = '-'
+#: lilylib.py:130 midi2ly.py:165 midi2ly.py:1018 midi2ly.py:1083 mup2ly.py:147
+#: mup2ly.py:161 input.cc:93
 msgid "error: "
 msgstr "fel: "
 
-#: ly2dvi.py:144 midi2ly.py:164 mup2ly.py:161 update-lily.py:153
-msgid "Exiting ... "
+#: lilylib.py:134
+#, fuzzy, python-format
+msgid "Exiting (%d)..."
 msgstr "Avslutar... "
 
-#: ly2dvi.py:202 midi2ly.py:222 mup2ly.py:219 update-lily.py:211
-#, c-format
+#: lilylib.py:194 midi2ly.py:224 mup2ly.py:220
+#, python-format
 msgid "Usage: %s [OPTION]... FILE"
 msgstr "Användning: %s [FLAGGA]... FIL"
 
-#: ly2dvi.py:206 midi2ly.py:226 mup2ly.py:223 update-lily.py:215 main.cc:166
+#: lilylib.py:198 midi2ly.py:228 mup2ly.py:224 main.cc:166
 msgid "Options:"
 msgstr "Flaggor:"
 
-#: ly2dvi.py:210 midi2ly.py:230 mup2ly.py:227 update-lily.py:219 main.cc:172
-#, c-format
+#: lilylib.py:202 midi2ly.py:232 mup2ly.py:228 main.cc:172
+#, c-format, python-format
 msgid "Report bugs to %s"
 msgstr ""
 "Rapportera programfel till %s\n"
 "Rapportera fel i översättningen till <sv@li.org>"
 
-#: ly2dvi.py:238 midi2ly.py:258 mup2ly.py:255 update-lily.py:247
-#, c-format
+#: lilylib.py:228
+#, fuzzy, python-format
+msgid "Opening pipe `%s'"
+msgstr "Rensar \"%s\"..."
+
+#. successful pipe close returns 'None'
+#: lilylib.py:240
+#, python-format
+msgid "`%s' failed (%d)"
+msgstr ""
+
+#: lilylib.py:242 lilylib.py:289 lilypond-book.py:231 ly2dvi.py:512
+msgid "The error log is as follows:"
+msgstr ""
+
+#: lilylib.py:262 midi2ly.py:260 mup2ly.py:256
+#, python-format
 msgid "Invoking `%s'"
 msgstr "Startar \"%s\""
 
-#: ly2dvi.py:243 midi2ly.py:262 mup2ly.py:260 update-lily.py:251
-#, c-format
-msgid "command exited with value %d"
-msgstr "kommandot avslutade med värde %d"
+#: lilylib.py:264
+#, python-format
+msgid "Running %s..."
+msgstr "Kör %s..."
 
-#: ly2dvi.py:246 midi2ly.py:264 mup2ly.py:263 update-lily.py:253
+#: lilylib.py:282
+#, python-format
+msgid "`%s' failed (%s)"
+msgstr ""
+
+#: lilylib.py:285 midi2ly.py:266 mup2ly.py:264
 msgid "(ignored)"
 msgstr "(ignorerat)"
 
 # här är det fråga om rensning av en temporärkatalog
-#: ly2dvi.py:256 midi2ly.py:274 mup2ly.py:273 update-lily.py:263
-#, c-format
+#: lilylib.py:299 midi2ly.py:276 mup2ly.py:274
+#, python-format
 msgid "Cleaning %s..."
 msgstr "Rensar %s..."
 
-#: ly2dvi.py:330
-msgid "Run LilyPond using LaTeX for titling"
+#. Duh.  Python style portable: cp *.EXT OUTDIR
+#. system ('cp *.%s %s' % (ext, outdir), 1)
+#. Python < 1.5.2 compatibility
+#.
+#. On most platforms, this is equivalent to
+#. `normpath(join(os.getcwd()), PATH)'.  *Added in Python version 1.5.2*
+#. tex needs lots of memory, more than it gets by default on Debian
+#. TODO: * prevent multiple addition.
+#. * clean TEXINPUTS, MFINPUTS, TFMFONTS,
+#. as these take prevalence over $TEXMF
+#. and thus may break tex run?
+#. $TEXMF is special, previous value is already taken care of
+#. # -sOutputFile does not work with bbox?
+#. # todo:
+#. # have better algorithm for deciding when to crop page,
+#. # and when to show full page
+#: lilylib.py:458
+msgid "Removing output file"
+msgstr ""
+
+#. !@PYTHON@
+#. once upon a rainy monday afternoon.
+#.
+#. ...
+#.
+#. (not finished.)
+#. ABC standard v1.6:  http://www.gre.ac.uk/~c.walshaw/abc2mtex/abc.txt
+#.
+#. Enhancements  (Roy R. Rankin)
+#.
+#. Header section moved to top of lilypond file
+#. handle treble, treble-8, alto, and bass clef
+#. Handle voices (V: headers) with clef and part names, multiple voices
+#. Handle w: lyrics with multiple verses
+#. Handle key mode names for minor, major, phrygian, ionian, locrian, aeolian,
+#. mixolydian, lydian, dorian
+#. Handle part names from V: header
+#. Tuplets handling fixed up
+#. Lines starting with |: not discarded as header lines
+#. Multiple T: and C: header entries handled
+#. Accidental maintained until next bar check
+#. Silent rests supported
+#. articulations fermata, upbow, downbow, ltoe, accent, tenuto supported
+#. Chord strings([-^]"string") can contain a '#'
+#. Header fields enclosed by [] in notes string processed
+#. W: words output after tune as abc2ps does it (they failed before)
+#. Enhancements (Laura Conrad)
+#.
+#. Barring now preserved between ABC and lilypond
+#. the default placement for text in abc is above the staff.
+#. %%LY now supported.
+#. \breve and \longa supported.
+#. M:none doesn't crash lily.
+#. Limitations
+#.
+#. Multiple tunes in single file not supported
+#. Blank T: header lines should write score and open a new score
+#. Not all header fields supported
+#. ABC line breaks are ignored
+#. Block comments generate error and are ignored
+#. Postscript commands are ignored
+#. lyrics not resynchronized by line breaks (lyrics must fully match notes)
+#. %%LY slyrics can't be directly before a w: line.
+#. ???
+#. TODO:
+#.
+#. Convert to new chord styles.
+#.
+#. UNDEF -> None
+#.
+#. uGUHGUHGHGUGH
+#. UGH
+#. treble8 is used by abctab2ps; -8va is used by barfly,
+#. and by my patch to abc2ps. If there's ever a standard
+#. about this we'll support that.
+#. find keywork
+#. assume that Q takes the form "Q:1/4=120"
+#. There are other possibilities, but they are deprecated
+#. outf.write ("\t\t\\consists Staff_margin_engraver\n")
+#. pitch manipulation. Tuples are (name, alteration).
+#. 0 is (central) C. Alteration -1 is a flat, Alteration +1 is a sharp
+#. pitch in semitones.
+#. abc to lilypond key mode names
+#. semitone shifts for key mode names
+#. latex does not like naked #'s
+#. latex does not like naked "'s
+#. break lyrics to words and put "'s around words containing numbers and '"'s
+#. escape "
+#. _ causes probs inside ""
+#. _ to ' _ '
+#. split words with -
+#. unless \-
+#. ~ to space('_')
+#. * to to space
+#. latex does not like naked #'s
+#. put numbers and " and ( into quoted string
+#. insure space between lines
+#. title
+#. strip trailing blanks
+#. Meter
+#. KEY
+#. seperate clef info
+#. there may or may not be a space
+#. between the key letter and the mode
+#. ugh.
+#. ugh.
+#. Notes
+#. Origin
+#. Reference Number
+#. Area
+#. History
+#. Book
+#. Composer
+#. Default note length
+#. Voice
+#. Words
+#. vocals
+#. tempo
+#. we use in this order specified accidental, active accidental for bar,
+#. active accidental for key
+#. (num /  den)  / defaultlen < 1/base
+#. return (str, num,den,dots)
+#. ignore slide
+#. ignore roll
+#. s7m2 input doesnt care about spaces
+#.
+#. remember accidental for rest of bar
+#.
+#. get accidental set in this bar or UNDEF if not set
+#. WAT IS ABC EEN ONTZETTENDE PROGRAMMEERPOEP  !
+#. failed; not a note!
+#. escape '#'s
+#.
+#. |] thin-thick double bar line
+#. || thin-thin double bar line
+#. [| thick-thin double bar line
+#. :| left repeat
+#. |: right repeat
+#. :: left-right repeat
+#. |1 volta 1
+#. |2 volta 2
+#. first try the longer one
+#. bracket escape
+#. the nobarlines option is necessary for an abc to lilypond translator for
+#. exactly the same reason abc2midi needs it: abc requires the user to enter
+#. the note that will be printed, and MIDI and lilypond expect entry of the
+#. pitch that will be played.
+#.
+#. In standard 19th century musical notation, the algorithm for translating
+#. between printed note and pitch involves using the barlines to determine
+#. the scope of the accidentals.
+#.
+#. Since ABC is frequently used for music in styles that do not use this
+#. convention, such as most music written before 1700, or ethnic music in
+#. non-western scales, it is necessary to be able to tell a translator that
+#. the barlines should not affect its interpretation of the pitch.
+#. write other kinds of appending  if we ever need them.
+#. add comments to current voice
+#. Try nibbling characters off until the line doesn't change.
+#. dump_global (outf)
+#. !@PYTHON@
+#.
+#. convert-ly.py -- Update old LilyPond input files (fix name?)
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. TODO
+#. use -f and -t for -s output
+#. NEWS
+#. 0.2
+#. - rewrite in python
+#. Did we ever have \mudela-version?  I doubt it.
+#. lilypond_version_re_str = '\\\\version *\"(.*)\"'
+#. ###########################
+#. need new a namespace
+#. raise FatalConversionError()
+#. need new a namespace
+#. harmful to current .lys
+#. str = re.sub ('\\\\key([^;]+);', '\\\\accidentals \\1;', str)
+#. raise FatalConversionError()
+#. raise FatalConversionError()
+#. raise FatalConversionError()
+#. TODO: lots of other syntax change should be done here as well
+#. Ugh, but meaning of \stemup changed too
+#. maybe we should do \stemup -> \stemUp\slurUp\tieUp ?
+#. I don't know exactly when these happened...
+#. ugh, we loose context setting here...
+#. (lacks capitalisation slur -> Slur)
+#. # dynamic..
+#. TODO: add lots of these
+#. ugh
+#. old fix
+#. Make sure groups of more than one ; have space before
+#. them, so that non of them gets removed by next rule
+#. Only remove ; that are not after spaces, # or ;
+#. Otherwise  we interfere with Scheme comments,
+#. which is badbadbad.
+#. 40 ?
+#. ###############################
+#. END OF CONVERSIONS
+#. ###############################
+#. !@PYTHON@
+#. info mostly taken from looking at files. See also
+#. http://lilypond.org/wiki/?EnigmaTransportFormat
+#. This supports
+#.
+#. * notes
+#. * rests
+#. * ties
+#. * slurs
+#. * lyrics
+#. * articulation
+#. * grace notes
+#. * tuplets
+#.
+#. todo:
+#. * slur/stem directions
+#. * voices (2nd half of frame?)
+#. * more intelligent lyrics
+#. * beams (better use autobeam?)
+#. * more robust: try entertainer.etf (freenote)
+#. * dynamics
+#. * empty measures (eg. twopt03.etf from freenote)
+#.
+#. uGUHGUHGHGUGH
+#. notename 0 == central C
+#. represent pitches as (notename, alteration), relative to C-major scale
+#. a fifth up
+#. should cache this.
+#. flag1 isn't all that interesting.
+#. 3: '>',
+#. 18: '\arpeggio' ,
+#. do grace notes.
+#. ugh.
+#. we don't attempt voltas since they fail easily.
+#. and g.repeat_bar == '|:' or g.repeat_bar == ':|:' or g.bracket:
+#. 4 layers.
+#. let's not do this: this really confuses when eE happens to be before  a ^text.
+#. if last_tag and last_indices:
+#. etf_file_dict[last_tag][last_indices].append (l)
+#. # do it
+#. staff-spec
+#. should use \addlyrics ?
+#. !@PYTHON@
+#. vim: set noexpandtab:
+#. This is was the idea for handling of comments:
+#. Multiline comments, @ignore .. @end ignore is scanned for
+#. in read_doc_file, and the chunks are marked as 'ignore', so
+#. lilypond-book will not touch them any more. The content of the
+#. chunks are written to the output file. Also 'include' and 'input'
+#. regex has to check if they are commented out.
+#.
+#. Then it is scanned for 'lilypond', 'lilypond-file' and 'lilypond-block'.
+#. These three regex's has to check if they are on a commented line,
+#. % for latex, @c for texinfo.
+#.
+#. Then lines that are commented out with % (latex) and @c (Texinfo)
+#. are put into chunks marked 'ignore'. This cannot be done before
+#. searching for the lilypond-blocks because % is also the comment character
+#. for lilypond.
+#.
+#. The the rest of the rexeces are searched for. They don't have to test
+#. if they are on a commented out line.
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. if __name__ == '__main__':
+#. lilylib globals
+#. temp_dir = os.path.join (original_dir,  '%s.dir' % program_name)
+#. urg
+#. # FIXME
+#. # ly2dvi: silly name?
+#. # do -P or -p by default?
+#. #help_summary = _ ("Run LilyPond using LaTeX for titling")
+#: lilypond-book.py:120
+msgid "Process LilyPond snippets in hybrid html, LaTeX or texinfo document"
 msgstr ""
 
-#: ly2dvi.py:334 main.cc:115
-msgid "write Makefile dependencies for every input file"
-msgstr "skriv Makefile-beroenden för varje indatafil"
+#. another bug in option parser: --output=foe is taken as an abbreviation
+#. for --output-format
+#: lilypond-book.py:125 main.cc:110
+msgid "EXT"
+msgstr "FMT"
 
-# förklaring av flaggan -h
-#: ly2dvi.py:335 midi2ly.py:98 mup2ly.py:74 update-lily.py:87 main.cc:111
-msgid "this help"
-msgstr "denna hjälp"
+#: lilypond-book.py:125
+#, fuzzy
+msgid "use output format EXT (texi [default], texi-html, latex, html)"
+msgstr "använd utdataformat FMT (scm, ps, tex eller as)"
+
+#: lilypond-book.py:126 lilypond-book.py:127 lilypond-book.py:129
+#: lilypond-book.py:130
+#, fuzzy
+msgid "DIM"
+msgstr "KATALOG"
+
+#: lilypond-book.py:126
+msgid "default fontsize for music.  DIM is assumed to be in points"
+msgstr ""
+
+#: lilypond-book.py:127
+msgid "deprecated, use --default-music-fontsize"
+msgstr ""
 
-#: ly2dvi.py:336 main.cc:113 main.cc:118
+#: lilypond-book.py:128
+msgid "OPT"
+msgstr ""
+
+#: lilypond-book.py:128
+msgid "pass OPT quoted to the lilypond command line"
+msgstr ""
+
+#: lilypond-book.py:129
+msgid "force fontsize for all inline lilypond. DIM is assumed be to in points"
+msgstr ""
+
+#: lilypond-book.py:130
+msgid "deprecated, use --force-music-fontsize"
+msgstr ""
+
+#: lilypond-book.py:132 ly2dvi.py:130 main.cc:113 main.cc:118
 msgid "DIR"
 msgstr "KATALOG"
 
-#: ly2dvi.py:336
+#: lilypond-book.py:132
+msgid "include path"
+msgstr ""
+
+#: lilypond-book.py:133
+#, fuzzy
+msgid "write dependencies"
+msgstr "lägg till KATALOG efter beroenden"
+
+#: lilypond-book.py:134
+msgid "PREF"
+msgstr ""
+
+#: lilypond-book.py:134
+#, fuzzy
+msgid "prepend PREF before each -M dependency"
+msgstr "lägg till KATALOG efter beroenden"
+
+#: lilypond-book.py:135
+#, fuzzy
+msgid "don't run lilypond"
+msgstr "kör inte LilyPond"
+
+#: lilypond-book.py:136
+msgid "don't generate pictures"
+msgstr ""
+
+#: lilypond-book.py:137
+msgid "strip all lilypond blocks from output"
+msgstr ""
+
+#: lilypond-book.py:138 lilypond-book.py:139 ly2dvi.py:135 ly2dvi.py:136
+#: midi2ly.py:102 main.cc:114 main.cc:117
+msgid "FILE"
+msgstr "FIL"
+
+#: lilypond-book.py:138
+msgid "filename main output file"
+msgstr ""
+
+#: lilypond-book.py:139
+msgid "where to place generated files"
+msgstr ""
+
+#: lilypond-book.py:140 ly2dvi.py:137
+msgid "RES"
+msgstr ""
+
+#: lilypond-book.py:141 ly2dvi.py:138
+msgid "set the resolution of the preview to RES"
+msgstr ""
+
+# Förklaring till --verbose (borde vara längre)
+#: lilypond-book.py:142 ly2dvi.py:148 midi2ly.py:105 mup2ly.py:78 main.cc:126
+msgid "verbose"
+msgstr "utförlig utdata"
+
+#: lilypond-book.py:143
+#, fuzzy
+msgid "print version information"
+msgstr "visa versionsnummer"
+
+#: lilypond-book.py:144 ly2dvi.py:150 midi2ly.py:107 mup2ly.py:80 main.cc:127
+msgid "show warranty and copyright"
+msgstr "visa garanti och copyright"
+
+#. format specific strings, ie. regex-es for input, and % strings for output
+#. global variables
+#. lilypond_binary = 'valgrind --suppressions=/home/hanwen/usr/src/guile-1.6.supp  --num-callers=10 /home/hanwen/usr/src/lilypond/lily/out/lilypond'
+#. only use installed binary  when we're installed too.
+#. only use installed binary  when we're installed too.
+#. ###############################################################
+#. Dimension handling for LaTeX.
+#.
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#: lilypond-book.py:230
+msgid "LaTeX failed."
+msgstr ""
+
+#. URG see ly2dvi
+#. Convert numeric values, with or without specific dimension, to floats.
+#. Keep other strings
+#. ###############################################################
+#. How to output various structures.
+#. # maybe <hr> ?
+#. Verbatim text is always finished with \n.  FIXME: For HTML,
+#. this newline should be removed.
+#. Verbatim text is always finished with \n.  FIXME: For HTML,
+#. this newline should be removed.
+#. # Ugh we need to differentiate on origin:
+#. # lilypond-block origin wants an extra <p>, but
+#. # inline music doesn't.
+#. # possibly other center options?
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. verbatim text is always finished with \n
+#. do some tweaking: @ is needed in some ps stuff.
+#.
+#. ugh, the <p> below breaks inline images...
+#. clumsy workaround for python 2.2 pre bug.
+#. ###############################################################
+#. Recognize special sequences in the input
+#. Warning: This uses extended regular expressions.  Tread with care.
+#.
+#. legenda
+#.
+#. (?P<name>regex) -- assign result of REGEX to NAME
+#. *? -- match non-greedily.
+#. (?m) -- multiline regex: make ^ and $ match at each line
+#. (?s) -- make the dot match all characters including newline
+#. why do we have distinction between @mbinclude and @include?
+#. # we'd like to catch and reraise a more
+#. # detailed error, but alas, the exceptions
+#. # changed across the 1.5/2.1 boundary.
+#. ughUGH not original options
+#. First we want to scan the \documentclass line
+#. it should be the first non-comment line.
+#. The only thing we really need to know about the \documentclass line
+#. is if there are one or two columns to begin with.
+#. Then we add everything before \begin{document} to
+#. paperguru.m_document_preamble so that we can later write this header
+#. to a temporary file in find_latex_dims() to find textwidth.
+#. this is not bulletproof..., it checks the first 10 chunks
+#. newchunks.extend (func (m))
+#. python 1.5 compatible:
+#. we have to check for verbatim before doing include,
+#. because we don't want to include files that are mentioned
+#. inside a verbatim environment
+#. ugh fix input
+#. # Hmm, we should hash only lilypond source, and skip the
+#. # %options are ...
+#. # comment line
+#. # todo: include path, but strip
+#. # first part of the path.
+#. format == 'html'
+#. ugh rename
+#. Count sections/chapters.
+#. # TODO: do something like
+#. # this for texinfo/latex as well ?
+#. ugh
+#. fixme: be sys-independent.
+#.
+#. Ugh, fixing up dependencies for .tex generation
+#.
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#. # There used to be code to write .tex dependencies, but
+#. # that is silly: lilypond-book has its own dependency scheme
+#. # to ensure that all lily-XXX.tex files are there
+#. # TODO: put file name in front of texidoc.
+#. #
+#. # what's this? Docme --hwn
+#. #
+#. #docme: why global?
+#. Do It.
+#. should chmod -w
+#: lilypond-book.py:1557 ly2dvi.py:673 midi2ly.py:1018
+#, python-format
+msgid "getopt says: `%s'"
+msgstr ""
+
+#. HACK
+#. status = os.system ('lilypond -w')
+#: lilypond-book.py:1630 ly2dvi.py:777
+#, fuzzy
+msgid "no files specified on command line"
+msgstr "inga filer angivna på kommandoraden."
+
+#.
+#. Petr, ik zou willen dat ik iets zinvoller deed,
+#. maar wat ik kan ik doen, het verandert toch niets?
+#. --hwn 20/aug/99
+#. !@PYTHON@
+#.
+#. ly2dvi.py -- Run LilyPond, add titles to bare score, generate printable
+#. document
+#. Invokes: lilypond, latex (or pdflatex), dvips, ps2pdf, gs
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. This is the third incarnation of ly2dvi.
+#.
+#. Earlier incarnations of ly2dvi were written by
+#. Jeffrey B. Reed<daboys@austin.rr.com> (Python version)
+#. Jan Arne Fagertun <Jan.A.Fagertun@@energy.sintef.no> (Bourne shell script)
+#.
+#. Note: gettext work best if we use ' for docstrings and "
+#. for gettextable strings.
+#. --> DO NOT USE ''' for docstrings.
+#. ###############################################################
+#. Users of python modules should include this snippet
+#. and customize variables below.
+#. We'll suffer this path init stuff as long as we don't install our
+#. python packages in <prefix>/lib/pythonx.y (and don't kludge around
+#. it as we do with teTeX on Red Hat Linux: set some environment var
+#. (PYTHONPATH) in profile)
+#. If set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. Customize these
+#. if __name__ == '__main__':
+#. lilylib globals
+#. # FIXME
+#. # ly2dvi: silly name?
+#. # do -P or -p by default?
+#. #help_summary = _ ("Run LilyPond using LaTeX for titling")
+#: ly2dvi.py:121
+msgid "Run LilyPond, add titles, generate printable document"
+msgstr ""
+
+#: ly2dvi.py:127 main.cc:115
+msgid "write Makefile dependencies for every input file"
+msgstr "skriv Makefile-beroenden för varje indatafil"
+
+#: ly2dvi.py:129
+msgid "print even more output"
+msgstr ""
+
+#: ly2dvi.py:130
 msgid "add DIR to LilyPond's search path"
 msgstr "lägg till KATALOG till LilyPonds sökväg"
 
 # %s är programmets namn
-#: ly2dvi.py:338
-#, fuzzy, c-format
+#: ly2dvi.py:132
+#, fuzzy, python-format
 msgid "keep all output, output to directory %s.dir"
 msgstr "behåll all utdata, och namnge katalogen %s.dir"
 
-#: ly2dvi.py:339
+#: ly2dvi.py:133
 msgid "don't run LilyPond"
 msgstr "kör inte LilyPond"
 
-#: ly2dvi.py:340 main.cc:116
+#: ly2dvi.py:134 main.cc:116
 msgid "produce MIDI output only"
 msgstr "skapa enbart MIDI-utdata"
 
-#: ly2dvi.py:341 ly2dvi.py:342 midi2ly.py:100 main.cc:114 main.cc:117
-msgid "FILE"
-msgstr "FIL"
-
-#: ly2dvi.py:341 midi2ly.py:100
+#: ly2dvi.py:135 midi2ly.py:102
 msgid "write ouput to FILE"
 msgstr "skriv utdata till FIL"
 
-#: ly2dvi.py:342
+#: ly2dvi.py:136
 msgid "find pfa fonts used in FILE"
 msgstr ""
 
-#: ly2dvi.py:344
-msgid "set the resolution of the preview to RES"
+#: ly2dvi.py:139
+msgid "generate PostScript output"
+msgstr "skapa PostScript-utdata"
+
+#: ly2dvi.py:140
+msgid "generate PNG page images"
 msgstr ""
 
-#: ly2dvi.py:345
-msgid "generate PostScript output"
+#: ly2dvi.py:141
+#, fuzzy
+msgid "generate PS.GZ"
 msgstr "skapa PostScript-utdata"
 
-#: ly2dvi.py:346
+#: ly2dvi.py:142
 #, fuzzy
 msgid "generate PDF output"
 msgstr "skapa PostScript-utdata"
 
-#: ly2dvi.py:347
+#: ly2dvi.py:143
 msgid "use pdflatex to generate a PDF output"
 msgstr ""
 
-#: ly2dvi.py:349
+#. FIXME: preview, picture; to indicate creation of a PNG?
+#: ly2dvi.py:145
 msgid "make a picture of the first system"
 msgstr ""
 
-#: ly2dvi.py:350
+#: ly2dvi.py:146
+msgid "make HTML file with links to all output"
+msgstr ""
+
+#: ly2dvi.py:147
 msgid "KEY=VAL"
 msgstr "NYCKEL=VÄRDE"
 
-#: ly2dvi.py:350
+#: ly2dvi.py:147
 msgid "change global setting KEY to VAL"
 msgstr "ändra global inställning NYCKEL till VÄRDE"
 
-# Förklaring till --verbose (borde vara längre)
-#: ly2dvi.py:351 midi2ly.py:103 mup2ly.py:77 update-lily.py:91 main.cc:126
-msgid "verbose"
-msgstr "utförlig utdata"
-
-#: ly2dvi.py:352 midi2ly.py:104 mup2ly.py:78 update-lily.py:92 main.cc:125
+#: ly2dvi.py:149 midi2ly.py:106 mup2ly.py:79 main.cc:125
 msgid "print version number"
 msgstr "visa versionsnummer"
 
-#: ly2dvi.py:353 midi2ly.py:105 mup2ly.py:79 update-lily.py:94 main.cc:127
-msgid "show warranty and copyright"
-msgstr "visa garanti och copyright"
-
-#: ly2dvi.py:448
-#, fuzzy, c-format
+#. other globals
+#. Pdftex support
+#. # yuk.
+#. lilypond_binary = 'valgrind --suppressions=%(home)s/usr/src/guile-1.6.supp --num-callers=10 %(home)s/usr/src/lilypond/lily/out/lilypond '% { 'home' : '/home/hanwen' }
+#. only use installed binary  when we're installed too.
+#. init to empty; values here take precedence over values in the file
+#. # TODO: change name.
+#. for geometry v3
+#. Output formats that ly2dvi should create
+#. what a name.
+#. ly.warning (_ ("invalid value: %s") % `val`)
+#. ly.warning (_ ("invalid value: %s") % `val`)
+#: ly2dvi.py:232
+#, fuzzy, python-format
 msgid "no such setting: `%s'"
 msgstr "inställningen finns inte: %s"
 
-#: ly2dvi.py:508
-#, c-format
+#. 2 == user interrupt.
+#: ly2dvi.py:274
+#, python-format
 msgid "LilyPond crashed (signal %d)."
 msgstr ""
 
-#: ly2dvi.py:509
+#: ly2dvi.py:275
 msgid "Please submit a bug report to bug-lilypond@gnu.org"
 msgstr ""
 
-#: ly2dvi.py:513
-#, c-format
-msgid "LilyPond failed on the input file (exit status %d)."
+#: ly2dvi.py:281
+#, python-format
+msgid "LilyPond failed on input file %s (exit status %d)"
 msgstr ""
 
-#: ly2dvi.py:522
-#, c-format
+#: ly2dvi.py:284
+#, python-format
+msgid "LilyPond failed on an input file (exit status %d)"
+msgstr ""
+
+#: ly2dvi.py:285
+#, fuzzy
+msgid "Continuing..."
+msgstr "Kör %s..."
+
+#. urg
+#: ly2dvi.py:296
+#, python-format
 msgid "Analyzing %s..."
 msgstr "Analyserar %s..."
 
-#: ly2dvi.py:578
-#, fuzzy, c-format
+#. search only the first 10k
+#: ly2dvi.py:354
+#, fuzzy, python-format
 msgid "no LilyPond output found for `%s'"
 msgstr "ingen lilypondutdata funnen för %s"
 
-#: ly2dvi.py:618
-#, fuzzy, c-format
+#. The final \n seems important here. It ensures that the footers and taglines end up on the right page.
+#. TODO: should set textheight (enlarge) depending on papersize.
+#: ly2dvi.py:397
+#, fuzzy, python-format
 msgid "invalid value: `%s'"
 msgstr "ogiltigt värde: %s"
 
-#: ly2dvi.py:724
+#. set sane geometry width (a4-width) for linewidth = -1.
+#. who the hell is 597 ?
+#. Ugh.  (La)TeX writes progress and error messages on stdout
+#. Redirect to stderr
+#: ly2dvi.py:511
 msgid "LaTeX failed on the output file."
 msgstr ""
 
-#: ly2dvi.py:726
-msgid "The error log is as follows:"
+#. make a preview by rendering only the 1st line
+#. of each score
+#: ly2dvi.py:568
+msgid ""
+"Trying create PDF, but no PFA fonts found.\n"
+"Using bitmap fonts instead. This will look bad."
 msgstr ""
 
-#: ly2dvi.py:849
-#, fuzzy, c-format
+#. ugh. Different targets?
+#. Added as functionality to ly2dvi, because ly2dvi may well need to do this
+#. in future too.
+#. no ps header?
+#: ly2dvi.py:615
+#, fuzzy, python-format
 msgid "not a PostScript file: `%s'"
 msgstr "kan inte öppna fil: \"%s\""
 
-#: ly2dvi.py:865 midi2ly.py:1012 update-lily.py:458
-#, c-format
-msgid "getopt says: `%s'"
-msgstr ""
+#. todo
+#: ly2dvi.py:660
+#, fuzzy, python-format
+msgid "Writing HTML menu `%s'"
+msgstr "Skriver \"%s\"..."
 
-#: ly2dvi.py:948
+#. signal programming error
+#. Don't convert input files to abspath, rather prepend '.' to include
+#. path.
+#. As a neat trick, add directory part of first input file
+#. to include path.  That way you can do without the clumsy -I in:
+#. ly2dvi -I foe/bar/baz foo/bar/baz/baz.ly
+#: ly2dvi.py:769
 msgid "pseudo filter"
 msgstr ""
 
-#: ly2dvi.py:951
+#: ly2dvi.py:772
 msgid "pseudo filter only for single input file"
 msgstr ""
 
-#: ly2dvi.py:980
-#, fuzzy, c-format
+#. Ugh, maybe make a setup () function
+#. hmmm. Wish I'd 've written comments when I wrote this.
+#. now it looks complicated.
+#: ly2dvi.py:806
+#, fuzzy, python-format
 msgid "filename should not contain spaces: `%s'"
 msgstr "Innehåller redan: \"%s\""
 
+#. to be sure, add tmpdir *in front* of inclusion path.
+#. os.environ['TEXINPUTS'] =  tmpdir + ':' + os.environ['TEXINPUTS']
+#. We catch all exceptions, because we need to do stuff at exit:
+#. * copy any successfully generated stuff from tempdir and
+#. notify user of that
+#. * cleanout tempdir
+#. ## ARGH. This also catches python programming errors.
+#. ## this should only catch lilypond nonzero exit  status
+#. ## --hwn
+#. TODO: friendly message about LilyPond setup/failing?
+#.
+#: ly2dvi.py:845
+msgid "Running LilyPond failed. Rerun with --verbose for a trace."
+msgstr ""
+
+#. Our LilyPond pseudo filter always outputs to 'lelie'
+#. have subsequent stages and use 'lelie' output.
+#. unless: add --tex, or --latex?
+#. TODO: friendly message about TeX/LaTeX setup,
+#. trying to run tex/latex by hand
+#: ly2dvi.py:886
+msgid "Failed to make PS file. Rerun with --verbose for a trace."
+msgstr ""
+
+#. unless: add --tex, or --latex?
+#. TODO: friendly message about TeX/LaTeX setup,
+#. trying to run tex/latex by hand
+#: ly2dvi.py:916
+msgid "Running LaTeX falied. Rerun with --verbose for a trace."
+msgstr ""
+
 # här är det fråga om skrivning till en fil
-#: ly2dvi.py:1076 input-file-results.cc:67
-#, c-format
+#. add DEP to targets?
+#: ly2dvi.py:926 input-file-results.cc:68
+#, c-format, python-format
 msgid "dependencies output to `%s'..."
 msgstr "beroenden skrivna till \"%s\"..."
 
-#: ly2dvi.py:1090 ly2dvi.py:1104 includable-lexer.cc:49
-#: input-file-results.cc:187 input-file-results.cc:193 lily-guile.cc:97
-#, c-format
+# här är det fråga om skrivning till en fil (första parametern är t.ex
+# DVI, LATEX, MIDI, TEX)
+#: ly2dvi.py:937
+#, fuzzy, python-format
+msgid "%s output to <stdout>..."
+msgstr "%s skrivet till \"%s\"..."
+
+#: ly2dvi.py:942 ly2dvi.py:968 includable-lexer.cc:57
+#: input-file-results.cc:191 input-file-results.cc:197 lily-guile.cc:86
+#, c-format, python-format
 msgid "can't find file: `%s'"
 msgstr "kan inte hitta fil: \"%s\""
 
 # här är det fråga om skrivning till en fil (första parametern är t.ex
 # DVI, LATEX, MIDI, TEX)
-#: ly2dvi.py:1102 midi2ly.py:996
-#, c-format
-msgid "%s output to `%s'..."
+#. Hmm, if this were a function, we could call it the except: clauses
+#: ly2dvi.py:965
+#, fuzzy, python-format
+msgid "%s output to %s..."
 msgstr "%s skrivet till \"%s\"..."
 
-#: ly2dvi.py:1111
-#, fuzzy
-msgid "no files specified on command line"
-msgstr "inga filer angivna på kommandoraden."
-
-#: midi2ly.py:92
+#. !@PYTHON@
+#.
+#. midi2ly.py -- LilyPond midi import script
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c)  1998--2003  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+#. Jan Nieuwenhuizen <janneke@gnu.org>
+#. ###############################################################
+#. Users of python modules should include this snippet.
+#.
+#. This soon to be removed for: import lilypond.lilylib as ly
+#. ###############################################################
+#. ###############################################################
+#. ############### CONSTANTS
+#. ###############################################################
+#. temp_dir = os.path.join (original_dir,  '%s.dir' % program_name)
+#. original_dir = os.getcwd ()
+#. keep_temp_dir_p = 0
+#: midi2ly.py:94
 msgid "Convert MIDI to LilyPond source"
 msgstr ""
 
-#: midi2ly.py:95
+#: midi2ly.py:97
 msgid "print absolute pitches"
 msgstr ""
 
-#: midi2ly.py:96 midi2ly.py:101
+#: midi2ly.py:98 midi2ly.py:103
 msgid "DUR"
 msgstr "LÄNGD"
 
-#: midi2ly.py:96
+#: midi2ly.py:98
 msgid "quantise note durations on DUR"
 msgstr ""
 
-#: midi2ly.py:97
+#: midi2ly.py:99
 msgid "print explicit durations"
 msgstr ""
 
-#: midi2ly.py:99
+#: midi2ly.py:101
 #, fuzzy
 msgid "ALT[:MINOR]"
 msgstr "TON[:MOLL]"
 
-#: midi2ly.py:99
+#: midi2ly.py:101
 #, fuzzy
 msgid "set key: ALT=+sharps|-flats; MINOR=1"
 msgstr "sätt tonart: TON +höjningar/-sänkningar; :1 moll"
 
-#: midi2ly.py:101
+#: midi2ly.py:103
 msgid "quantise note starts on DUR"
 msgstr ""
 
-#: midi2ly.py:102
+#: midi2ly.py:104
 msgid "DUR*NUM/DEN"
 msgstr ""
 
-#: midi2ly.py:102
+#: midi2ly.py:104
 msgid "allow tuplet durations DUR*NUM/DEN"
 msgstr ""
 
-#: midi2ly.py:106
+#: midi2ly.py:108
 msgid "treat every text as a lyric"
 msgstr ""
 
-#: midi2ly.py:1027
+#: midi2ly.py:136 mup2ly.py:130
+msgid " 2001--2003"
+msgstr ""
+
+#: midi2ly.py:141 mup2ly.py:135
+msgid ""
+"\n"
+"Distributed under terms of the GNU General Public License. It comes with\n"
+"NO WARRANTY."
+msgstr ""
+
+#: midi2ly.py:166 mup2ly.py:162
+msgid "Exiting ... "
+msgstr "Avslutar... "
+
+#: midi2ly.py:264 mup2ly.py:261
+#, python-format
+msgid "command exited with value %d"
+msgstr "kommandot avslutade med värde %d"
+
+# här är det fråga om skrivning till en fil (första parametern är t.ex
+# DVI, LATEX, MIDI, TEX)
+#. ###############################################################
+#. END Library
+#. ###############################################################
+#. hmm
+#. major scale: do-do
+#. minor scale: la-la  (= + 5) '''
+#. By tradition, all scales now consist of a sequence
+#. of 7 notes each with a distinct name, from amongst
+#. a b c d e f g.  But, minor scales have a wide
+#. second interval at the top - the 'leading note' is
+#. sharped. (Why? it just works that way! Anything
+#. else doesn't sound as good and isn't as flexible at
+#. saying things. In medieval times, scales only had 6
+#. notes to avoid this problem - the hexachords.)
+#. So, the d minor scale is d e f g a b-flat c-sharp d
+#. - using d-flat for the leading note would skip the
+#. name c and duplicate the name d.  Why isn't c-sharp
+#. put in the key signature? Tradition. (It's also
+#. supposedly based on the Pythagorean theory of the
+#. cycle of fifths, but that really only applies to
+#. major scales...)  Anyway, g minor is g a b-flat c d
+#. e-flat f-sharp g, and all the other flat minor keys
+#. end up with a natural leading note. And there you
+#. have it.
+#. John Sankey <bf250@freenet.carleton.ca>
+#.
+#. Let's also do a-minor: a b c d e f gis a
+#.
+#. --jcn
+#. as -> gis
+#. des -> cis
+#. ges -> fis
+#. g -> fisis
+#. d -> cisis
+#. a -> gisis
+#. b -> ces
+#. e -> fes
+#. f -> eis
+#. c -> bis
+#. # FIXME: compile fix --jcn
+#. TODO: move space
+#. fis cis gis dis ais eis bis
+#. bes es as des ges ces fes
+#. urg, we should be sure that we're in a lyrics staff
+#. all include ALL_NOTES_OFF
+#. ugh, must set key while parsing
+#. because Note init uses key
+#. Better do Note.calc () at dump time?
+#. last_lyric.clocks = t - last_time
+#. hmm
+#. urg, this will barf at meter changes
+#. urg LilyPond doesn't start at c4, but
+#. remembers from previous tracks!
+#. reference_note = Note (clocks_per_4, 4*12, 0)
+#. must be in \notes mode for parsing \skip
+#: midi2ly.py:1002
+#, python-format
+msgid "%s output to `%s'..."
+msgstr "%s skrivet till \"%s\"..."
+
+#: midi2ly.py:1033
 msgid "Example:"
 msgstr ""
 
-#: midi2ly.py:1081
+#: midi2ly.py:1083
 msgid "no files specified on command line."
 msgstr "inga filer angivna på kommandoraden."
 
-#: mup2ly.py:69
+#. !@PYTHON@
+#. mup2ly.py -- mup input converter
+#.
+#. source file of the GNU LilyPond music typesetter
+#.
+#. (c) 2001
+#. if set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#: mup2ly.py:70
 #, fuzzy
 msgid "Convert mup to LilyPond source"
 msgstr "Konvertera mup till ly"
 
-#: mup2ly.py:72
+#: mup2ly.py:73
 msgid "debug"
 msgstr "felsökningsutdata"
 
-#: mup2ly.py:73
+#: mup2ly.py:74
 msgid "define macro NAME [optional expansion EXP]"
 msgstr "definiera makro NAME [valfri makroersättning EXP]"
 
-#: mup2ly.py:75 main.cc:117
+#: mup2ly.py:76 main.cc:117
 msgid "write output to FILE"
 msgstr "skriv utdata till FIL"
 
-#: mup2ly.py:76
+#: mup2ly.py:77
 msgid "only pre-process"
 msgstr "förbehandla enbart"
 
-#: mup2ly.py:1073
-#, c-format
+#. Duh.  Python style portable: cp *.EXT OUTDIR
+#. system ('cp *.%s %s' % (ext, outdir), 1)
+#. Python < 1.5.2 compatibility
+#.
+#. On most platforms, this is equivalent to
+#. `normpath(join(os.getcwd()), PATH)'.  *Added in Python version 1.5.2*
+#. if set, LILYPONDPREFIX must take prevalence
+#. if datadir is not set, we're doing a build and LILYPONDPREFIX
+#. ###############################################################
+#. END Library
+#.
+#. PMX cut and paste
+#.
+#. if not self.entries:
+#. #return '\n'
+#. #ugh ugh
+#. return '\n%s = {}\n\n' % self.idstring ()
+#. ugh
+#. def set_clef (self, letter):
+#. clstr = clef_table[letter]
+#. self.voices[0].add_nonchord (Clef (clstr))
+#. urg
+#. maybe use import copy?
+#. for i in self.pitches:
+#. ch.pitches.append (i)
+#. for i in self.scripts:
+#. ch.scripts.append (i)
+#. http://www.arkkra.com/doc/uguide/contexts.html
+#. #self.current_staffs = []
+#. duh
+#. FIXME: 1?
+#. FIXME: does key play any role in this?
+#. ch = self.current_voices[0].last_chord ()
+#. ch.basic_duration = self.current_voices[0].last_chord ().basic_duration
+#. ugh
+#. ch = self.current_voices[0].last_chord ()
+#. `;' is not a separator, chords end with ';'
+#. mup resets default duration and pitch each bar
+#. ugh: these (and lots more) should also be parsed in
+#. context staff.  we should have a class Staff_properties
+#. and parse/set all those.
+#. shortcut: set to official mup maximum (duh)
+#. self.set_staffs (40)
+#: mup2ly.py:1076
+#, python-format
 msgid "no such context: %s"
 msgstr "omgivning finns inte: %s"
 
-#: mup2ly.py:1297
-#, c-format
+#. hmm
+#. dig this: mup allows ifdefs inside macro bodies
+#. don't do nested multi-line defines
+#. duh: mup is strictly line-based, except for `define',
+#. which is `@' terminated and may span several lines
+#. don't define new macros in unactive areas
+#. To support nested multi-line define's
+#. process_function and macro_name, macro_body
+#. should become lists (stacks)
+#. The mup manual is undetermined on this
+#. and I haven't seen examples doing it.
+#.
+#. don't do nested multi-line define's
+#. writes to stdout for help2man
+#. don't call
+#. identify ()
+#. sys.stdout.flush ()
+#. handy emacs testing
+#. if not files:
+#. files = ['template.mup']
+#: mup2ly.py:1300
+#, python-format
 msgid "Processing `%s'..."
 msgstr "Behandlar \"%s\"..."
 
-#: mup2ly.py:1316
-#, c-format
+#: mup2ly.py:1319
+#, python-format
 msgid "Writing `%s'..."
 msgstr "Skriver \"%s\"..."
 
-#: update-lily.py:76
-msgid "Fetch and rebuild from latest source package"
-msgstr "Hämta och bygg om från senaste källkodspaketet"
-
-#: update-lily.py:79
-#, c-format
-msgid "unpack and build in DIR [%s]"
-msgstr "packa upp och bygg i DIR [%s]"
-
-#: update-lily.py:80
-msgid "execute COMMAND, subtitute:"
-msgstr "kör COMMAND, ersätt:"
-
-#: update-lily.py:81
-msgid "%b: build root"
-msgstr "%b: byggrot"
-
-#: update-lily.py:82
-#, c-format
-msgid "%n: package name"
-msgstr "%n: paketnamn"
-
-#: update-lily.py:83
-msgid "%r: release directory"
-msgstr "%r: programsläppskatalog"
-
-#: update-lily.py:84
-msgid "%t: tarball"
-msgstr "%t: tarboll"
-
-#: update-lily.py:85
-msgid "%v: package version"
-msgstr "%v: paketversion"
-
-#: update-lily.py:88
-#, c-format
-msgid "keep all output, and name the directory %s"
-msgstr "behåll all utdata, och döp katalogen till %s"
-
-#: update-lily.py:89
-msgid "upon failure notify EMAIL[,EMAIL]"
-msgstr "vid fel, meddela EMAIL[,EMAIL]"
-
-#: update-lily.py:90
-msgid "remove previous build"
-msgstr "ta bort föregående bygge"
-
-#: update-lily.py:93
-#, c-format
-msgid "fetch and build URL [%s]"
-msgstr "hämta och bygg URL [%s]"
-
-#: update-lily.py:429
-#, c-format
-msgid "Listing `%s'..."
-msgstr "Listar \"%s\"..."
-
-#: update-lily.py:497
-#, c-format
-msgid "latest is: %s"
-msgstr "senaste är: %s"
-
-#: update-lily.py:498
-#, c-format
-msgid "relax, %s is up to date"
-msgstr "lugn, %s är senaste versionen"
-
-#: update-lily.py:507 update-lily.py:520
-#, c-format
-msgid "Fetching `%s'..."
-msgstr "Hämtar \"%s\"..."
-
-#: update-lily.py:529
-#, c-format
-msgid "Building `%s'..."
-msgstr "Bygger \"%s\"..."
-
 #: getopt-long.cc:146
 #, c-format
 msgid "option `%s' requires an argument"
@@ -439,52 +1219,57 @@ msgstr "ok
 msgid "invalid argument `%s' to option `%s'"
 msgstr "ogiltigt argument \"%s\" till flaggan \"%s\""
 
-#: warn.cc:24
+#: warn.cc:25
 #, fuzzy, c-format
 msgid "warning: %s\n"
 msgstr "varning: "
 
-#: warn.cc:30
+#: warn.cc:31
 #, fuzzy, c-format
 msgid "error: %s\n"
 msgstr "fel: "
 
-#: warn.cc:43
+#: warn.cc:44
 #, fuzzy, c-format
 msgid "programming error: %s (Continuing; cross thumbs)\n"
 msgstr " (Fortsätter, håll tummarna)"
 
-#: accidental-engraver.cc:181 new-accidental-engraver.cc:237
+#: accidental.cc:202 key-signature-interface.cc:137
+#, c-format
+msgid "accidental `%s' not found"
+msgstr ""
+
+#: accidental-engraver.cc:171 new-accidental-engraver.cc:238
 #, c-format
 msgid "Accidental typesetting list must begin with context-name: %s"
 msgstr ""
 
-#: accidental-engraver.cc:206 new-accidental-engraver.cc:262
+#: accidental-engraver.cc:196 new-accidental-engraver.cc:263
 #, fuzzy, c-format
 msgid "unknown accidental typesetting: %s. Ignored"
 msgstr "okänd \"escaped\" sträng: \"\\%s\""
 
-#: accidental-engraver.cc:222 new-accidental-engraver.cc:278
+#: accidental-engraver.cc:212 new-accidental-engraver.cc:279
 #, c-format
 msgid "Symbol is not a parent context: %s. Ignored"
 msgstr ""
 
-#: accidental-engraver.cc:225 new-accidental-engraver.cc:281
+#: accidental-engraver.cc:215 new-accidental-engraver.cc:282
 #, c-format
 msgid "Accidental typesetting must be pair or context-name: %s"
 msgstr ""
 
-#: afm.cc:60
+#: afm.cc:66
 #, c-format
 msgid "can't find character number: %d"
 msgstr "kan inte hitta teckennummer: %d"
 
-#: afm.cc:75
+#: afm.cc:81
 #, c-format
 msgid "can't find character called: `%s'"
 msgstr "kan inte hitta tecken som heter: \"%s\""
 
-#: afm.cc:125
+#: afm.cc:142
 #, c-format
 msgid "Error parsing AFM file: `%s'"
 msgstr "Fel vid tolkning av AFM-fil: \"%s\""
@@ -507,76 +1292,82 @@ msgstr ""
 " Bygg om alla .afm-filer, och ta bort alla .pk- och .tfm-filer. Kör igen med "
 "-V för att visa typsnittssökvägar."
 
-#: all-font-metrics.cc:167
+#: all-font-metrics.cc:103
+msgid ""
+"A script for removing font-files is delivered with the source-code,\n"
+"in buildscripts/clean-fonts.sh"
+msgstr ""
+
+#: all-font-metrics.cc:169
 #, c-format
 msgid "can't find font: `%s'"
 msgstr "kan inte hitta typsnitt: \"%s\""
 
-#: all-font-metrics.cc:168
+#: all-font-metrics.cc:170
 msgid "Loading default font"
 msgstr "Läser in standardtypsnitt"
 
-#: all-font-metrics.cc:183
+#: all-font-metrics.cc:185
 #, c-format
 msgid "can't find default font: `%s'"
 msgstr "kan inte hitta standardtypsnitt: \"%s\""
 
-#: all-font-metrics.cc:184 includable-lexer.cc:51 input-file-results.cc:188
+#: all-font-metrics.cc:186 includable-lexer.cc:59 input-file-results.cc:192
 #, c-format
 msgid "(search path: `%s')"
 msgstr "(sökväg: \"%s\")"
 
-#: all-font-metrics.cc:185
+#: all-font-metrics.cc:187
 msgid "Giving up"
 msgstr "Ger upp"
 
 #: auto-change-iterator.cc:43 change-iterator.cc:60
-#: part-combine-music-iterator.cc:97
+#: part-combine-music-iterator.cc:120
 msgid "Can't switch translators, I'm there already"
 msgstr "Kan inte byta översättare, jag är redan där"
 
-#: bar-check-iterator.cc:58
+#: bar-check-iterator.cc:51
 #, c-format
 msgid "barcheck failed at: %s"
 msgstr "taktkontroll misslyckades vid: %s"
 
-#: beam-engraver.cc:167
+#: beam.cc:146
+#, fuzzy
+msgid "beam has less than two visible stems"
+msgstr "balk har mindre än två skaft"
+
+#: beam.cc:151
+#, fuzzy
+msgid "Beam has less than two stems. Removing beam."
+msgstr "balk har mindre än två skaft"
+
+#: beam.cc:976
+msgid ""
+"Not sure that we can find a nice beam slope (no viable initial configuration "
+"found)."
+msgstr ""
+
+#: beam-engraver.cc:176
 msgid "already have a beam"
 msgstr "har redan en balk"
 
-#: beam-engraver.cc:234
+#: beam-engraver.cc:259
 msgid "unterminated beam"
 msgstr "oavslutad balk"
 
-#: beam-engraver.cc:267 chord-tremolo-engraver.cc:175
+#: beam-engraver.cc:292 chord-tremolo-engraver.cc:197
 msgid "stem must have Rhythmic structure"
 msgstr "skaft måste ha en rytmisk struktur"
 
-#: beam-engraver.cc:281
-msgid "stem doesn't fit in beam"
-msgstr "skaftet passar inte i balken"
-
-#: beam-engraver.cc:282
-msgid "beam was started here"
-msgstr "balken startade här"
-
-#: beam.cc:134
-#, fuzzy
-msgid "beam has less than two visible stems"
-msgstr "balk har mindre än två skaft"
-
-#: beam.cc:139
-#, fuzzy
-msgid "Beam has less than two stems. Removing beam."
-msgstr "balk har mindre än två skaft"
-
-#: beam.cc:951
-msgid ""
-"Not sure that we can find a nice beam slope (no viable initial configuration "
-"found)."
-msgstr ""
+#: beam-engraver.cc:306
+msgid "stem doesn't fit in beam"
+msgstr "skaftet passar inte i balken"
+
+#: beam-engraver.cc:307
+msgid "beam was started here"
+msgstr "balken startade här"
 
-#: break-align-interface.cc:166
+#: break-align-interface.cc:173
 #, fuzzy, c-format
 msgid "No spacing entry from %s to `%s'"
 msgstr "Lägger inte till översättare: \"%s\""
@@ -600,68 +1391,108 @@ msgstr "Jag 
 msgid "none of these in my family"
 msgstr "ingen av dessa i min familj"
 
-#: chord-tremolo-engraver.cc:137 percent-repeat-engraver.cc:182
+#: chord-tremolo-engraver.cc:98
+#, c-format
+msgid "Chord tremolo with %d elements. Must have two elements."
+msgstr ""
+
+#: chord-tremolo-engraver.cc:157
 msgid "unterminated chord tremolo"
 msgstr "icke avslutat ackordtremolo"
 
-#: chord-tremolo-iterator.cc:50
+#: chord-tremolo-iterator.cc:69
 msgid "no one to print a tremolos"
 msgstr "det finns ingen som kan skriva tremolon"
 
-#: chord.cc:313
+#: clef.cc:64
 #, c-format
-msgid "invalid subtraction: not part of chord: %s"
-msgstr "ogiltig subtraktion: inte del av ackord: %s"
+msgid "clef `%s' not found"
+msgstr ""
 
-# "pitch" här ska alltså vara en ton i ett ackord
-#: chord.cc:342
+#: cluster.cc:131
+#, fuzzy, c-format
+msgid "unknown cluster style `%s'"
+msgstr "okänd översättare: \"%s\""
+
+#: coherent-ligature-engraver.cc:84
+#, c-format
+msgid "gotcha: ptr=%ul"
+msgstr ""
+
+#: coherent-ligature-engraver.cc:96
+#, c-format
+msgid "distance=%f"
+msgstr ""
+
+#: coherent-ligature-engraver.cc:139
+#, c-format
+msgid "Coherent_ligature_engraver: setting `spacing-increment = 0.01': ptr=%ul"
+msgstr ""
+
+#: custos.cc:92
 #, c-format
-msgid "invalid inversion pitch: not part of chord: %s"
-msgstr "ogiltig ton för inversion: inte del av ett ackord: %s"
+msgid "custos `%s' not found"
+msgstr ""
 
 #: dimensions.cc:13
 msgid "NaN"
 msgstr "-"
 
-#: dynamic-engraver.cc:187 span-dynamic-performer.cc:82
+#: dynamic-engraver.cc:204 span-dynamic-performer.cc:82
 msgid "can't find start of (de)crescendo"
 msgstr "kan inte hitta start på crescendo/diminuendo"
 
-#: dynamic-engraver.cc:211
+#: dynamic-engraver.cc:216
 msgid "already have a crescendo"
 msgstr "har redan ett crescendo"
 
-#: dynamic-engraver.cc:212
+#: dynamic-engraver.cc:217
 msgid "already have a decrescendo"
 msgstr "har redan ett diminuendo"
 
-#: dynamic-engraver.cc:215
+#: dynamic-engraver.cc:220
 #, fuzzy
 msgid "Cresc started here"
 msgstr "balken startade här"
 
-#: dynamic-engraver.cc:307
+#: dynamic-engraver.cc:323
 msgid "unterminated (de)crescendo"
 msgstr "oavslutat crescendo/diminuendo"
 
-#: extender-engraver.cc:96
+#: event.cc:49
+#, fuzzy, c-format
+msgid "Transposition by %s makes alteration larger than two"
+msgstr "Transponering med %s gör höjning/sänkning större än två"
+
+#: event-chord-iterator.cc:76 output-property-music-iterator.cc:27
+#, fuzzy, c-format
+msgid "Junking event: `%s'"
+msgstr "Slänger förfrågan: \"%s\""
+
+#: extender-engraver.cc:94
 msgid "unterminated extender"
 msgstr "oavslutad utökare"
 
-#: extender-engraver.cc:108
-msgid "Nothing to connect extender to on the left.  Ignoring extender request."
+#: extender-engraver.cc:106
+#, fuzzy
+msgid "Nothing to connect extender to on the left.  Ignoring extender event."
 msgstr ""
 "Det finns inget att koppla utökaren mot till vänster. Ignorerar "
 "utökarförfrågan"
 
-#: folded-repeat-iterator.cc:78
+#: folded-repeat-iterator.cc:88
 msgid "no one to print a repeat brace"
 msgstr "det finns ingen som kan skriva ett repristecken"
 
-#: font-interface.cc:238
+#: font-interface.cc:239
 msgid "couldn't find any font satisfying "
 msgstr "kunde inte hitta något typsnitt som uppfyller "
 
+#: glissando-engraver.cc:100
+#, fuzzy
+msgid "Unterminated glissando."
+msgstr "oavslutat båge"
+
 #: gourlay-breaking.cc:188
 #, c-format
 msgid "Optimal demerits: %f"
@@ -671,6 +1502,27 @@ msgstr ""
 msgid "No feasible line breaking found"
 msgstr "Ingen lämplig radbrytning hittades"
 
+#: gregorian-ligature-engraver.cc:59
+#, fuzzy, c-format
+msgid "\\%s ignored"
+msgstr "(ignorerat)"
+
+#: gregorian-ligature-engraver.cc:64
+#, c-format
+msgid "implied \\%s added"
+msgstr ""
+
+#.
+#. Todo: do something sensible. The grob-pq-engraver is not water
+#. tight, and stuff like tupletSpannerDuration confuses it.
+#.
+#: grob-pq-engraver.cc:130
+#, c-format
+msgid ""
+"Skipped something?\n"
+"Grob %s ended before I expected it to end."
+msgstr ""
+
 #: hairpin.cc:98
 msgid "decrescendo too small"
 msgstr "diminuendo för litet"
@@ -679,118 +1531,120 @@ msgstr "diminuendo f
 msgid "crescendo too small"
 msgstr "crescendo för litet"
 
-#: hyphen-engraver.cc:89
+#: horizontal-bracket-engraver.cc:64
+msgid "Don't have that many brackets."
+msgstr ""
+
+#: horizontal-bracket-engraver.cc:73
+#, fuzzy
+msgid "Conflicting note group events."
+msgstr "Motsägande tonartssignaturer funna."
+
+#: hyphen-engraver.cc:87
 msgid "unterminated hyphen"
 msgstr "oavslutat bindestreck"
 
-#: hyphen-engraver.cc:101
-msgid "Nothing to connect hyphen to on the left.  Ignoring hyphen request."
+#: hyphen-engraver.cc:99
+#, fuzzy
+msgid "Nothing to connect hyphen to on the left.  Ignoring hyphen event."
 msgstr ""
 "Det finns inget att koppla bindestrecket mot till vänster. Ignorerar "
 "bindestrecksförfrågan."
 
-#: input-file-results.cc:71 source-file.cc:52 streams.cc:38
+#: input.cc:99
+msgid "non fatal error: "
+msgstr "icke-fatalt fel: "
+
+#: input.cc:107 source-file.cc:146 source-file.cc:239
+msgid "position unknown"
+msgstr "okänd position"
+
+#: input-file-results.cc:72 source-file.cc:54 streams.cc:38
 #, c-format
 msgid "can't open file: `%s'"
 msgstr "kan inte öppna fil: \"%s\""
 
-#: input-file-results.cc:131
+#: input-file-results.cc:132
 msgid "Score contains errors; will not process it"
 msgstr "Partitur innehåller fel; kommer inte behandla det"
 
-#: input-file-results.cc:168
+#: input-file-results.cc:172
 #, c-format
 msgid "Now processing: `%s'"
 msgstr "Behandlar nu: \"%s\""
 
-#: input.cc:98
-msgid "non fatal error: "
-msgstr "icke-fatalt fel: "
-
-#: input.cc:106 source-file.cc:147 source-file.cc:240
-msgid "position unknown"
-msgstr "okänd position"
-
-#: key-engraver.cc:91
-msgid "Conflicting key signatures found."
-msgstr "Motsägande tonartssignaturer funna."
-
-#: key-engraver.cc:92
-msgid "This was the other key definition."
-msgstr "Detta var den andra tonartsdefinitionen."
-
-#: key-performer.cc:92
+#: key-performer.cc:96
 msgid "FIXME: key change merge"
 msgstr "FIXA: tonartsbytessammanslagning"
 
-#: kpath.cc:64
+#: kpath.cc:76
 #, fuzzy, c-format
 msgid "Kpathsea couldn't find TFM file `%s'"
 msgstr "kan inte hitta fil: \"%s\""
 
-#: ligature-bracket.cc:105 ligature-bracket.cc:139 ligature-engraver.cc:124
-msgid "no left bound"
-msgstr ""
-
-#: ligature-engraver.cc:81
+#: ligature-engraver.cc:159
 #, fuzzy
 msgid "can't find start of ligature"
 msgstr "kan inte hitta start på båge"
 
-#: ligature-engraver.cc:86
+#: ligature-engraver.cc:165
 msgid "no right bound"
 msgstr ""
 
-#: ligature-engraver.cc:108
+#: ligature-engraver.cc:191
 #, fuzzy
 msgid "already have a ligature"
 msgstr "har redan en balk"
 
-#: ligature-engraver.cc:166
+#: ligature-engraver.cc:207
+msgid "no left bound"
+msgstr ""
+
+#: ligature-engraver.cc:258
 #, fuzzy
 msgid "unterminated ligature"
 msgstr "oavslutat båge"
 
-#: ligature-engraver.cc:183
+#: ligature-engraver.cc:282
 msgid "ligature may not contain rest; ignoring rest"
 msgstr ""
 
-#: ligature-engraver.cc:184
+#: ligature-engraver.cc:283
 #, fuzzy
 msgid "ligature was started here"
 msgstr "balken startade här"
 
-#: lily-guile.cc:99
+#: lily-guile.cc:88
 #, c-format
 msgid "(load path: `%s')"
 msgstr "(inläsningssökväg: \"%s\""
 
-#: lily-guile.cc:582
+#: lily-guile.cc:576
 #, fuzzy, c-format
 msgid "Can't find property type-check for `%s' (%s)."
 msgstr ""
 "Kan inte hitta egenskapstypkontroll för \"%s\". Kanske har du gjort ett "
 "typfel? Gör tilldelning i alla fall."
 
-#: lily-guile.cc:585
+#: lily-guile.cc:579
 msgid "Perhaps you made a typing error?"
 msgstr ""
 
-#: lily-guile.cc:591
+#: lily-guile.cc:585
 msgid "Doing assignment anyway."
 msgstr ""
 
-#: lily-guile.cc:605
+#: lily-guile.cc:599
 #, c-format
 msgid "Type check for `%s' failed; value `%s' must be of type `%s'"
 msgstr ""
 "Typkontroll för \"%s\" misslyckades. Värde \"%s\" måste ha typen \"%s\""
 
-#: lookup.cc:141
+#: lookup.cc:173
 msgid "round filled box horizontal extent smaller than blot; decreasing blot"
 msgstr ""
 
-#: lookup.cc:146
+#: lookup.cc:178
 msgid "round filled box vertical extent smaller than blot; decreasing blot"
 msgstr ""
 
@@ -810,12 +1664,6 @@ msgstr "UTTR"
 msgid "set options, use -e '(ly-option-usage)' for help"
 msgstr ""
 
-#. another bug in option parser: --output=foe is taken as an abbreviation
-#. for --output-format
-#: main.cc:110
-msgid "EXT"
-msgstr "FMT"
-
 #: main.cc:110
 msgid "use output format EXT"
 msgstr ""
@@ -878,16 +1726,12 @@ msgstr ""
 "och du får ändra och/eller distribuera kopior av den under vissa\n"
 "villkor. Kör \"%s --warranty\" för mer information.\n"
 
-#: main.cc:188 main.cc:200
-#, c-format
-msgid "Copyright (c) %s by"
-msgstr "Copyright © %s av"
-
 #: main.cc:198
 msgid "GNU LilyPond -- The music typesetter"
 msgstr "GNU Lilypond -- Musiktypsättaren"
 
 #: main.cc:206
+#, fuzzy
 msgid ""
 "    This program is free software; you can redistribute it and/or\n"
 "modify it under the terms of the GNU General Public License version 2\n"
@@ -900,7 +1744,8 @@ msgid ""
 "\n"
 "    You should have received a copy (refer to the file COPYING) of the\n"
 "GNU General Public License along with this program; if not, write to\n"
-"the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,\n"
+"the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA "
+"02111-1307,\n"
 "USA.\n"
 msgstr ""
 "Detta program är fri programvara. Du kan distribuera det och/eller\n"
@@ -917,78 +1762,73 @@ msgstr ""
 "detta program. Om inte, skriv till Free Software Foundation, Inc., 59\n"
 "Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
 
-#: mensural-ligature-engraver.cc:321 mensural-ligature-engraver.cc:483
-msgid "unexpected case fall-through"
+#: mensural-ligature.cc:153
+#, c-format
+msgid "Mensural_ligature:thickness undefined on flexa %d; assuming 1.4"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:332
-msgid "ligature with less than 2 heads -> skipping"
+#: mensural-ligature.cc:169
+#, c-format
+msgid "Mensural_ligature:delta-pitch undefined on flexa %d; assuming 0"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:347
-msgid "can not determine pitch of ligature primitive -> skipping"
+#: mensural-ligature.cc:182
+#, c-format
+msgid "Mensural_ligature:flexa-width undefined on flexa %d; assuming 2.0"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:370
-msgid "prime interval within ligature -> skipping"
+#: mensural-ligature.cc:215
+msgid "Mensural_ligature:unexpected case fall-through"
 msgstr ""
 
-#: mensural-ligature-engraver.cc:380
-msgid "mensural ligature: duration none of L, B, S -> skipping"
+#: mensural-ligature.cc:225
+msgid "Mensural_ligature: (join_left == 0)"
 msgstr ""
 
-#: mensural-ligature.cc:152
-#, c-format
-msgid "Mensural_ligature: thickness undefined on flexa %d; assuming 1.4"
+#: mensural-ligature-engraver.cc:248 mensural-ligature-engraver.cc:397
+msgid "unexpected case fall-through"
 msgstr ""
 
-#: mensural-ligature.cc:166
-#, c-format
-msgid "Mensural_ligature: delta-pitch undefined on flexa %d; assuming 0"
+#: mensural-ligature-engraver.cc:259
+msgid "ligature with less than 2 heads -> skipping"
 msgstr ""
 
-#: mensural-ligature.cc:177
-#, c-format
-msgid "Mensural_ligature: flexa-width undefined on flexa %d; assuming 2.0"
+#: mensural-ligature-engraver.cc:279
+msgid "can not determine pitch of ligature primitive -> skipping"
 msgstr ""
 
-#: mensural-ligature.cc:208
-msgid "Mensural_ligature: unexpected case fall-through"
+#: mensural-ligature-engraver.cc:302
+msgid "prime interval within ligature -> skipping"
 msgstr ""
 
-#: mensural-ligature.cc:217
-msgid "Menusral_ligature: (join_left == 0)"
+#: mensural-ligature-engraver.cc:312
+msgid "mensural ligature: duration none of L, B, S -> skipping"
 msgstr ""
 
-#: midi-item.cc:144
+#: midi-item.cc:148
 #, c-format
 msgid "no such instrument: `%s'"
 msgstr "instrumentet finns inte: \"%s\""
 
-#: midi-item.cc:234
+#: midi-item.cc:238
 msgid "silly duration"
 msgstr "tokig längd"
 
-#: midi-item.cc:247
+#: midi-item.cc:251
 msgid "silly pitch"
 msgstr "tokig ton"
 
-#: music-output-def.cc:113
+#: music-output-def.cc:111
 #, c-format
 msgid "can't find `%s' context"
 msgstr "kan inte hitta omgivningen \"%s\""
 
-#: music.cc:159
-#, c-format
-msgid "Transposition by %s makes accidental larger than two"
-msgstr "Transponering med %s gör höjning/sänkning större än två"
-
-#: my-lily-lexer.cc:142
+#: my-lily-lexer.cc:169
 #, c-format
 msgid "Identifier name is a keyword: `%s'"
 msgstr "Identifierarnamn är ett nyckelord: \"%s\""
 
-#: my-lily-lexer.cc:162
+#: my-lily-lexer.cc:191
 #, c-format
 msgid "error at EOF: %s"
 msgstr "fel vid filslut: %s"
@@ -1001,42 +1841,46 @@ msgstr "Tolkar..."
 msgid "Braces don't match"
 msgstr "Krullparenteser matchar inte"
 
+#.
+#. music for the softenon children?
+#.
+#: new-fingering-engraver.cc:143
+msgid "music for the martians."
+msgstr ""
+
+#: new-tie-engraver.cc:166 tie-engraver.cc:217
+msgid "lonely tie"
+msgstr "ensam båge"
+
 #: note-collision.cc:340
 msgid "Too many clashing notecolumns.  Ignoring them."
 msgstr "För många krockande notkolumner. Ignorerar dem."
 
-#: note-head.cc:134
-msgid "Symbol not found, "
-msgstr ""
-
-#: output-property-music-iterator.cc:20 request-chord-iterator.cc:76
+#: note-head.cc:127
 #, c-format
-msgid "Junking request: `%s'"
-msgstr "Slänger förfrågan: \"%s\""
+msgid "note head `%s' not found"
+msgstr ""
 
-#: paper-def.cc:122
+#: paper-def.cc:96
 #, c-format
 msgid "paper output to `%s'..."
 msgstr "pappersutdata till \"%s\"..."
 
-#: paper-outputter.cc:57
-msgid ", at "
-msgstr ", vid "
-
-#: paper-score.cc:77
+#: paper-score.cc:78
 #, fuzzy, c-format
 msgid "Element count %d (spanners %d) "
 msgstr "Elementantal %d "
 
-#: paper-score.cc:82
-msgid "Preprocessing elements..."
+#: paper-score.cc:83
+#, fuzzy
+msgid "Preprocessing graphical objects..."
 msgstr "Förbehandlar element..."
 
-#: paper-score.cc:115
+#: paper-score.cc:116
 msgid "Outputting Score, defined at: "
 msgstr "Matar ut partitur, definierade vid: "
 
-#: parse-scm.cc:80
+#: parse-scm.cc:79
 msgid "GUILE signaled an error for the expression begining here"
 msgstr ""
 
@@ -1046,21 +1890,26 @@ msgstr ""
 #.
 #. last->translator_id_string_  = get_change ()->change_to_id_string_;
 #.
-#: part-combine-music-iterator.cc:116
+#: part-combine-music-iterator.cc:139
 #, c-format
 msgid "I'm one myself: `%s'"
 msgstr "Jag är en själv: \"%s\""
 
-#: part-combine-music-iterator.cc:119
+#: part-combine-music-iterator.cc:142
 #, c-format
 msgid "none of these in my family: `%s'"
 msgstr "ingen av dessa i min familj: \"%s\""
 
-#: percent-repeat-engraver.cc:116
+#: percent-repeat-engraver.cc:109
 msgid "Don't know how to handle a percent repeat of this length."
 msgstr "Vet inte hur en procentupprepning av denna längd ska hanteras."
 
-#: percent-repeat-iterator.cc:53
+#: percent-repeat-engraver.cc:163
+#, fuzzy
+msgid "unterminated percent repeat"
+msgstr "oavslutad balk"
+
+#: percent-repeat-iterator.cc:65
 msgid "no one to print a percent"
 msgstr "det finns ingen som kan skriva procent"
 
@@ -1087,134 +1936,102 @@ msgstr "fr
 msgid "MIDI output to `%s'..."
 msgstr "MIDI-utdata till \"%s\"..."
 
-#: phrasing-slur-engraver.cc:117
+#: phrasing-slur-engraver.cc:123
 msgid "unterminated phrasing slur"
 msgstr "oavslutad fraseringsbåge"
 
-#: phrasing-slur-engraver.cc:132
+#: phrasing-slur-engraver.cc:141
 msgid "can't find start of phrasing slur"
 msgstr "kan inte hitta start på fraseringsbåge"
 
-#: piano-pedal-engraver.cc:230 piano-pedal-engraver.cc:245
-#: piano-pedal-engraver.cc:300 piano-pedal-performer.cc:82
+#: piano-pedal-engraver.cc:235 piano-pedal-engraver.cc:250
+#: piano-pedal-engraver.cc:305 piano-pedal-performer.cc:82
 #, c-format
 msgid "can't find start of piano pedal: `%s'"
 msgstr "kan inte hitta start på pianopedal: \"%s\""
 
-#: piano-pedal-engraver.cc:405
+#: piano-pedal-engraver.cc:410
 #, fuzzy
 msgid "unterminated pedal bracket"
 msgstr "oavslutad balk"
 
-#: pitch.cc:25
-msgid "Pitch arguments out of range"
-msgstr "Tonargument utanför intervallet"
-
-#: porrectus.cc:35
-msgid "(left_head == 0)"
-msgstr ""
-
-#: porrectus.cc:46
-msgid "undefined left_head"
-msgstr ""
-
-#: porrectus.cc:65
-msgid "(right_head == 0)"
-msgstr ""
-
-#: porrectus.cc:76
-msgid "undefined right_head"
-msgstr ""
-
-#: porrectus.cc:96
-msgid "junking lonely porrectus"
-msgstr ""
-
-#: porrectus.cc:106
-msgid "porrectus style undefined; using mensural"
-msgstr ""
-
-#: porrectus.cc:251
-msgid "ascending vaticana style porrectus"
+#: property-iterator.cc:97
+#, c-format
+msgid "Not a grob name, `%s'."
 msgstr ""
 
-#: property-iterator.cc:64
+#: rest.cc:139
 #, c-format
-msgid "Not a grob name, `%s'."
+msgid "rest `%s' not found, "
 msgstr ""
 
-#: rest-collision.cc:186
+#: rest-collision.cc:199
 msgid "too many colliding rests"
 msgstr "för många krockande pauser"
 
-#: scm-option.cc:44
+#: scm-option.cc:45
 msgid "lilypond -e EXPR means:"
 msgstr ""
 
-#: scm-option.cc:46
+#: scm-option.cc:47
 msgid "  Evalute the Scheme EXPR before parsing any .ly files."
 msgstr ""
 
-#: scm-option.cc:48
+#: scm-option.cc:49
 msgid ""
 "  Multiple -e options may be given, they will be evaluated sequentially."
 msgstr ""
 
-#: scm-option.cc:50
+#: scm-option.cc:51
 msgid ""
 "  The function ly-set-option allows for access to some internal variables."
 msgstr ""
 
-#: scm-option.cc:52
+#: scm-option.cc:53
 msgid "Usage: lilypond -e \"(ly-set-option SYMBOL VAL)\""
 msgstr ""
 
-#: scm-option.cc:54
+#: scm-option.cc:55
 msgid "Where SYMBOL VAL pair is any of:"
 msgstr ""
 
-#: scm-option.cc:122
+#: scm-option.cc:128
 msgid "Unknown internal option!"
 msgstr ""
 
-#: score-engraver.cc:102
-#, fuzzy, c-format
-msgid "can't find `%s'"
-msgstr "kan inte hitta: \"%s\""
-
-#: score-engraver.cc:103
-msgid "Fonts have not been installed properly.  Aborting"
-msgstr ""
-
-#: score-engraver.cc:207
-#, c-format
-msgid "unbound spanner `%s'"
-msgstr "obunden bryggare \"%s\""
-
-#: score.cc:92
-#, c-format
-msgid "stack size cur %d, max %d\n"
-msgstr ""
-
-#: score.cc:109
+#: score.cc:85
 msgid "Interpreting music..."
 msgstr "Tolkar musik..."
 
-#: score.cc:122
+#: score.cc:97
 msgid "Need music in a score"
 msgstr "Behöver musik i partitur"
 
 #. should we? hampers debugging.
-#: score.cc:135
+#: score.cc:111
 msgid "Errors found/*, not processing score*/"
 msgstr "Fel funna/*, behandlar inte partitur*/"
 
-#: score.cc:142
+#: score.cc:118
 #, c-format
 msgid "elapsed time: %.2f seconds"
 msgstr "tidsåtgång: %.2f sekunder"
 
-#: script-engraver.cc:66
+#: score-engraver.cc:99
+#, fuzzy, c-format
+msgid "can't find `%s'"
+msgstr "kan inte hitta: \"%s\""
+
+#: score-engraver.cc:100
+msgid "Fonts have not been installed properly.  Aborting"
+msgstr ""
+
+#: score-engraver.cc:205
+#, c-format
+msgid "unbound spanner `%s'"
+msgstr "obunden bryggare \"%s\""
+
+#: script-engraver.cc:90
 #, c-format
 msgid "Don't know how to interpret articulation `%s'"
 msgstr "Kan inte tolka artikulering \"%s\""
@@ -1224,31 +2041,22 @@ msgstr "Kan inte tolka artikulering \"%s\""
 msgid "Separation_item:  I've been drinking too much"
 msgstr "Separation_item: Jag har druckit för mycket"
 
-#: simple-spacer.cc:254
+#: simple-spacer.cc:248
 #, c-format
 msgid "No spring between column %d and next one"
 msgstr ""
 
-#: slur-engraver.cc:140
+#: slur-engraver.cc:141
 msgid "unterminated slur"
 msgstr "oavslutat båge"
 
 #. How to shut up this warning, when Voice_devnull_engraver has
-#. eaten start request?
-#: slur-engraver.cc:157
+#. eaten start event?
+#: slur-engraver.cc:159
 msgid "can't find start of slur"
 msgstr "kan inte hitta start på båge"
 
-#: slur.cc:53
-#, fuzzy
-msgid "Putting slur over rest."
-msgstr "Sätter båge över paus. Ignorerar."
-
-#: slur.cc:424
-msgid "Slur over rest?"
-msgstr "Båge över paus?"
-
-#: source-file.cc:65
+#: source-file.cc:67
 #, c-format
 msgid "Huh?  Got %d, expected %d characters"
 msgstr "Öh? Fick %d, väntade %d tecken"
@@ -1263,18 +2071,36 @@ msgstr ""
 msgid "#<spring smob d= %f>"
 msgstr ""
 
-#: staff-symbol.cc:62
+#: staff-symbol.cc:61
 msgid "staff symbol: indentation yields beyond end of line"
 msgstr ""
 
-#: stem-engraver.cc:117
+#: stem.cc:118
+msgid "Weird stem size; check for narrow beams"
+msgstr "Konstig skaftstorlek; kolla efter smala balkar"
+
+#: stem.cc:611
+#, c-format
+msgid "flag `%s' not found"
+msgstr ""
+
+#: stem.cc:624
+#, c-format
+msgid "flag stroke `%s' not found"
+msgstr ""
+
+#: stem-engraver.cc:96
+msgid "tremolo duration is too long"
+msgstr ""
+
+#: stem-engraver.cc:124
 #, c-format
 msgid "Adding note head to incompatible stem (type = %d)"
 msgstr "Lägger till nothuvud till inkompatibel båge (typ = %d)"
 
-#: stem.cc:118
-msgid "Weird stem size; check for narrow beams"
-msgstr "Konstig skaftstorlek; kolla efter smala balkar"
+#: stem-engraver.cc:125
+msgid "Don't you want polyphonic voices instead?"
+msgstr ""
 
 #: streams.cc:34
 #, c-format
@@ -1290,30 +2116,32 @@ msgstr "Fel vid synkning av fil (disken full?)"
 msgid "Element count %d."
 msgstr "Elementantal %d."
 
-#: system.cc:377
+#: system.cc:372
 #, fuzzy, c-format
 msgid "Grob count %d "
 msgstr "Elementantal %d "
 
-#: system.cc:391
-msgid "Calculating column positions..."
+#: system.cc:386
+#, fuzzy
+msgid "Calculating line breaks..."
 msgstr "Beräknar kolumnpositioner..."
 
-#: text-spanner-engraver.cc:92
+#: text-spanner-engraver.cc:81
 msgid "can't find start of text spanner"
 msgstr "kan inte hitta start på textbryggare"
 
-#: text-spanner-engraver.cc:112
+#: text-spanner-engraver.cc:95
 msgid "already have a text spanner"
 msgstr "har redan en textbryggare"
 
-#: text-spanner-engraver.cc:167
+#: text-spanner-engraver.cc:164
 msgid "unterminated text spanner"
 msgstr "oavslutad textbryggare"
 
-#: text-spanner.cc:130
-msgid "Text_spanner too small"
-msgstr "Textbryggare för liten"
+#: tfm.cc:83
+#, c-format
+msgid "can't find ascii character: %d"
+msgstr "kan inte hitta ASCII-tecken: %d"
 
 #. Not using ngettext's plural feature here, as this message is
 #. more of a programming error.
@@ -1327,16 +2155,7 @@ msgstr "TFM-rubrik i \"%s\" har bara %u ord"
 msgid "%s: TFM file has %u parameters, which is more than the %u I can handle"
 msgstr "%s: TFM-fil har %u parametrar, vilket är mer än de %u jag kan hantera"
 
-#: tfm.cc:83
-#, c-format
-msgid "can't find ascii character: %d"
-msgstr "kan inte hitta ASCII-tecken: %d"
-
-#: tie-engraver.cc:216
-msgid "lonely tie"
-msgstr "ensam båge"
-
-#: tie-performer.cc:161
+#: tie-performer.cc:159
 msgid "No ties were created!"
 msgstr "Inga bågar skapades!"
 
@@ -1344,163 +2163,289 @@ msgstr "Inga b
 msgid "no one to print a tuplet start bracket"
 msgstr "det finns ingen som kan skriva en starthake för tupel"
 
+#. If there is no such symbol, we default to the numbered style.
+#. (Here really with a warning!)
+#: time-signature.cc:87
+#, c-format
+msgid "time signature symbol `%s' not found; reverting to numbered style"
+msgstr ""
+
+#.
+#. Todo: should make typecheck?
+#.
+#. OTOH, Tristan Keuris writes 8/20 in his Intermezzi.
+#.
+#: time-signature-engraver.cc:57
+#, c-format
+msgid "Found strange time signature %d/%d."
+msgstr ""
+
 #: translator-ctors.cc:53
 #, c-format
 msgid "unknown translator: `%s'"
 msgstr "okänd översättare: \"%s\""
 
-#: translator-def.cc:87
+#: translator-def.cc:105
 msgid "Program has no such type"
 msgstr "Programmet har ingen sådan typ"
 
-#: translator-def.cc:93
+#: translator-def.cc:111
 #, c-format
 msgid "Already contains: `%s'"
 msgstr "Innehåller redan: \"%s\""
 
-#: translator-def.cc:94
+#: translator-def.cc:112
 #, c-format
 msgid "Not adding translator: `%s'"
 msgstr "Lägger inte till översättare: \"%s\""
 
-#: translator-def.cc:209
+#: translator-def.cc:229
 #, c-format
 msgid "can't find: `%s'"
 msgstr "kan inte hitta: \"%s\""
 
-#: translator-group.cc:159
+#: translator-group.cc:158
 #, c-format
 msgid "can't find or create `%s' called `%s'"
 msgstr "kan inte hitta eller skapa \"%s\" kallad \"%s\""
 
-#: translator-group.cc:244
+#: translator-group.cc:230
 #, c-format
 msgid "can't find or create: `%s'"
 msgstr "kan inte hitta eller skapa: \"%s\""
 
-#: volta-engraver.cc:111
+#: vaticana-ligature.cc:49
+msgid "ascending vaticana style flexa"
+msgstr ""
+
+#: vaticana-ligature.cc:219
+msgid "Vaticana_ligature:thickness undefined; assuming 1.4"
+msgstr ""
+
+#: vaticana-ligature.cc:233
+msgid "Vaticana_ligature:x-offset undefined; assuming 0.0"
+msgstr ""
+
+#: vaticana-ligature.cc:258
+msgid "Vaticana_ligature: (delta_pitch == 0)"
+msgstr ""
+
+#: vaticana-ligature.cc:271
+msgid "Vaticana_ligature:delta-pitch -> ignoring join"
+msgstr ""
+
+#: vaticana-ligature-engraver.cc:477
+#, c-format
+msgid "Vaticana_ligature_engraver: setting `spacing-increment = %f': ptr=%ul"
+msgstr ""
+
+#: volta-engraver.cc:112
 msgid "No volta spanner to end"
 msgstr "Ingen reprisbryggare till slutet"
 
-#: volta-engraver.cc:121
+#: volta-engraver.cc:123
 msgid "Already have a volta spanner.  Stopping that one prematurely."
 msgstr "Har redan en reprisbryggare. Stoppar den tidigare."
 
-#: volta-engraver.cc:125
+#: volta-engraver.cc:127
 msgid "Also have a stopped spanner.  Giving up."
 msgstr "Har också en stoppad bryggare. Ger upp."
 
-#: parser.yy:434
+#: parser.yy:480
 #, fuzzy
 msgid "Identifier should have alphabetic characters only"
 msgstr "Identifierare får bara innehålla alfabetiska tecken"
 
-#: parser.yy:729
+#: parser.yy:779
 msgid "More alternatives than repeats.  Junking excess alternatives."
 msgstr "Fler alternativ än repriser. Slänger överblivna alternativ."
 
-#: parser.yy:798
+#: parser.yy:861 parser.yy:868
+msgid "\applycontext takes function argument"
+msgstr ""
+
+#: parser.yy:877
 msgid "Second argument must be a symbol"
 msgstr "Andra argumentet måste vara en symbol"
 
-#: parser.yy:803
+#: parser.yy:882
 #, fuzzy
 msgid "First argument must be a procedure taking one argument"
 msgstr "Första argumentet måste vara en procedur som tar 1 argument"
 
-#: parser.yy:1380
+#: parser.yy:1009
+msgid "\apply takes function argument"
+msgstr ""
+
+#: parser.yy:1501
 msgid "Expecting string as script definition"
 msgstr "Väntade sträng som skriptdefinition"
 
-#: parser.yy:1390
-msgid "Can't specify direction for this request"
-msgstr "Kan inte ange riktning för denna förfrågan"
-
-#: parser.yy:1516
+#: parser.yy:1598
 msgid "Expecting musical-pitch value"
 msgstr "Väntade notvärde"
 
-#: parser.yy:1527
+#: parser.yy:1609
 msgid "Must have duration object"
 msgstr "Måste ha längdobjekt"
 
-#: parser.yy:1536 parser.yy:1544
+#: parser.yy:1618 parser.yy:1626
 msgid "Have to be in Lyric mode for lyrics"
 msgstr "Måste vara i textläge (Lyric mode) för text"
 
-#: parser.yy:1715 parser.yy:1768
+#: parser.yy:1798 parser.yy:1853
 #, c-format
 msgid "not a duration: %d"
 msgstr "inte en längd: %d"
 
-#: parser.yy:1855
+#: parser.yy:1949
 msgid "Have to be in Note mode for notes"
 msgstr "Måste vara i notläge (Note mode) för noter"
 
-#: parser.yy:1954
+#: parser.yy:2032
 msgid "Have to be in Chord mode for chords"
 msgstr "Måste vara i ackordläge (Chord mode) för ackord"
 
-#: parser.yy:2134
+#: parser.yy:2171
 msgid "need integer number arg"
 msgstr "behöver heltalsargument"
 
-#: parser.yy:2206
+#: parser.yy:2316
 msgid "Suspect duration found following this beam"
 msgstr ""
 
-#: lexer.ll:178
+#: lexer.ll:186
 msgid "EOF found inside a comment"
 msgstr "filslut hittat inuti en kommentar"
 
-#: lexer.ll:192
+#: lexer.ll:200
 msgid "\\maininput disallowed outside init files"
 msgstr "\\maininput förbjudet utanför init-filer"
 
-#: lexer.ll:216
+#: lexer.ll:224
 #, c-format
 msgid "wrong or undefined identifier: `%s'"
 msgstr "felaktig eller odefinierad identifierare: \"%s\""
 
 #. backup rule
-#: lexer.ll:225
+#: lexer.ll:233
 msgid "Missing end quote"
 msgstr "Saknat slutcitationstecken"
 
 #. backup rule
-#: lexer.ll:247 lexer.ll:251
+#: lexer.ll:255 lexer.ll:259
 msgid "white expected"
 msgstr "väntade tomrum"
 
-#: lexer.ll:260
+#: lexer.ll:268
 msgid "Can't evaluate Scheme in safe mode"
 msgstr "Kan inte evaluera Scheme i säkert läge"
 
-#: lexer.ll:364
+#: lexer.ll:397 lexer.ll:487
 #, fuzzy
 msgid "Brace found at end of lyric.  Did you forget a space?"
 msgstr "Krullparentes funnen i slutet på text. Glömde du ett mellanslag?"
 
-#: lexer.ll:480
+#: lexer.ll:574
 #, c-format
 msgid "invalid character: `%c'"
 msgstr "ogiltigt tecken: \"%c\""
 
-#: lexer.ll:566
+#: lexer.ll:651
 #, c-format
 msgid "unknown escaped string: `\\%s'"
 msgstr "okänd \"escaped\" sträng: \"\\%s\""
 
-#: lexer.ll:657
+#: lexer.ll:742
 #, fuzzy, c-format
 msgid "Incorrect lilypond version: %s (%s, %s)"
 msgstr "felaktig lilypond-version: %s (%s, %s)"
 
-#: lexer.ll:658
+#: lexer.ll:743
 #, fuzzy
 msgid "Consider updating the input with the convert-ly script"
 msgstr "Fundera på att konvertera indata med skriptet \"convert-ly\""
 
+#~ msgid "Fetch and rebuild from latest source package"
+#~ msgstr "Hämta och bygg om från senaste källkodspaketet"
+
+#~ msgid "unpack and build in DIR [%s]"
+#~ msgstr "packa upp och bygg i DIR [%s]"
+
+#~ msgid "execute COMMAND, subtitute:"
+#~ msgstr "kör COMMAND, ersätt:"
+
+#~ msgid "%b: build root"
+#~ msgstr "%b: byggrot"
+
+#~ msgid "%n: package name"
+#~ msgstr "%n: paketnamn"
+
+#~ msgid "%r: release directory"
+#~ msgstr "%r: programsläppskatalog"
+
+#~ msgid "%t: tarball"
+#~ msgstr "%t: tarboll"
+
+#~ msgid "%v: package version"
+#~ msgstr "%v: paketversion"
+
+#~ msgid "keep all output, and name the directory %s"
+#~ msgstr "behåll all utdata, och döp katalogen till %s"
+
+#~ msgid "upon failure notify EMAIL[,EMAIL]"
+#~ msgstr "vid fel, meddela EMAIL[,EMAIL]"
+
+#~ msgid "remove previous build"
+#~ msgstr "ta bort föregående bygge"
+
+#~ msgid "fetch and build URL [%s]"
+#~ msgstr "hämta och bygg URL [%s]"
+
+#~ msgid "Listing `%s'..."
+#~ msgstr "Listar \"%s\"..."
+
+#~ msgid "latest is: %s"
+#~ msgstr "senaste är: %s"
+
+#~ msgid "relax, %s is up to date"
+#~ msgstr "lugn, %s är senaste versionen"
+
+#~ msgid "Fetching `%s'..."
+#~ msgstr "Hämtar \"%s\"..."
+
+#~ msgid "Building `%s'..."
+#~ msgstr "Bygger \"%s\"..."
+
+#~ msgid "invalid subtraction: not part of chord: %s"
+#~ msgstr "ogiltig subtraktion: inte del av ackord: %s"
+
+# "pitch" här ska alltså vara en ton i ett ackord
+#~ msgid "invalid inversion pitch: not part of chord: %s"
+#~ msgstr "ogiltig ton för inversion: inte del av ett ackord: %s"
+
+#~ msgid "This was the other key definition."
+#~ msgstr "Detta var den andra tonartsdefinitionen."
+
+#~ msgid ", at "
+#~ msgstr ", vid "
+
+#~ msgid "Pitch arguments out of range"
+#~ msgstr "Tonargument utanför intervallet"
+
+#, fuzzy
+#~ msgid "Putting slur over rest."
+#~ msgstr "Sätter båge över paus. Ignorerar."
+
+#~ msgid "Slur over rest?"
+#~ msgstr "Båge över paus?"
+
+#~ msgid "Text_spanner too small"
+#~ msgstr "Textbryggare för liten"
+
+#~ msgid "Can't specify direction for this request"
+#~ msgstr "Kan inte ange riktning för denna förfrågan"
+
 #~ msgid "Generate .dvi with LaTeX for LilyPond"
 #~ msgstr "Generera .dvi med LaTeX för LilyPond"
 
@@ -1508,10 +2453,6 @@ msgstr "Fundera p
 #~ msgid "can't map file"
 #~ msgstr "kan inte göra \"mmap\" på filen"
 
-#, fuzzy
-#~ msgid "use output format EXT (tex [default], pdftex, ps, scm or as)"
-#~ msgstr "använd utdataformat FMT (scm, ps, tex eller as)"
-
 #~ msgid "This binary was compiled with the following options:"
 #~ msgstr "Detta program kompilerades med följande alternativ:"
 
@@ -1580,9 +2521,6 @@ msgstr "Fundera p
 #~ msgid "%s is far from completed.  Not all constructs are recognised."
 #~ msgstr "%s är långt ifrån färdig, och kan inte alla konstruktioner."
 
-#~ msgid "Cleaning `%s'..."
-#~ msgstr "Rensar \"%s\"..."
-
 #~ msgid "writing header field `%s' to `%s'..."
 #~ msgstr "skriver rubrikfält \"%s\" till \"%s\"..."
 
index 48bed604fa511b74d5478d21824b21a0712f9ab3..dcb7c797fa8e1f3e8135d7c6d9c5052935c1b816 100644 (file)
@@ -29,6 +29,7 @@ import glob
 
 # If set, LILYPONDPREFIX must take prevalence
 # if datadir is not set, we're doing a build and LILYPONDPREFIX
+
 import getopt, os, sys
 datadir = '@local_lilypond_datadir@'
 if not os.path.isdir (datadir):
@@ -310,8 +311,10 @@ def strip_extension (f, ext):
 
 def cp_to_dir (pattern, dir):
        "Copy files matching re PATTERN from cwd to DIR"
+       
        # Duh.  Python style portable: cp *.EXT OUTDIR
        # system ('cp *.%s %s' % (ext, outdir), 1)
+
        files = filter (lambda x, p=pattern: re.match (p, x), os.listdir ('.'))
        map (lambda x, d=dir: shutil.copy2 (x, os.path.join (d, x)), files)
 
@@ -320,6 +323,7 @@ def cp_to_dir (pattern, dir):
 #
 # On most platforms, this is equivalent to
 #`normpath(join(os.getcwd()), PATH)'.  *Added in Python version 1.5.2*
+
 if os.path.__dict__.has_key ('abspath'):
        abspath = os.path.abspath
 else:
@@ -359,6 +363,7 @@ def setup_environment ():
                #       * clean TEXINPUTS, MFINPUTS, TFMFONTS,
                #         as these take prevalence over $TEXMF
                #         and thus may break tex run?
+               
                'TEXMF' : "{%s,%s}" % (datadir, texmf) ,
                'GS_FONTPATH' : type1_paths,
                'GS_LIB' : datadir + '/ps',
diff --git a/scripts/update-lily.py b/scripts/update-lily.py
deleted file mode 100644 (file)
index 3030205..0000000
+++ /dev/null
@@ -1,571 +0,0 @@
-#!@PYTHON@
-# update-lily.py -- lilypond autobuilder
-# 
-# source file of the GNU LilyPond music typesetter
-#
-# download and rebuild latest lilypond or from specified url
-#
-# To show latest version do:
-#
-#     update-lily --command='echo "Latest is: %n-%v"'
-#
-
-
-'''
-TODO:
-
-    * use urllib iso ftplib
-
-    * more flexible build/ftp/patches/releases paths
-    
-'''
-
-import ftplib
-import fnmatch
-import getopt
-import re
-import operator
-import os
-import tempfile
-import shutil
-import stat
-import string
-import sys
-import __main__
-  
-package_name = 'lilypond'
-program_name = 'build-lily'
-program_version = '@TOPLEVEL_VERSION@'
-
-original_dir = os.getcwd ()
-temp_dir = os.path.join (original_dir,  '%s.dir' % program_name)
-errorport = sys.stderr
-keep_temp_dir_p = 0
-verbose_p = 0
-remove_previous_p = 0
-
-#url = 'file:/home/ftp/pub/gnu/LilyPond/development/lilypond-*.tar.gz'
-# url = 'ftp://ftp.cs.uu.nl/pub/GNU/LilyPond/development/lilypond-*.tar.gz'
-url = 'ftp://ftp.lilypond.org/pub/LilyPond/development/lilypond-*.tar.gz'
-
-
-build_root = os.path.join (os.environ ['HOME'], 'usr', 'src')
-release_dir = build_root + '/releases'
-patch_dir = build_root + '/patches'
-symlink_name = ''
-
-localedir = '@localedir@'
-try:
-       import gettext
-       gettext.bindtextdomain ('lilypond', localedir)
-       gettext.textdomain ('lilypond')
-       _ = gettext.gettext
-except:
-       def _ (s):
-               return s
-
-# Attempt to fix problems with limited stack size set by Python!
-# Sets unlimited stack size. Note that the resource module only
-# is available on UNIX.
-try:
-       import resource
-       resource.setrlimit (resource.RLIMIT_STACK, (-1, -1))
-except:
-       pass
-
-
-help_summary = _ ("Fetch and rebuild from latest source package")
-
-option_definitions = [
-       ('DIR', 'b', 'build-root', _ ("unpack and build in DIR [%s]") % build_root),
-       ('COMMAND', 'c', 'command', _ ("execute COMMAND, subtitute:") \
-        + '\n                            ' + _ ("%b: build root") \
-        + '\n                            ' + _ ("%n: package name") \
-        + '\n                            ' + _ ("%r: release directory") \
-        + '\n                            ' + _ ("%t: tarball") \
-        + '\n                            ' + _ ("%v: package version") \
-        ),
-       ('', 'h', 'help', _ ("this help")),
-        ('', 'k', 'keep', _ ("keep all output, and name the directory %s") % temp_dir),
-        ('EMAIL', 'n', 'notify', _ ("upon failure notify EMAIL[,EMAIL]")),
-       ('', 'r', 'remove-previous', _ ("remove previous build")),
-       ('', 'V', 'verbose', _ ("verbose")),
-       ('', 'v', 'version', _ ("print version number")),
-       ('URL', 'u', 'url', _ ("fetch and build URL [%s]") % url),
-       ('', 'w', 'warranty', _ ("show warranty and copyright")),
-       ]
-
-
-################################################################
-# lilylib.py -- options and stuff
-# 
-# source file of the GNU LilyPond music typesetter
-
-import os
-
-try:
-       import gettext
-       gettext.bindtextdomain ('lilypond', localedir)
-       gettext.textdomain ('lilypond')
-       _ = gettext.gettext
-except:
-       def _ (s):
-               return s
-
-if program_version == '@' + 'TOPLEVEL_VERSION' + '@':
-       program_version = '1.7.0'
-
-def identify ():
-       sys.stdout.write ('%s (GNU LilyPond) %s\n' % (program_name, program_version))
-
-def warranty ():
-       identify ()
-       sys.stdout.write ('\n')
-       sys.stdout.write (_ ('Copyright (c) %s by' % ' 2001--2003'))
-       sys.stdout.write ('\n')
-       sys.stdout.write ('  Han-Wen Nienhuys')
-       sys.stdout.write ('  Jan Nieuwenhuizen')
-       sys.stdout.write ('\n')
-       sys.stdout.write (_ (r'''
-Distributed under terms of the GNU General Public License. It comes with
-NO WARRANTY.'''))
-       sys.stdout.write ('\n')
-
-def progress (s):
-       errorport.write (s + '\n')
-
-def warning (s):
-       progress (_ ("warning: ") + s)
-               
-def error (s):
-
-
-       '''Report the error S.  Exit by raising an exception. Please
-       do not abuse by trying to catch this error. If you do not want
-       a stack trace, write to the output directly.
-
-       RETURN VALUE
-
-       None
-       
-       '''
-       
-       progress (_ ("error: ") + s)
-       raise _ ("Exiting ... ")
-
-def getopt_args (opts):
-       '''Construct arguments (LONG, SHORT) for getopt from  list of options.'''
-       short = ''
-       long = []
-       for o in opts:
-               if o[1]:
-                       short = short + o[1]
-                       if o[0]:
-                               short = short + ':'
-               if o[2]:
-                       l = o[2]
-                       if o[0]:
-                               l = l + '='
-                       long.append (l)
-       return (short, long)
-
-def option_help_str (o):
-       '''Transform one option description (4-tuple ) into neatly formatted string'''
-       sh = '  '       
-       if o[1]:
-               sh = '-%s' % o[1]
-
-       sep = ' '
-       if o[1] and o[2]:
-               sep = ','
-               
-       long = ''
-       if o[2]:
-               long= '--%s' % o[2]
-
-       arg = ''
-       if o[0]:
-               if o[2]:
-                       arg = '='
-               arg = arg + o[0]
-       return '  ' + sh + sep + long + arg
-
-
-def options_help_str (opts):
-       '''Convert a list of options into a neatly formatted string'''
-       w = 0
-       strs =[]
-       helps = []
-
-       for o in opts:
-               s = option_help_str (o)
-               strs.append ((s, o[3]))
-               if len (s) > w:
-                       w = len (s)
-
-       str = ''
-       for s in strs:
-               str = str + '%s%s%s\n' % (s[0], ' ' * (w - len(s[0])  + 3), s[1])
-       return str
-
-def help ():
-       ls = [(_ ("Usage: %s [OPTION]... FILE") % program_name),
-               ('\n\n'),
-               (help_summary),
-               ('\n\n'),
-               (_ ("Options:")),
-               ('\n'),
-               (options_help_str (option_definitions)),
-               ('\n\n'),
-               (_ ("Report bugs to %s") % 'bug-lilypond@gnu.org'),
-               ('\n')]
-       map (sys.stdout.write, ls)
-       
-def setup_temp ():
-       """
-       Create a temporary directory, and return its name. 
-       """
-       global temp_dir
-       if not keep_temp_dir_p:
-               temp_dir = tempfile.mktemp (program_name)
-       try:
-               os.mkdir (temp_dir, 0777)
-       except OSError:
-               pass
-
-       return temp_dir
-
-
-def system (cmd, ignore_error = 0):
-       """Run CMD. If IGNORE_ERROR is set, don't complain when CMD returns non zero.
-
-       RETURN VALUE
-
-       Exit status of CMD
-       """
-       
-       if verbose_p:
-               progress (_ ("Invoking `%s\'") % cmd)
-       st = os.system (cmd)
-       if st:
-               name = re.match ('[ \t]*([^ \t]*)', cmd).group (1)
-               msg = name + ': ' + _ ("command exited with value %d") % st
-               if ignore_error:
-                       warning (msg + ' ' + _ ("(ignored)") + ' ')
-               else:
-                       error (msg)
-
-       return st
-
-
-def cleanup_temp ():
-       if not keep_temp_dir_p:
-               if verbose_p:
-                       progress (_ ("Cleaning %s...") % temp_dir)
-               shutil.rmtree (temp_dir)
-
-
-def strip_extension (f, ext):
-       (p, e) = os.path.splitext (f)
-       if e == ext:
-               e = ''
-       return p + e
-
-
-
-notify = 0
-
-build_command = '''
-set -x
-cd %b &&
-[ -d %n-%v ] && exit 1 || true;
-mkdir -p %n-%v
-(
-tar xzf %r/%t &&
-rm -f building &&
-ln -s %n-%v building &&
-cd %n-%v &&
-./configure --prefix=$(pwd) && make all web
-) >> %n-%v/log.txt 2>&1 &&
-rm -f %s &&
-ln -s %n-%v %s
-'''
-
-### URL lib
-
-def list_file (user, passwd, host, dir, file):
-       match = []
-       for i in os.listdir (dir):
-               if fnmatch.fnmatch (i, file):
-                       match.append (i)
-       return match
-
-list_ = list_file
-
-def list_ftp (user, passwd, host, dir, file):
-       if user == 'None':
-               user = 'anonymous'
-       if passwd == 'None':
-               passwd = program_name
-
-       ftp = ftplib.FTP (host)
-       ftp.login (user, passwd)
-       ftp.set_pasv (1)
-       ftp.cwd (dir)
-       list = ftp.nlst (file)
-       try:
-               ftp.quit ()
-       except:
-               ftp.close ()
-       return list
-       
-def split_url (url):
-       m = re.match ('([^:/]*)(:)?(/*([^:]*):)?(/*([^@]*)@)?(//([^/]*))?(.*)/(.*)',
-                     url)
-       if not m:
-               error ("can't parse url: %s " % url)
-       return (m.group (1), m.group (4), m.group (6), m.group (8),
-               m.group (9), m.group (10))
-       
-def list_url (url):
-       s = "list_%s ('%s', '%s', '%s', '%s', '%s')" % split_url (url)
-       return eval (s)
-
-def copy_file (user, passwd, host, dir, file):
-       os.system ('cp %s/%s .' % (dir, file))
-
-copy_ = copy_file
-
-def copy_ftp (user, passwd, host, dir, file):
-       if user == 'None':
-               user = 'anonymous'
-       if passwd == 'None':
-               passwd = program_name
-
-       ftp = ftplib.FTP (host)
-       ftp.login (user, passwd)
-       ftp.set_pasv (1)
-       t = tempfile.mktemp (program_name)
-       try:
-               f = open (t, 'w')
-               ftp.retrbinary ('RETR %s/%s' % (dir, file),
-                       lambda x, f=f: f.write (x))
-               f.close ()
-               # huh? Invalid cross-device link
-               # os.rename (t, file)
-               system ('mv %s %s' % (t, file))
-       except:
-               os.remove (t)
-               raise 'Foo'
-       try:
-               ftp.quit ()
-       except:
-               ftp.close ()
-       return list
-       
-def copy_url (url, dir):
-       os.chdir (dir)
-       s = "copy_%s ('%s', '%s', '%s', '%s', '%s')" % split_url (url)
-       eval (s)
-
-### End URL lib
-
-def version_tuple_to_str (t):
-       if t[3]:
-               my = '.%s%d' % (t[3], t[4])
-       else:
-               my = ''
-       return ('%d.%d.%d' % t[0:3]) + my
-
-def version_str_to_tuple (s):
-       t = string.split (s, '.')
-       if len (t) >= 4:
-               my_name = t[3][:-1]
-               my_number = string.atoi (t[3][-1])
-       else:
-               my_name = None
-               my_number = None
-       return (string.atoi (t[0]), string.atoi (t[1]), string.atoi (t[2]),
-               my_name, my_number)
-
-def next_version (t):
-       #print 'tup: %s' % `t`
-       l = list (t)
-       if len (l) >= 4:
-               # if l[3]:  # 1.0.0.my1 -> 1.0.0.my1
-               if l[4]:  # 1.0.0.my1 -> 1.0.1
-                       l[4] += 1
-               else:
-                       l[3] = l[4] = ''
-                       l[2] += 1
-       else:
-               l[2] += 1
-
-       return tuple (l)
-
-def prev_version (t):
-       #print 'tup: %s' % `t`
-       l = list (t)
-       if len (l) >= 4:
-               if l[4]: # 1.0.0.my1 -> 1.0.0
-                       if l[4] == 1:
-                               l[3] = l[4] = ''
-                       else:
-                               l[4] -= 1
-               # if l[3]: # 1.0.0.my1 -> 1.0.0.my0
-               #       l[4] -= 1
-               else:
-                       l[3] = l[4] = ''
-                       if l[2]:
-                               l[2] -= 1
-                       elif l[1]:
-                               l[1] -= 1
-                       else:
-                               l[0] -= 1
-       else:
-                       if l[2]:
-                               l[2] -= 1
-                       elif l[1]:
-                               l[1] -= 1
-                       else:
-                               l[0] -= 1
-               
-       return tuple (l)
-
-def split_package (p):
-       m = re.match ('(.*)-([0-9]*.*?)(.tar.gz)?$', p)
-       return (m.group (1), version_str_to_tuple (m.group (2)))
-
-def join_package (t):
-       return t[0] + '-' + version_tuple_to_str (t[1])
-
-def diff_name (p):
-       t = split_package (p)
-       return '%s-%s-%s' % (t[0], version_tuple_to_str (prev_version (t[1])),
-                            version_tuple_to_str (t[1]))
-       
-def find_latest (url):
-       progress (_ ("Listing `%s'...") % url)
-       list = map (split_package, list_url (url))
-       list.sort ()
-       return join_package (list[-1])
-
-def build (p):
-       tar_ball = p + '.tar.gz'
-       (tar_name, tar_version) = split_package (tar_ball)
-       
-       expand = {
-               '%b' : build_root,
-               '%n' : tar_name,
-               '%r' : release_dir,
-               '%v' : version_tuple_to_str (tar_version),
-               '%s' : symlink_name,
-               '%t' : tar_ball,
-               }
-
-       c = build_command
-       for i in expand.keys ():
-               c = re.sub (i, expand[i], c)
-       return system (c, 1)
-
-
-
-(sh, long) = getopt_args (__main__.option_definitions)
-try:
-       (options, files) = getopt.getopt(sys.argv[1:], sh, long)
-except getopt.error, s:
-       errorport.write ('\n')
-       errorport.write (_ ("error: ") + _ ("getopt says: `%s\'" % s))
-       errorport.write ('\n')
-       errorport.write ('\n')
-       help ()
-       sys.exit (2)
-
-for opt in options:    
-       o = opt[0]
-       a = opt[1]
-
-       if 0:
-               pass
-       elif o == '--help' or o == '-h':
-               help ()
-               sys.exit (0)
-       elif o == '--build-root' or o == '-b':
-               build_root = a
-       elif o == '--command' or o == '-c':
-               build_command = a
-       elif o == '--notify' or o == '-n':
-               notify = a
-       elif o == '--remove-previous' or o == '-r':
-               remove_previous_p = 1
-       elif o == '--url' or o == '-u':
-               url = a
-       elif o == '--verbose' or o == '-V':
-               verbose_p = 1
-       elif o == '--version' or o == '-v':
-               identify ()
-               sys.exit (0)
-       elif o == '--warranty' or o == '-w':
-               warranty ()
-               sys.exit (0)
-       else:
-               sys.exit (2)
-               
-if 1:
-       latest = find_latest (url)
-
-       # if os.path.isdir ('%s/%s' % (build_root, latest)):
-       if os.path.exists ('%s/%s/index.html' % (build_root, latest)):
-               progress (_ ("latest is: %s") % latest)
-               progress (_ ("relax, %s is up to date" % package_name))
-               sys.exit (0)
-
-       if not symlink_name:
-               symlink_name = string.split (url, '/')[-2]
-               
-       get_base = url[:string.rindex (url, '/')] + '/'
-       if os.path.isdir (patch_dir):
-               os.chdir (patch_dir)
-               latest_diff = diff_name (latest)
-               if not os.path.isfile (latest_diff + '.diff.gz'):
-                       get = get_base + latest_diff + '.diff.gz'
-                       progress (_ ("Fetching `%s'...") % get)
-                       try:
-                               copy_url (get, '.')
-                       except:
-                               warning (_ ("can't open: %s") % get)
-
-       if not os.path.isdir (build_root):
-               build_root = temp_dir
-               
-       if not os.path.isdir (release_dir):
-               release_dir = temp_dir
-               setup_temp ()
-               
-       os.chdir (release_dir)
-       if not os.path.isfile (latest + '.tar.gz'):
-               get = get_base + latest + '.tar.gz'
-               progress (_ ("Fetching `%s'...") % get)
-               copy_url (get, '.')
-
-       if os.path.isdir (os.path.join (build_root, package_name)):
-               os.chdir (os.path.join (build_root, package_name))
-               previous = os.getcwd ()
-       else:
-               previous = 0
-
-       progress (_ ("Building `%s'...") % latest)
-       os.chdir (build_root)
-       if not build (latest):
-               if previous and remove_previous_p:
-                       system ('rm -rf %s' % os.path.join (build_root, previous))
-       else:
-               if notify:
-                       system ('(date; uname -a) | mail -s "%s failed" %s' % (program_name, notify))
-               sys.exit (1)
-               
-       os.chdir (original_dir)
-       if release_dir != temp_dir and os.path.isdir (temp_dir):
-               cleanup_temp ()
-       sys.exit (0)
-