From: Jan Nieuwenhuizen Date: Thu, 16 Sep 1999 16:41:29 +0000 (+0200) Subject: patch::: 1.2.8.jcn1 X-Git-Tag: release/1.2.9~2 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=fc5394c7751ea902382ecc9022854583aff0d95e;p=lilypond.git patch::: 1.2.8.jcn1 pl 8.jcn1 - Documentation/Localisation.texi: still some issues - Uniformised locale strings - marked some errors/warnings without _/_f markings - added programming_warning (): not to be localised warnings (none identified as yet) - Update of po/nl.po --- diff --git a/CHANGES b/CHANGES index 8bf0c7b8a6..488c5a93cd 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,11 @@ +pl 8.jcn1 + - Documentation/Localisation.texi: still some issues + - Uniformised locale strings + - marked some errors/warnings without _/_f markings + - added programming_warning (): not to be localised warnings + (none identified as yet) + - Update of po/nl.po + pl 7.hwn1 - website fixes. - spacer cleanups diff --git a/Documentation/Localisation.texi b/Documentation/Localisation.texi new file mode 100644 index 0000000000..74506249af --- /dev/null +++ b/Documentation/Localisation.texi @@ -0,0 +1,146 @@ +\input texinfo @c -*-texinfo-*- vim:tw=72 +@setfilename Localisation +@settitle Localisation - User messages in LilyPond + +@node Top, , , (dir) +@top + +@chapter Localisation - User messages in LilyPond + +@section ISSUES + +The current default is marked with @code{+}. + +@itemize @bullet + +@item +How to do two-part messages like these? Better spread over multiple lines? +@example + warning (_f ("out of tune! Can't find: `%s\', "Key_engraver")); +or ++ warning (_ ("out of tune:"); + warning (_f ("Can't find: `%s\', "Key_engraver")); + + warning (_f ("Can't find font `%s', loading default font", name.ch_C ())); +or ++ warning (_f ("Can't find font: `%s', name.ch_C ())); + warning (_f ("Loading default font")); +@end example + +@item +How to do messages with punctuation: +@example +Logical: ++ warning ( _("Huh? Not a Request: `%s'", s); +Guidelines say: + warning ( _("huh? not a Request: `%s'", s); +@end example + +@item +No punctuation (esp. period) at end of message. + +But what about multiple-sentence, or full-sentence (including other +punctuation) messages? +@example ++ _ ("Debug output disabled. Compiled with NPRINT.") ++ _ ("Non-matching braces in text `%s', adding braces") +@end example + +@item +@example + en: can't open: `foo.ly' + nl: kan `foo.ly' niet openen (1) ++ kan niet openen: `foo.ly'* (2) + niet te openen: `foo.ly'* (3) +@end example + +The first nl message, although gramatically and stylishly correct, +is not friendly for parsing by humans (even if they speak dutch). +I guess we'd prefer something like (2) or (3)... + +@end itemize + + +@section Guidelines + +@itemize @bullet + +@item +Every user message should be localised. + +@item +Don't localise/gettextify: +@itemize @minus +@item @code{programming_error ()}s +@item @code{programming_warning ()}s +@item debug strings +@item output strings (PostScript, TeX) +@end itemize + +@item +Strings to be localised must be encapsulated in @code{_ (STRING)} +or @code{_f (FORMAT, ...)}. Eg: +@example +warning (_ ("Need music in a score")); +error (_f ("Can't open file: `%s'")); +@end example + +Only in very rare cases you may need to call @code{gettext ()} by hand. +In that case, you'll probably also need to mark some string constants for +translation, using @code{_i (STRING)}. See @file{flower/getopt-long.cc} +and @file{lily/main.cc}. + +@item +Don't use leading or trailing whitespace in strings. + +@item +Messages containing a final verb, or a gerund (@code{-ing}-form) +always start with a capital. Other (simpler) messages start with +a lowercase letter: +@example +The word `foo' is not declared. +`foo': not declared. +Not declaring: `foo'. +@end example + +@item +To avoid having a number of different messages for the same situation, +we'll use quoting like this @code{"message: `%s'"} for all strings. +Numbers are not quoted: +@example +_f ("Can't open file: `%s'", name_str) +_f ("Can't find charater number: %d", i) +@end example + +@item +Think about translation issues. +In a lot of cases,it's better to translate a whole message. +The english grammar mustn't be imposed on the translator. +So, iso +@example +_ ("Stem at ") + moment.str () + _(" doen't fit in beam") +@end example +@noindent +have +@example +_f ("Stem at %s doen't fit in beam", moment.str ()) +@end example + +@item +Use two spaces after end of sentence punctuation: +@example +_ ("Huh? Not a Request") +@end example + +@item +Don't modularise too much; a lot of words cannot be translated +without context. +It's probably safe to treat most occurences of words like +stem, beam, crescendo as separately translatable words. + +@item +Please don't run make po/po-update with GNU gettext < 0.10.35 + +@end itemize + +@bye diff --git a/VERSION b/VERSION index fd4e7556ab..b2bb40abc7 100644 --- a/VERSION +++ b/VERSION @@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=2 PATCH_LEVEL=8 -MY_PATCH_LEVEL= +MY_PATCH_LEVEL=jcn1 # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/flower/dstream.cc b/flower/dstream.cc index 0b7be148c8..ba46d69ed6 100644 --- a/flower/dstream.cc +++ b/flower/dstream.cc @@ -155,7 +155,7 @@ Dstream::Dstream (ostream *r, char const * cfg_nm) Text_record r (cfg++); if (r.size() != 2) { - r.message (_ ("Not enough fields in Dstream init.")); + r.message (_ ("not enough fields in Dstream init")); continue; } (*silent_dict_p_)[r[0]] = (bool)(int)(Scalar (r[1])); diff --git a/flower/getopt-long.cc b/flower/getopt-long.cc index 3b4e3d283d..0b9a638ae5 100644 --- a/flower/getopt-long.cc +++ b/flower/getopt-long.cc @@ -138,22 +138,22 @@ Getopt_long::report (Errorcod c) switch (c) { case E_ARGEXPECT: - str += _f ("option `%s\' requires an argument", + str += _f ("Option `%s' requires an argument", found_option_l_->str ()); break; case E_NOARGEXPECT: - str += _f ("option `%s\' doesn't allow an argument", + str += _f ("Option `%s' doesn't allow an argument", found_option_l_->str ()); break; case E_UNKNOWNOPTION: - str += _f ("unrecognized option: `%s\'", + str += _f ("unrecognized option: `%s'", String (argument_index_i_ ? String ("-" + String_convert::form_str ("%c", arg_value_ch_a_a_[array_index_i_][argument_index_i_])) : String (arg_value_ch_a_a_[array_index_i_]))); break; case E_ILLEGALARG: - str += _f ("invalid argument `%s\' to option `%s'", + str += _f ("invalid argument `%s' to option `%s'", optional_argument_ch_C_, found_option_l_->str ()); default: assert (false); diff --git a/flower/text-stream.cc b/flower/text-stream.cc index 9c87211c25..737b411960 100644 --- a/flower/text-stream.cc +++ b/flower/text-stream.cc @@ -18,7 +18,7 @@ Text_stream::Text_stream (String fn) if (!f) { cerr << __FUNCTION__ - << ": " << _f ("can't open file: `%s'", fn) << '\n'; + << ": " << _f ("Can't open file: `%s'", fn) << '\n'; exit (1); } diff --git a/lib/mapped-file-storage.cc b/lib/mapped-file-storage.cc index 609bd4f458..176d071bd0 100644 --- a/lib/mapped-file-storage.cc +++ b/lib/mapped-file-storage.cc @@ -71,7 +71,7 @@ Mapped_file_storage::map () data_caddr_ = (caddr_t)mmap ((void*)0, size_off_, PROT_READ, MAP_SHARED, fildes_i_, 0); if ((int)data_caddr_ == -1) - warning (_ ("can't map file") + ": " + strerror (errno)); + warning (_ ("Can't map file") + ": " + strerror (errno)); #endif } @@ -84,7 +84,7 @@ Mapped_file_storage::open (String name_str) if (fildes_i_ == -1) { - warning (_f ("can't open file: `%s\'", name_str) + warning (_f ("Can't open file: `%s'", name_str) + ": " + strerror (errno)); return; } diff --git a/lib/simple-file-storage.cc b/lib/simple-file-storage.cc index 06b949982e..3c92096be2 100644 --- a/lib/simple-file-storage.cc +++ b/lib/simple-file-storage.cc @@ -41,7 +41,7 @@ Simple_file_storage::load_file (String s) if (!f) { - warning (_f ("can't open file: `%s\'", s)); + warning (_f ("Can't open file: `%s'", s)); return ; } @@ -53,7 +53,7 @@ Simple_file_storage::load_file (String s) ret = fread (data_p_, sizeof (char), len_i_, f); if (ret!=len_i_) - warning (_f ("Huh? got %d, expected %d characters", ret, len_i_)); + warning (_f ("Huh? Got %d, expected %d characters", ret, len_i_)); fclose (f); } diff --git a/lib/warn.cc b/lib/warn.cc index 16e7e82fde..8128a58af7 100644 --- a/lib/warn.cc +++ b/lib/warn.cc @@ -27,9 +27,16 @@ message (String m) { cerr << m<warning (_ ("Unfinished beam")); + prev_start_req_->warning (_ ("unfinished beam")); finished_beam_p_ = beam_p_; finished_beam_info_p_ = beam_info_p_; typeset_beam (); @@ -171,7 +171,7 @@ Beam_engraver::acknowledge_element (Score_element_info info) Rhythmic_req *rhythmic_req = dynamic_cast (info.req_l_); if (!rhythmic_req) { - String s = _ ("Stem must have Rhythmic structure."); + String s = _ ("Stem must have Rhythmic structure"); if (info.req_l_) info.req_l_->warning (s); else @@ -182,8 +182,8 @@ Beam_engraver::acknowledge_element (Score_element_info info) if (rhythmic_req->duration_.durlog_i_<= 2) { - rhythmic_req->warning (_ ("stem doesn't fit in beam")); - prev_start_req_->warning (_ ("beam was started here")); + rhythmic_req->warning (_ ("Stem doesn't fit in beam")); + prev_start_req_->warning (_ ("Beam was started here")); return; } diff --git a/lily/break-algorithm.cc b/lily/break-algorithm.cc index 6674d5bcf0..1208f4021a 100644 --- a/lily/break-algorithm.cc +++ b/lily/break-algorithm.cc @@ -152,7 +152,7 @@ void Break_algorithm::problem_OK () const { if (pscore_l_->col_l_arr_.empty ()) - error (_("score does not have any columns")); + error (_("Score does not have any columns")); OK (); } diff --git a/lily/change-iterator.cc b/lily/change-iterator.cc index 2ea397cb72..e932c794fe 100644 --- a/lily/change-iterator.cc +++ b/lily/change-iterator.cc @@ -19,11 +19,11 @@ Change_iterator::error (String reason) String to_type = t->change_to_type_str_; String to_id = t->change_to_id_str_; - String warn1 = _f ("can't change `%s\' to `%s\'", to_type, to_id) + String warn1 = _f ("Can't change `%s' to `%s'", to_type, to_id) + ": " + reason; String warn2= "Change_iterator::do_process_and_next (): " + report_to_l ()->type_str_ + " = `" - + report_to_l ()->id_str_ + "\': "; + + report_to_l ()->id_str_ + "': "; warning (warn2); t->warning (warn1); } @@ -54,7 +54,7 @@ Change_iterator::do_process_and_next (Moment m) if (current && current->id_str_ == to_id) { String msg; - msg += "Cannot switch translators, I'm there already."; + msg += _ ("Can't switch translators, I'm there already"); } if (current) @@ -73,10 +73,10 @@ Change_iterator::do_process_and_next (Moment m) last->translator_id_str_ = change_l ()->change_to_id_str_; */ - error ("I'm one myself"); + error (_ ("I'm one myself")); } else - error ("None of these in my family."); + error (_ ("none of these in my family")); Music_iterator::do_process_and_next (m); } diff --git a/lily/chord-tremolo-engraver.cc b/lily/chord-tremolo-engraver.cc index eac8f66427..5e63ef69fe 100644 --- a/lily/chord-tremolo-engraver.cc +++ b/lily/chord-tremolo-engraver.cc @@ -55,7 +55,7 @@ Chord_tremolo_engraver::do_process_requests () if (reqs_drul_[STOP]) { if (!abeam_p_) - reqs_drul_[STOP]->warning (_("no tremolo beam to end")); + reqs_drul_[STOP]->warning (_ ("no tremolo beam to end")); prev_start_req_ = 0; finished_abeam_p_ = abeam_p_; abeam_p_ = 0; @@ -80,7 +80,7 @@ Chord_tremolo_engraver::do_process_requests () { if (abeam_p_) { - reqs_drul_[START]->warning (_ ("already have a tremolo beam")); + reqs_drul_[START]->warning (_ ("Already have a tremolo beam")); return; } diff --git a/lily/clef-engraver.cc b/lily/clef-engraver.cc index 4c0960b99c..060b0ad2af 100644 --- a/lily/clef-engraver.cc +++ b/lily/clef-engraver.cc @@ -175,7 +175,7 @@ Clef_engraver::do_try_music (Music * r_l) { clef_req_l_ = cl; if (!set_type (cl->clef_str_)) - cl->error (_ ("unknown clef type ")); + cl->error (_ ("unknown clef type")); return true; } diff --git a/lily/debug.cc b/lily/debug.cc index 3534df6710..0ac4adc6b5 100644 --- a/lily/debug.cc +++ b/lily/debug.cc @@ -53,7 +53,7 @@ mynewhandler() void float_handler (int) { - cerr << _ ("Floating point exception") << endl; + cerr << _ ("floating point exception") << endl; assert (false); } @@ -136,7 +136,7 @@ set_debug (bool b) #ifdef MEMORY_PARANOID if (check_malloc_b) if (mcheck (0)) - warning (_ ("can't set mem-checking") + "!"); + warning (_ ("Can't set mem-checking!")); #endif } diff --git a/lily/dynamic-engraver.cc b/lily/dynamic-engraver.cc index 9a4996c6fd..4c3db32bb4 100644 --- a/lily/dynamic-engraver.cc +++ b/lily/dynamic-engraver.cc @@ -106,7 +106,7 @@ Dynamic_engraver::do_process_requests() { if (text_p_) { - dynamic_req_l_arr_[i]->warning (_("Got a dynamic already. Continuing dazed and confused")); + dynamic_req_l_arr_[i]->warning (_("Got a dynamic already. Continuing dazed and confused.")); continue; } @@ -159,7 +159,7 @@ Dynamic_engraver::do_process_requests() { if (!cresc_p_) { - span_l->warning (_ ("can't find (de)crescendo to end")); + span_l->warning (_ ("Can't find (de)crescendo to end")); } else { diff --git a/lily/extender-engraver.cc b/lily/extender-engraver.cc index dd0b405bb1..604172c292 100644 --- a/lily/extender-engraver.cc +++ b/lily/extender-engraver.cc @@ -71,7 +71,7 @@ Extender_engraver::do_process_requests () { if (!last_lyric_l_) { - req_l_->warning ("Nothing to connect extender to on the left. Ignoring extender request"); + req_l_->warning (_ ("Nothing to connect extender to on the left. Ignoring extender request.")); return; } diff --git a/lily/folded-repeat-iterator.cc b/lily/folded-repeat-iterator.cc index b7d0431a13..8132ad6dca 100644 --- a/lily/folded-repeat-iterator.cc +++ b/lily/folded-repeat-iterator.cc @@ -61,7 +61,7 @@ Folded_repeat_iterator::do_process_and_next (Moment m) { bool success = try_music (music_l_); if (!success) - music_l_->warning ( _("No one to print a repeat brace")); + music_l_->warning ( _("no one to print a repeat brace")); } if (main_iter_p_) diff --git a/lily/grace-iterator.cc b/lily/grace-iterator.cc index b3c9cf9c5a..ffd57a8976 100644 --- a/lily/grace-iterator.cc +++ b/lily/grace-iterator.cc @@ -40,7 +40,7 @@ Grace_iterator::do_process_and_next (Moment m) } else { - warning (_("No Grace context available!")); + warning (_("no Grace context available")); } Music_iterator::do_process_and_next (m); } diff --git a/lily/hyphen-engraver.cc b/lily/hyphen-engraver.cc index 4fccd9cb54..452e4e0c3c 100644 --- a/lily/hyphen-engraver.cc +++ b/lily/hyphen-engraver.cc @@ -69,7 +69,7 @@ Hyphen_engraver::do_process_requests () { if (!last_lyric_l_) { - req_l_->warning ("Nothing to connect hyphen to on the left. Ignoring hyphen request"); + req_l_->warning (_ ("Nothing to connect hyphen to on the left. Ignoring hyphen request.")); return; } diff --git a/lily/identifier.cc b/lily/identifier.cc index 8419dd3607..9682a8f549 100644 --- a/lily/identifier.cc +++ b/lily/identifier.cc @@ -43,9 +43,7 @@ Identifier::~Identifier() void Identifier::error (String expect) const { - String e (_("Wrong identifier type: ")); - e += _f ("%s expected", expect); - ::error (e); + ::error (_f ("wrong identifier type, expected: `%s'", expect)); } String diff --git a/lily/includable-lexer.cc b/lily/includable-lexer.cc index c913570387..89c7483478 100644 --- a/lily/includable-lexer.cc +++ b/lily/includable-lexer.cc @@ -44,7 +44,7 @@ Includable_lexer::new_input (String s, Sources * global_sources) Source_file * sl = global_sources->get_file_l (s); if (!sl) { - String msg = _f ("can't find file: `%s\'", s); + String msg = _f ("Can't find file: `%s'", s); msg += "\n"; msg += _f ("(search path: `%s')", global_sources->path_C_->str ().ch_C()); msg += "\n"; diff --git a/lily/ineq-constrained-qp.cc b/lily/ineq-constrained-qp.cc index 3b4bae9baf..563199c938 100644 --- a/lily/ineq-constrained-qp.cc +++ b/lily/ineq-constrained-qp.cc @@ -230,9 +230,9 @@ Ineq_constrained_qp::constraint_solve (Vector start) const act.drop_constraint (m); } if (iterations >= MAXITER) - WARN << _ ("didn't converge!") << '\n'; + WARN << _ ("Didn't converge!") << '\n'; if (act.degenerate_count_i_ >= MAXDEGEN) - WARN << _ ("Too much degeneracy. ") << '\n'; + WARN << _ ("too much degeneracy") << '\n'; DOUT << ": found " << x << " in " << iterations <<" iterations\n"; assert_solution (x); return x; diff --git a/lily/key-def.cc b/lily/key-def.cc index 67bbc4f7b6..a28f125e34 100644 --- a/lily/key-def.cc +++ b/lily/key-def.cc @@ -28,7 +28,7 @@ Key_def::ordinary_accidentals_i () const int p; if (pitch_arr_.size () < 1) { - warning (_ ("No key name: assuming `C'")); + warning (_ ("No key name, assuming `C'")); p = 0; } else @@ -89,7 +89,7 @@ Key_def::transpose (Musical_pitch d) pitch_arr_[0].transpose (d); else { - warning (_ ("don't know how handle empty keys")); // TODO + warning (_ ("Don't know how handle empty keys")); // TODO } } else diff --git a/lily/key-engraver.cc b/lily/key-engraver.cc index f8c32dac6a..66c1463383 100644 --- a/lily/key-engraver.cc +++ b/lily/key-engraver.cc @@ -67,7 +67,7 @@ Key_engraver::do_try_music (Music * req_l) if (Key_change_req *kc = dynamic_cast (req_l)) { if (keyreq_l_) - warning ("Fixme: key change merge."); + warning (_ ("FIXME: key change merge")); keyreq_l_ = kc; read_req (keyreq_l_); return true; diff --git a/lily/key-performer.cc b/lily/key-performer.cc index 14d73dbbb9..d80177c26d 100644 --- a/lily/key-performer.cc +++ b/lily/key-performer.cc @@ -62,7 +62,7 @@ Key_performer::do_try_music (Music* req_l) if (Key_change_req *kc = dynamic_cast (req_l)) { if (key_req_l_) - warning ("FIXME. Key change merge"); + warning (_ ("FIXME: key change merge")); key_req_l_ = kc; return true; diff --git a/lily/key.cc b/lily/key.cc index 8d1845881f..d468c27c81 100644 --- a/lily/key.cc +++ b/lily/key.cc @@ -51,12 +51,12 @@ Key::octave_to_index (int o) const int i = o + ZEROOCTAVE; if (i < 0) { - warning ("Don't have that many octaves (" + to_str (o) + ")"); + warning (_f ("Don't have that many octaves (%s)", to_str (o))); i = 0; } if (i >= NUMBER_OF_OCTAVES) { - warning ("Don't have that many octaves (" + to_str (o) + ")"); + warning (_f ("Don't have that many octaves (%s)", to_str (o))); i = NUMBER_OF_OCTAVES -1; } return i; @@ -74,12 +74,12 @@ Octave_key::set (int i, int a) { if (a <= -3) { - warning ("Underdone accidentals (" + to_str (a) + ")"); + warning (_f ("underdone accidentals (%s)", to_str (a))); a = -2; } if (a >= 3) { - warning ("Overdone accidentals (" + to_str (a) + ")"); + warning (_f ("overdone accidentals (%s)", to_str (a))); a = 2; } accidental_i_arr_[i]=a; diff --git a/lily/lexer.ll b/lily/lexer.ll index 4fa1396533..388ac1b01b 100644 --- a/lily/lexer.ll +++ b/lily/lexer.ll @@ -133,7 +133,7 @@ HYPHEN -- \"[^"]*\";? { /* got the include file name */ String s (YYText ()+1); s = s.left_str (s.index_last_i ('"')); - DOUT << "#version `" << s << "\'\n"; + DOUT << "#version `" << s << "'\n"; if (!valid_version_b (s)) return INVALID; yy_pop_state (); @@ -166,7 +166,7 @@ HYPHEN -- main_input_b_ = true; } else - error ("\\maininput disallowed outside init files."); + error (_ ("\\maininput disallowed outside init files")); } \\include { @@ -175,7 +175,7 @@ HYPHEN -- \"[^"]*\";? { /* got the include file name */ String s (YYText ()+1); s = s.left_str (s.index_last_i ('"')); - DOUT << "#include `" << s << "\'\n"; + DOUT << "#include `" << s << "'\n"; new_input (s,source_global_l); yy_pop_state (); } @@ -189,19 +189,19 @@ HYPHEN -- if (id) { String* s_l = id->access_content_String (false); - DOUT << "#include `" << *s_l << "\'\n"; + DOUT << "#include `" << *s_l << "'\n"; new_input (*s_l, source_global_l); yy_pop_state (); } else { - String msg (_f ("undefined identifier: `%s\'", s )); + String msg (_f ("undefined identifier: `%s'", s )); LexerError (msg.ch_C ()); } } \"[^"]* { // backup rule - cerr << _ ("missing end quote") << endl; + cerr << _ ("Missing end quote") << endl; exit (1); } {RESTNAME} { @@ -398,7 +398,7 @@ HYPHEN -- } <*>. { - String msg = _f ("invalid character: `%c\'", YYText ()[0]); + String msg = _f ("invalid character: `%c'", YYText ()[0]); LexerError (msg.ch_C ()); return YYText ()[0]; } @@ -454,7 +454,7 @@ My_lily_lexer::scan_escaped_word (String str) } if (check_debug) print_declarations (true); - String msg (_f ("unknown escaped string: `\\%s\'", str)); + String msg (_f ("unknown escaped string: `\\%s'", str)); LexerError (msg.ch_C ()); DOUT << "(string)"; String *sp = new String (str); diff --git a/lily/lily-guile.cc b/lily/lily-guile.cc index b28b18f695..db3549fad4 100644 --- a/lily/lily-guile.cc +++ b/lily/lily-guile.cc @@ -79,9 +79,9 @@ read_lily_scm_file (String fn) String s = global_path.find (fn); if (s == "") { - String e = _f ("can't find file: `%s\'", fn); + String e = _f ("Can't find file: `%s'", fn); e += " "; - e += _f ("(load path: `%s\')", global_path.str ()); + e += _f ("(load path: `%s')", global_path.str ()); error (e); } else @@ -102,9 +102,9 @@ ly_gulp_file (SCM name) String s = global_path.find (fn); if (s == "") { - String e = _f ("can't find file: `%s\'", fn); + String e = _f ("Can't find file: `%s'", fn); e += " "; - e += _f ("(load path: `%s\')", global_path.str ()); + e += _f ("(load path: `%s')", global_path.str ()); error (e); } else diff --git a/lily/line-of-score.cc b/lily/line-of-score.cc index 441dcd9465..8b91f8e9e0 100644 --- a/lily/line-of-score.cc +++ b/lily/line-of-score.cc @@ -88,7 +88,7 @@ Line_of_score::output_all (bool last_line) { Interval i(extent(Y_AXIS)); if (i.empty_b()) - warning ("Huh? Empty Line_of_score?"); + warning (_ ("Huh? Empty Line_of_score?")); else translate_axis (- i[MAX], Y_AXIS); diff --git a/lily/local-key-engraver.cc b/lily/local-key-engraver.cc index 0d499c8b36..a6a69fec56 100644 --- a/lily/local-key-engraver.cc +++ b/lily/local-key-engraver.cc @@ -39,7 +39,8 @@ Local_key_engraver::do_creation_processing () if (!key_grav_l_) { - warning (_ ("out of tune") + "! " + _ ("can't find") + " Key_engraver"); + warning (_ ("out of tune:")); + warning (_f ("Can't find: `%s'", "Key_engraver")); } else { diff --git a/lily/lookup.cc b/lily/lookup.cc index 41c2fa6da3..648d1f1464 100644 --- a/lily/lookup.cc +++ b/lily/lookup.cc @@ -96,13 +96,13 @@ Lookup::afm_find (String s, bool warn) const { if (!afm_l_) { - Lookup * me = (Lookup*)(this); + Lookup * me = (Lookup*)(this); me->afm_l_ = all_fonts_global_p->find_afm (font_name_); if (!me->afm_l_) { - warning (_f("can't find font: `%s'", font_name_)); - warning (_f("(search path: `%s')", global_path.str ().ch_C())); - error (_f("Aborting")); + warning (_f ("Can't find font: `%s'", font_name_)); + warning (_f ("(search path: `%s')", global_path.str ().ch_C())); + error (_ ("Aborting")); } } Adobe_font_char_metric cm = afm_l_->find_char (s, warn); @@ -433,7 +433,7 @@ Lookup::text (String style, String text, Paper_def *paper_l) const if(brace_count) { - warning (_f ("Non-matching braces in text `%s', adding braces.", text.ch_C())); + warning (_f ("Non-matching braces in text `%s', adding braces", text.ch_C())); if (brace_count < 0) { diff --git a/lily/main.cc b/lily/main.cc index 149783ac29..c24f2475f9 100644 --- a/lily/main.cc +++ b/lily/main.cc @@ -63,23 +63,26 @@ String distill_inname_str (String name_str, String& ext_r); Internationalisation kludge in two steps: * use _i () to get entry in POT file * call gettext () explicitely for actual "translation" + + Note: these messages all start with lower case (ie, don't + follow regular localisation guidelines). */ Long_option_init theopts[] = { - {_i ("BASENAME"), "output", 'o', _i ("write output to BASENAME[-x].extension")}, - {0, "warranty", 'w', _i ("show warranty and copyright")}, - {0, "help", 'h', _i ("this help")}, - {0, "test", 't', _i ("switch on experimental features")}, {0, "debug", 'd', _i ("enable debugging output")}, - {_i ("FILE"), "init", 'i', _i ("use FILE as init file")}, + {_i ("EXT"), "output-format", 'f', _i ("use output format EXT")}, + {0, "help", 'h', _i ("this help")}, {_i ("DIR"), "include", 'I', _i ("add DIR to search path")}, - {0, "no-paper", 'm', _i ("produce midi output only")}, + {_i ("FILE"), "init", 'i', _i ("use FILE as init file")}, {0, "dependencies", 'M', _i ("write Makefile dependencies for every input file")}, + {0, "no-paper", 'm', _i ("produce MIDI output only")}, + {_i ("BASENAME"), "output", 'o', _i ("write output to BASENAME[-x].extension")}, + {0, "find-old-relative", 'Q', _i ("show all changes in relative syntax")}, + {0, "safe", 's', _i ("inhibit file output naming and exporting")}, {0, "no-timestamps", 'T', _i ("don't timestamp the output")}, - {0, "find-old-relative", 'Q', _i ("show all changes in relative syntax")}, + {0, "test", 't', _i ("switch on experimental features")}, {0, "ignore-version", 'V', _i ("ignore mudela version")}, {0, "version", 'v', _i ("print version number")}, - {_i ("EXT"), "output-format", 'f', _i ("use output format EXT")}, - {0, "safe", 's', _i ("inhibit file output naming and exporting")}, + {0, "warranty", 'w', _i ("show warranty and copyright")}, {0,0,0, 0} }; @@ -88,7 +91,7 @@ usage () { cout << _f ("Usage: %s [OPTION]... [FILE]...", "lilypond"); cout << "\n\n"; - cout << _ ("Typeset music and or play MIDI from FILE."); + cout << _ ("Typeset music and or play MIDI from FILE"); cout << "\n\n"; cout << #include "BLURB.hh" @@ -110,15 +113,14 @@ usage () "STRING_UTILS_INLINED " #endif "\n" - "datadir =" DIR_DATADIR - "\n" - "localedir =" DIR_LOCALEDIR - - "\n\n"; - - cout << _("Report bugs to") << " bug-gnu-music@gnu.org" << endl; + "datadir: `" DIR_DATADIR "'\n" + "localedir: `" DIR_LOCALEDIR "'\n" + "\n"; print_mudela_versions (cout); + cout << endl; + + cout << _f ("Report bugs to %s", "bug-gnu-music@gnu.org") << endl; } void diff --git a/lily/midi-item.cc b/lily/midi-item.cc index 8301c8a5bc..055d6785b3 100644 --- a/lily/midi-item.cc +++ b/lily/midi-item.cc @@ -300,7 +300,7 @@ Midi_instrument::str () const if (!found) { - warning (_f("No such instrument: `%s'", audio_l_->str_.ch_C ())); + warning (_f ("no such instrument: `%s'", audio_l_->str_.ch_C ())); } String str = to_str ((char) (0xc0 + channel_i_)); diff --git a/lily/midi-stream.cc b/lily/midi-stream.cc index 373d49569a..11506fe38b 100644 --- a/lily/midi-stream.cc +++ b/lily/midi-stream.cc @@ -26,7 +26,7 @@ Midi_stream::~Midi_stream () *os_p_ << flush; // ugh. Share with tex_stream. if (!*os_p_) { - warning (_ ("error syncing file (disk full?)")); + warning (_ ("Error syncing file (disk full?)")); exit_status_i_ = 1; } delete os_p_; @@ -74,5 +74,5 @@ Midi_stream::open () { os_p_ = new ofstream (filename_str_.ch_C (),ios::out|ios::bin); if (!*os_p_) - error (_f ("can't open file: `%s\'", filename_str_)); + error (_f ("Can't open file: `%s'", filename_str_)); } diff --git a/lily/music-output-def.cc b/lily/music-output-def.cc index ca1a8ed8f4..fe0cc20c8f 100644 --- a/lily/music-output-def.cc +++ b/lily/music-output-def.cc @@ -80,7 +80,7 @@ Music_output_def::get_global_translator_p () { Translator * t = find_translator_l ("Score"); if (!t) - error (_ ("can't find Score context")); + error (_f ("Can't find `%s' context", "Score")); t = t->clone (); Global_translator *g = dynamic_cast (t); t->add_processing (); diff --git a/lily/musical-pitch.cc b/lily/musical-pitch.cc index 35df93bcc5..d74468db1d 100644 --- a/lily/musical-pitch.cc +++ b/lily/musical-pitch.cc @@ -99,7 +99,7 @@ Musical_pitch::str () const { int o = octave_i_ + 1; while (o--) - s += to_str ('\''); + s += "'"; } else if (octave_i_ <0) { diff --git a/lily/musical-request.cc b/lily/musical-request.cc index c5f9de2d56..509e2780a9 100644 --- a/lily/musical-request.cc +++ b/lily/musical-request.cc @@ -39,7 +39,7 @@ Melodic_req::transpose (Musical_pitch delta) if (abs (pitch_.accidental_i_) > 2) { - warning (_f ("transposition by %s makes accidental larger than two", + warning (_f ("Transposition by %s makes accidental larger than two", delta.str ())); } } diff --git a/lily/my-lily-lexer.cc b/lily/my-lily-lexer.cc index c1051d6019..6edf314018 100644 --- a/lily/my-lily-lexer.cc +++ b/lily/my-lily-lexer.cc @@ -134,13 +134,13 @@ My_lily_lexer::set_identifier (String name_str, Identifier* i, bool ) { #if 0 if (unique_b) - old->warning(_f ("redeclaration of `\\%s\'", name_str)); + old->warning(_f ("redeclaration of `\\%s'", name_str)); #endif delete old; } if (lookup_keyword (name_str) >= 0) { - warning ( _f ("Identifier name is a keyword (`%s')", name_str)); + warning ( _f ("Identifier name is a keyword: `%s'", name_str)); } scope_l_arr_.top ()->elem (name_str) = i; diff --git a/lily/my-lily-parser.cc b/lily/my-lily-parser.cc index de8b7c66bd..f8debc21c0 100644 --- a/lily/my-lily-parser.cc +++ b/lily/my-lily-parser.cc @@ -66,7 +66,7 @@ My_lily_parser::parse_file (String init, String s) if (!define_spot_array_.empty()) { - warning (_ ("braces don't match")); + warning (_ ("Braces don't match")); error_level_i_ = 1; } diff --git a/lily/p-col.cc b/lily/p-col.cc index 0d44694751..f31d29d30e 100644 --- a/lily/p-col.cc +++ b/lily/p-col.cc @@ -45,7 +45,7 @@ Paper_column::add_spring (Paper_column * p, Real d, Real s) if (!dir) { - warning ("Must set spring between differing columns."); + warning (_ ("Must set spring between differing columns")); return; } diff --git a/lily/paper-def.cc b/lily/paper-def.cc index b3ca52a21a..858d8941c2 100644 --- a/lily/paper-def.cc +++ b/lily/paper-def.cc @@ -92,7 +92,7 @@ Real Paper_def::get_realvar (SCM s) const { if (!scope_p_->elem_b (s)) - error (_f ("unknown paper variable: `%s\'", symbol_to_string (s))); + error (_f ("unknown paper variable: `%s'", symbol_to_string (s))); Real * p = scope_p_->elem (s)->access_content_Real (false); if (!p) { @@ -248,7 +248,7 @@ Paper_def::paper_outputter_p (Paper_stream* os_p, Header* header_l, String origi Paper_outputter* p = new Paper_outputter (os_p); // for now; breaks -fscm output - p->output_comment (_ ("outputting Score, defined at: ")); + p->output_comment (_ ("Outputting Score, defined at: ")); p->output_comment (origin_str); p->output_version(); @@ -277,7 +277,7 @@ Paper_def::paper_stream_p () const if (outname != "-") outname += String (".") + output_global_ch; - *mlog << _f ("Paper output to %s...", + *mlog << _f ("paper output to %s...", outname == "-" ? String ("") : outname) << endl; target_str_global_array.push (outname); diff --git a/lily/paper-outputter.cc b/lily/paper-outputter.cc index e0565ab7b0..4a91e05517 100644 --- a/lily/paper-outputter.cc +++ b/lily/paper-outputter.cc @@ -127,7 +127,7 @@ Paper_outputter::output_molecule (Molecule const*m, Offset o, char const *nm) if (a_off.length () > 100 CM) { - warning (_f("Improbable offset for object type `%s\'", nm)); + warning (_f ("improbable offset for object type: `%s'", nm)); Axis a =X_AXIS; while (a < NO_AXES) { diff --git a/lily/paper-score.cc b/lily/paper-score.cc index 38ecdc320a..1c26f6918c 100644 --- a/lily/paper-score.cc +++ b/lily/paper-score.cc @@ -128,7 +128,7 @@ Paper_score::calc_breaking () delete algorithm_p; if (! sol.size ()) { - warning (_ ("Can't solve this casting problem exactly; revert to Word_wrap")); + warning (_ ("Can't solve this casting problem exactly; reverting to Word_wrap")); try_wrap = true; } } @@ -176,7 +176,7 @@ Paper_score::process () } if (experimental_features_global_b) - *mlog << elem_p_arr_.size () + span_p_arr_.size () << _ (" elements. "); + *mlog << _f ("%s elements", elem_p_arr_.size () + span_p_arr_.size ()); *mlog << "\n"; *mlog << _ ("Line ... "); diff --git a/lily/paper-stream.cc b/lily/paper-stream.cc index 401b120842..2f791019ad 100644 --- a/lily/paper-stream.cc +++ b/lily/paper-stream.cc @@ -22,7 +22,7 @@ Paper_stream::Paper_stream (String filename) // os = new ostream (cout.ostreambuf ()); os = new ostream (cout._strbuf); if (!*os) - error (_f ("can't open file: `%s\'", filename)); + error (_f ("Can't open file: `%s'", filename)); nest_level = 0; line_len_i_ = 0; outputting_comment=false; @@ -33,7 +33,7 @@ Paper_stream::~Paper_stream () *os << flush; if (!*os) { - warning (_ ("error syncing file (disk full?)")); + warning (_ ("Error syncing file (disk full?)")); exit_status_i_ = 1; } delete os; diff --git a/lily/parser.yy b/lily/parser.yy index 9346b9c546..c848282874 100644 --- a/lily/parser.yy +++ b/lily/parser.yy @@ -69,7 +69,7 @@ print_mudela_versions (ostream &os) #define THIS ((My_lily_parser *) my_lily_parser_l) #define yyerror THIS->parser_error -#define ARRAY_SIZE(a,s) if (a.size () != s) THIS->parser_error (_f("expecting %d arguments", s)) +#define ARRAY_SIZE(a,s) if (a.size () != s) THIS->parser_error (_f ("Expecting %d arguments", s)) %} @@ -310,7 +310,7 @@ embedded_scm: } | SCM_T STRING semicolon { if (THIS->lexer_p_->main_input_b_ && safe_global_b) - error (_("Cannot evaluate Scheme in safe mode")); + error (_("Can't evaluate Scheme in safe mode")); gh_eval_str ($2->ch_l ()); delete $2; }; @@ -572,7 +572,7 @@ paper_def_body: URG URG. */ if ($3->size () % 2) - warning ("Need even number of args for shape array"); + warning (_ ("Need even number of args for shape array")); for (int i=0; i < $3->size (); i+=2) { @@ -720,7 +720,7 @@ Repeated_music: { Music_sequence* m = dynamic_cast ($5); if (m && $3 < m->length_i ()) - $5->warning ("More alternatives than repeats. Junking excess alternatives."); + $5->warning (_ ("More alternatives than repeats. Junking excess alternatives.")); Repeated_music * r = new Repeated_music ($4, $3 >? 1, m); $$ = r; @@ -945,7 +945,7 @@ abbrev_command_req: if (!Duration::duration_type_b ($3)) THIS->parser_error (_f ("not a duration: %d", $3)); else if ($3 < 8) - THIS->parser_error (_ ("can't abbreviate")); + THIS->parser_error (_ ("Can't abbreviate")); else THIS->set_abbrev_beam ($3); @@ -1073,7 +1073,7 @@ request_with_dir: if (Script_req * gs = dynamic_cast ($2)) gs->dir_ = Direction ($1); else if ($1) - $2->warning ("Can't specify direction for this request"); + $2->warning (_ ("Can't specify direction for this request")); $$ = $2; } ; @@ -1208,7 +1208,7 @@ explicit_duration: extender_req: EXTENDER { if (!THIS->lexer_p_->lyric_state_b ()) - THIS->parser_error (_ ("have to be in Lyric mode for lyrics")); + THIS->parser_error (_ ("Have to be in Lyric mode for lyrics")); $$ = new Extender_req; } ; @@ -1216,7 +1216,7 @@ extender_req: hyphen_req: HYPHEN { if (!THIS->lexer_p_->lyric_state_b ()) - THIS->parser_error (_ ("have to be in Lyric mode for lyrics")); + THIS->parser_error (_ ("Have to be in Lyric mode for lyrics")); $$ = new Hyphen_req; } ; @@ -1379,7 +1379,7 @@ abbrev_type: if (!Duration::duration_type_b ($2)) THIS->parser_error (_f ("not a duration: %d", $2)); else if ($2 < 8) - THIS->parser_error (_ ("can't abbreviate")); + THIS->parser_error (_ ("Can't abbreviate")); $$ = $2; } ; @@ -1388,7 +1388,7 @@ abbrev_type: simple_element: musical_pitch exclamations questions optional_notemode_duration { if (!THIS->lexer_p_->note_state_b ()) - THIS->parser_error (_ ("have to be in Note mode for notes")); + THIS->parser_error (_ ("Have to be in Note mode for notes")); Note_req *n = new Note_req; @@ -1400,7 +1400,7 @@ simple_element: if (THIS->abbrev_beam_type_i_) { if (n->duration_.plet_b ()) - THIS->parser_error (_ ("can't abbreviate tuplet")); + THIS->parser_error (_ ("Can't abbreviate tuplet")); else n->duration_.set_plet (1, 2); } @@ -1441,13 +1441,13 @@ simple_element: } | STRING optional_notemode_duration { if (!THIS->lexer_p_->lyric_state_b ()) - THIS->parser_error (_ ("have to be in Lyric mode for lyrics")); + THIS->parser_error (_ ("Have to be in Lyric mode for lyrics")); $$ = THIS->get_word_element (*$1, $2); delete $1; } | chord { if (!THIS->lexer_p_->chord_state_b ()) - THIS->parser_error (_ ("have to be in Chord mode for chords")); + THIS->parser_error (_ ("Have to be in Chord mode for chords")); $$ = $1; } ; diff --git a/lily/repeat-engraver.cc b/lily/repeat-engraver.cc index 35873e2407..6a92623f1c 100644 --- a/lily/repeat-engraver.cc +++ b/lily/repeat-engraver.cc @@ -174,7 +174,7 @@ Repeat_engraver::do_process_requests () } else { - warning ("No bar engraver found. Ignoring repeats."); + warning (_ ("No bar engraver found. Ignoring repeats.")); } delete head->car_; diff --git a/lily/request-chord-iterator.cc b/lily/request-chord-iterator.cc index 0fa4be380d..1c70b3dfb7 100644 --- a/lily/request-chord-iterator.cc +++ b/lily/request-chord-iterator.cc @@ -70,10 +70,10 @@ Request_chord_iterator::do_process_and_next (Moment mom) { bool gotcha = try_music (req_l); if (!gotcha) - req_l->warning (_f ("junking request: `%s\'", classname( req_l))); + req_l->warning (_f ("Junking request: `%s'", classname( req_l))); } else - i->car_->warning (_f ("Huh? Not a Request: `%s\'", + i->car_->warning (_f ("Huh? Not a Request: `%s'", classname (i->car_))); } first_b_ = false; diff --git a/lily/rest-collision.cc b/lily/rest-collision.cc index 8dbbc9414f..d22b5ecf4e 100644 --- a/lily/rest-collision.cc +++ b/lily/rest-collision.cc @@ -61,11 +61,11 @@ Rest_collision::do_pre_processing() { if (rest_l_arr_.size () > 1) { - warning (_("Too many colliding rests.")); + warning (_("too many colliding rests")); } if (ncol_l_arr_.size () > 1) { - warning (_("Too many notes for rest collision.")); + warning (_("too many notes for rest collision")); } Note_column * rcol = rest_l_arr_[0]; diff --git a/lily/score-engraver.cc b/lily/score-engraver.cc index 7c7adf3c6c..06281c24f1 100644 --- a/lily/score-engraver.cc +++ b/lily/score-engraver.cc @@ -146,7 +146,7 @@ Score_engraver::typeset_all() if (!s->spanned_drul_[d]) { s->set_bounds(d, command_column_l_); - ::warning (_f ("Unbound spanner `%s\'", classname(s))); + ::warning (_f ("unbound spanner `%s'", classname(s))); } } while (flip(&d) != LEFT); } diff --git a/lily/score.cc b/lily/score.cc index bda4e464df..736eabdb12 100644 --- a/lily/score.cc +++ b/lily/score.cc @@ -67,7 +67,7 @@ Score::run_translator (Music_output_def *odef_l) if (! iter->ok()) { delete iter; - warning (_("need music in a score")); + warning (_("Need music in a score")); errorlevel_i_ =1; return ; } @@ -80,12 +80,12 @@ Score::run_translator (Music_output_def *odef_l) if (errorlevel_i_) { // should we? hampers debugging. - warning (_ ("errors found, /*not processing score*/")); + warning (_ ("Errors found/*, not processing score*/")); } Music_output * output = trans_p->get_output_p(); delete trans_p; - *mlog << endl << _f ("time: %.2f seconds", timer.read ()) << flush; + *mlog << endl << _f ("elapsed time: %.2f seconds", timer.read ()) << flush; output->header_l_ = header_p_; output->origin_str_ = location_str(); diff --git a/lily/scores.cc b/lily/scores.cc index d53643a9ac..d29848fcbc 100644 --- a/lily/scores.cc +++ b/lily/scores.cc @@ -32,10 +32,10 @@ void write_dependency_file (String fn, Array targets, const int WRAPWIDTH = 65; - cout << _f ("writing dependency file: `%s\'...", fn) << '\n'; + cout << _f ("Writing dependency file: `%s'...", fn) << '\n'; ofstream f (fn.ch_C ()); if (!f) - warning (_f ("can't open file: `%s\'", fn)); + warning (_f ("Can't open file: `%s'", fn)); f << "# Automatically generated by " << gnu_lilypond_version_str () << '\n'; String out; @@ -76,7 +76,7 @@ do_scores() if (is_p->errorlevel_i_) { - is_p->warning (_("score contains errors; will not process it")); + is_p->warning (_("Score contains errors; will not process it")); exit_status_i_ |= 1; } else @@ -105,13 +105,13 @@ do_one_file (String init_str, String file_str) { if (init_str.length_i () && global_path.find (init_str).empty_b ()) { - warning (_f ("can't find file: `%s\'", init_str)); + warning (_f ("Can't find file: `%s'", init_str)); warning (_f ("(search path: `%s')", global_path.str ().ch_C())); return; } if ((file_str != "-") && global_path.find (file_str).empty_b ()) { - warning (_f ("can't find file: `%s\'", file_str)); + warning (_f ("Can't find file: `%s'", file_str)); return; } diff --git a/lily/script-engraver.cc b/lily/script-engraver.cc index e8e2e8dd85..e49675f935 100644 --- a/lily/script-engraver.cc +++ b/lily/script-engraver.cc @@ -46,8 +46,8 @@ Script_engraver::do_process_requests() if (list == SCM_BOOL_F) { - l->warning(_f("don't know how to interpret articulation `%s'\n", - l->articulation_str_.ch_C())); + l->warning (_f ("Don't know how to interpret articulation `%s'", + l->articulation_str_.ch_C ())); continue; } Script *p =new Script; diff --git a/lily/sequential-music-iterator.cc b/lily/sequential-music-iterator.cc index b6ace95e13..acaa17fc2b 100644 --- a/lily/sequential-music-iterator.cc +++ b/lily/sequential-music-iterator.cc @@ -79,7 +79,7 @@ Sequential_music_iterator::~Sequential_music_iterator() { if (iter_p_) { - music_l_->warning ("Must stop before this music ends"); + music_l_->warning (_ ("Must stop before this music ends")); delete iter_p_; iter_p_ = 0; } diff --git a/lily/single-malt-grouping-item.cc b/lily/single-malt-grouping-item.cc index cc77816983..1824f70a32 100644 --- a/lily/single-malt-grouping-item.cc +++ b/lily/single-malt-grouping-item.cc @@ -40,7 +40,7 @@ Single_malt_grouping_item::my_width () const if (pc != il->column_l ()) { /* this shouldn't happen, but let's continue anyway. */ - programming_error (_("Single_malt_grouping_item: I've been drinking too much")); + programming_error (_("Single_malt_grouping_item: I've been drinking too much")); continue; /*UGH UGH*/ } diff --git a/lily/slur-engraver.cc b/lily/slur-engraver.cc index 4553e4dcba..6a3a72f05f 100644 --- a/lily/slur-engraver.cc +++ b/lily/slur-engraver.cc @@ -77,7 +77,7 @@ Slur_engraver::do_process_requests() { if (slur_l_stack_.empty()) - slur_req_l->warning (_f ("can't find both ends of %s", _("slur"))); + slur_req_l->warning (_f ("Can't find both ends of %s", _("slur"))); else { end_slur_l_arr_.push (slur_l_stack_.pop()); diff --git a/lily/slur.cc b/lily/slur.cc index 8585589bd9..0aa11a6ab4 100644 --- a/lily/slur.cc +++ b/lily/slur.cc @@ -35,7 +35,7 @@ void Slur::add_column (Note_column*n) { if (!n->head_l_arr_.size ()) - warning (_ ("Putting slur over rest. Ignoring")); + warning (_ ("Putting slur over rest. Ignoring.")); else { encompass_arr_.push (n); diff --git a/lily/spacing-spanner.cc b/lily/spacing-spanner.cc index edc59bb49a..3bcce2a28e 100644 --- a/lily/spacing-spanner.cc +++ b/lily/spacing-spanner.cc @@ -215,7 +215,7 @@ Spacing_spanner::note_spacing (Score_column *lc, Score_column *rc, Moment shorte Moment shortest_playing_len = lc->shortest_playing_mom_; if (! shortest_playing_len) { - programming_error ("can't find a ruling note at " + lc->when_mom ().str ()); + programming_error ("Can't find a ruling note at " + lc->when_mom ().str ()); shortest_playing_len = 1; } diff --git a/lily/spanner.cc b/lily/spanner.cc index ca2f5d5618..195dffbf3d 100644 --- a/lily/spanner.cc +++ b/lily/spanner.cc @@ -38,7 +38,7 @@ Spanner::break_into_pieces () if (left == right) { - warning (_ ("left spanpoint is right spanpoint\n")); + warning (_ ("Left spanpoint is right spanpoint")); return; } @@ -108,7 +108,7 @@ Spanner::set_bounds(Direction d, Item*i) if (spanned_drul_[Direction(-d)] == spanned_drul_[d] && i) - warning (_f ("Spanner `%s\' with equal left and right spanpoints", classname (this))); + warning (_f ("Spanner `%s' has equal left and right spanpoints", classname (this))); } void @@ -140,7 +140,7 @@ Spanner::do_width() const Real r = spanned_drul_[RIGHT]->relative_coordinate (0, X_AXIS); if (r< l) - warning ("Spanner with negative length"); + warning (_ ("spanner with negative length")); return Interval (0, r-l); } diff --git a/lily/spring-spacer.cc b/lily/spring-spacer.cc index 004f935050..45dcb76a8e 100644 --- a/lily/spring-spacer.cc +++ b/lily/spring-spacer.cc @@ -296,7 +296,7 @@ Spring_spacer::solve (Column_x_positions*positions) const positions->satisfies_constraints_b_ = check_constraints (solution_vec); if (!positions->satisfies_constraints_b_) { - warning (_("solution doesn't satisfy constraints")); + warning (_("Solution doesn't satisfy constraints")); } positions->energy_f_ = calculate_energy_f (solution_vec); @@ -397,12 +397,12 @@ Spring_spacer::connect (int i, int j, Real d, Real h) { if (d > 100 CM) { - programming_error( _f("Improbable distance: %f point, setting to 10 mm", d)); + programming_error( _f ("Improbable distance: %f point, setting to 10 mm", d)); d = 1 CM; } if(d < 0) { - programming_error (_("Negative distance. Setting to 10 mm")); + programming_error (_ ("Negative distance, setting to 10 mm")); d = 10 MM; } diff --git a/lily/stem-engraver.cc b/lily/stem-engraver.cc index 1ec79bf230..1679e52441 100644 --- a/lily/stem-engraver.cc +++ b/lily/stem-engraver.cc @@ -77,7 +77,7 @@ Stem_engraver::acknowledge_element(Score_element_info i) if (stem_p_->flag_i_ != duration_log) { - r->warning (_f("Adding note head to incompatible stem (type = %d)", 1 << stem_p_->flag_i_)); + r->warning (_f ("Adding note head to incompatible stem (type = %d)", 1 << stem_p_->flag_i_)); } stem_p_->add_head (h); diff --git a/lily/stem.cc b/lily/stem.cc index 2086139050..15e9fa7ecc 100644 --- a/lily/stem.cc +++ b/lily/stem.cc @@ -23,7 +23,7 @@ void Stem::set_direction (Direction d) { if (!dir_) - warning ("Stem direction set already!"); + warning (_ ("stem direction set already!")); dir_ = d; @@ -103,7 +103,7 @@ Stem::set_stemend (Real se) { // todo: margins if (dir_ && dir_ * head_positions()[dir_] >= se*dir_) - warning (_ ("weird stem size; check for narrow beams")); + warning (_ ("Weird stem size; check for narrow beams")); yextent_drul_[dir_] = se; diff --git a/lily/tfm-reader.cc b/lily/tfm-reader.cc index a4ddd108e9..94d78f565f 100644 --- a/lily/tfm-reader.cc +++ b/lily/tfm-reader.cc @@ -143,8 +143,7 @@ Tex_font_metric_reader::read_params () than we can deal with. */ if (tfm_.header_.param_word_count > TFM_MAX_FONTDIMENS) { - warning (_f ("%s: TFM file has %u parameters, which is more than the -%u I can handle", + warning (_f ("%s: TFM file has %u parameters, which is more than the %u I can handle", input_.name_str ().ch_C (), tfm_.header_.param_word_count, TFM_MAX_FONTDIMENS)); diff --git a/lily/tfm.cc b/lily/tfm.cc index 9fcac3d436..96175d18b7 100644 --- a/lily/tfm.cc +++ b/lily/tfm.cc @@ -61,7 +61,7 @@ Tex_font_metric::find_ascii (int ascii, bool warn) const else if (warn) { - warning (_f ("can't find ascii character `%d'", ascii)); + warning (_f ("Can't find ascii character: `%d'", ascii)); } return dummy_static_char_metric; diff --git a/lily/tie-engraver.cc b/lily/tie-engraver.cc index 949f67d3e7..4d3c8ca01c 100644 --- a/lily/tie-engraver.cc +++ b/lily/tie-engraver.cc @@ -88,7 +88,7 @@ Tie_engraver::process_acknowledged () { if (now_heads_.size () != stopped_heads_.size ()) { - req_l_->warning ("Unequal number of note heads for tie"); + req_l_->warning (_ ("unequal number of note heads for tie")); } int sz = now_heads_.size () warning (_("No ties were created!")); + req_l_->warning (_ ("No ties were created!")); } } diff --git a/lily/time-description.cc b/lily/time-description.cc index d66eb403e1..6eb59eba15 100644 --- a/lily/time-description.cc +++ b/lily/time-description.cc @@ -103,7 +103,7 @@ String Time_description::try_set_partial_str (Moment p) const { if (p whole_per_measure_) return (_ ("partial measure too large")); return ""; diff --git a/lily/time-scaled-music-iterator.cc b/lily/time-scaled-music-iterator.cc index fc48ff2cd6..b42884bc99 100644 --- a/lily/time-scaled-music-iterator.cc +++ b/lily/time-scaled-music-iterator.cc @@ -22,7 +22,7 @@ Time_scaled_music_iterator::do_process_and_next (Moment m) if (yeah) set_translator (yeah->report_to_l ()); else - music_l_->warning ( _("No one to print a tuplet start bracket")); + music_l_->warning ( _("no one to print a tuplet start bracket")); } Music_wrapper_iterator::do_process_and_next (m); diff --git a/lily/time-signature-engraver.cc b/lily/time-signature-engraver.cc index 67eac37314..a71769709f 100644 --- a/lily/time-signature-engraver.cc +++ b/lily/time-signature-engraver.cc @@ -25,8 +25,8 @@ Time_signature_engraver::do_process_requests() if (!result) { - warning (_ ("lost in time") + ": " + _ ("can't find") - + " Timing_translator"); + warning (_ ("lost in time:")); + warning (_f ("Can't find: `%s'", " Timing_translator")); return ; } diff --git a/lily/timing-translator.cc b/lily/timing-translator.cc index 08cddf2790..92db7ee737 100644 --- a/lily/timing-translator.cc +++ b/lily/timing-translator.cc @@ -80,7 +80,7 @@ Timing_translator::do_process_requests() { if (time_.whole_in_measure_) { - tr_l ->warning (_f ("barcheck failed by: %s", + tr_l ->warning (_f ("barcheck failed at: %s", time_.whole_in_measure_.str ())); time_.whole_in_measure_ = 0; // resync diff --git a/lily/translator-ctors.cc b/lily/translator-ctors.cc index 0fb8c998a2..253a7edb60 100644 --- a/lily/translator-ctors.cc +++ b/lily/translator-ctors.cc @@ -36,7 +36,7 @@ get_translator_l (String s) return t; } - error (_f ("unknown translator `%s\'", s)); + error (_f ("unknown translator: `%s'", s)); return 0; } diff --git a/lily/translator-group.cc b/lily/translator-group.cc index ccd0dd7dbe..75a2e4f9b6 100644 --- a/lily/translator-group.cc +++ b/lily/translator-group.cc @@ -75,11 +75,11 @@ void Translator_group::add_last_element (String s) { if (!get_translator_l (s)) - error ("Program has no such type"); + error (_ ("Program has no such type")); for (int i=consists_end_str_arr_.size (); i--; ) if (consists_end_str_arr_[i] == s) - warning (_f("Already contains a `%s\'", s)); + warning (_f ("Already contains: `%s'", s)); consists_end_str_arr_.push (s); } @@ -88,13 +88,13 @@ void Translator_group::set_element (String s, bool add) { if (!get_translator_l (s)) - error ("Program has no such type"); + error (_ ("Program has no such type")); if (add) { for (int i=consists_str_arr_.size (); i--; ) if (consists_str_arr_[i] == s) - warning (_f("Already contains a `%s\'", s)); + warning (_f("Already contains: `%s'", s)); consists_str_arr_.push (s); } @@ -204,7 +204,7 @@ Translator_group::find_create_translator_l (String n, String id) ret = daddy_trans_l_->find_create_translator_l (n,id); else { - warning (_f ("can't find or create `%s\' called `%s\'", n, id)); + warning (_f ("Can't find or create `%s' called `%s'", n, id)); ret =0; } return ret; @@ -338,7 +338,7 @@ Translator_group::get_default_interpreter() Translator*t = output_def_l ()->find_translator_l (accepts_str_arr_[0]); if (!t) { - warning (_f ("can't find or create `%s\'", accepts_str_arr_[0])); + warning (_f ("Can't find or create: `%s'", accepts_str_arr_[0])); t = this; } Translator_group * g= dynamic_cast (t->clone ()); @@ -434,7 +434,7 @@ Translator_group::do_add_processing () String s = consists_str_arr_[i]; Translator * t = output_def_l ()->find_translator_l (s); if (!t) - warning (_f ("can't find `%s\'", s)); + warning (_f ("Can't find: `%s'", s)); else add_translator (t->clone ()); } @@ -443,7 +443,7 @@ Translator_group::do_add_processing () String s = consists_end_str_arr_[i]; Translator * t = output_def_l ()->find_translator_l (s); if (!t) - warning (_f ("can't find `%s\'", s)); + warning (_f ("Can't find: `%s'", s)); else add_translator (t->clone ()); } diff --git a/lily/unfolded-repeat-iterator.cc b/lily/unfolded-repeat-iterator.cc index f57d40d44c..eb182bfe45 100644 --- a/lily/unfolded-repeat-iterator.cc +++ b/lily/unfolded-repeat-iterator.cc @@ -142,7 +142,7 @@ Unfolded_repeat_iterator::do_process_and_next (Moment m) if (yeah) set_translator (yeah->report_to_l ()); else - music_l_->warning ( _("No one to print a volta bracket")); + music_l_->warning ( _("no one to print a volta bracket")); } while (1) { diff --git a/lily/word-wrap.cc b/lily/word-wrap.cc index 28f96e852c..c516eb0f69 100644 --- a/lily/word-wrap.cc +++ b/lily/word-wrap.cc @@ -72,9 +72,9 @@ Word_wrap::do_solve () const { if (!minimum.cols_.size ()) { - warning (_ ("ugh, this measure is too long") - + ", " + _f ("breakpoint: %d", break_idx) - + "(" + _ ("generating stupido solution") + ")"); + warning (_f ("Ugh, this measure is too long, breakpoint: %d", + break_idx)); + warning (_ ("Generating stupido solution")); current.stupid_solution (); current.energy_f_ = - 1; // make sure we break out. } diff --git a/midi2ly/main.cc b/midi2ly/main.cc index 016921ed1b..b92a9bbbcf 100644 --- a/midi2ly/main.cc +++ b/midi2ly/main.cc @@ -95,12 +95,12 @@ Long_option_init long_option_init_a[] = {_i ("FILE"), "output", 'o', _i ("set FILE as default output")}, {0, "no-tuplets", 'p', _i ("assume no tuplets")}, {0, "quiet", 'q', _i ("be quiet")}, - {_i ("DUR"), "smallest", 's', _i ("Set smallest duration (?)")}, + {_i ("DUR"), "smallest", 's', _i ("set smallest duration")}, {0, "no-timestamps", 'T', _i ("don't timestamp the output")}, + {0, "version", 'V', _i ("print version number")}, {0, "verbose", 'v', _i ("be verbose")}, {0, "warranty", 'w', _i ("show warranty and copyright")}, {0, "no-double-dots", 'x', _i ("assume no double dotted notes")}, - {0, "version", 'V', _i ("print version number")}, {0,0,0, 0} }; @@ -109,14 +109,14 @@ usage() { cout << _f ("Usage: %s [OPTION]... [FILE]", "midi2ly"); cout << '\n'; - cout << _ ("Translate midi-file to mudela"); + cout << _ ("Translate MIDI-file to mudela"); cout << '\n'; cout << '\n'; cout << _ ("Options:"); cout << '\n'; cout << Long_option_init::table_str (long_option_init_a) << endl; - cout << _("Report bugs to") << " bug-gnu-music@gnu.org" << endl; + cout << _f ("Report bugs to %s", "bug-gnu-music@gnu.org") << endl; } int diff --git a/midi2ly/midi-score-parser.cc b/midi2ly/midi-score-parser.cc index 7e1908246c..33fb76b4b3 100644 --- a/midi2ly/midi-score-parser.cc +++ b/midi2ly/midi-score-parser.cc @@ -21,7 +21,7 @@ Midi_score_parser::open (String filename_str, Sources* sources_l) { info_l_->source_l_ = sources_l->get_file_l (filename_str); if (!info_l_->source_l_) - ::error (_f ("can't find file: `%s\'", filename_str)); + ::error (_f ("Can't find file: `%s'", filename_str)); info_l_->byte_L_ = (Byte const*)info_l_->source_l_->ch_C (); info_l_->end_byte_L_ = info_l_->byte_L_ + info_l_->source_l_->length_i () + 1; } @@ -46,16 +46,16 @@ Midi_score_parser::parse_header () int length_i = get_i (4); // is this signed? if (length_i < 6) - exit (_ ("Invalid header length")); + exit (_ ("invalid header length")); info_l_->format_i_ = get_i (2); if (info_l_->format_i_ != 0 && info_l_->format_i_ != 1) - exit (_("Invalid midi format")); + exit (_("invalid MIDI format")); info_l_->tracks_i_ = get_i (2); if (info_l_->tracks_i_ < 0 || info_l_->tracks_i_ > 32 ) - exit (_("Invalid number of tracks")); + exit (_("invalid number of tracks")); info_l_->division_1_i_ = get_i (2) * 4; if (info_l_->division_1_i_ < 0) - exit (_f ("can't handle %s", _ ("non-metrical time"))); + exit (_ ("Can't handle non-metrical time")); // ugh Duration::division_1_i_s = info_l_->division_1_i_; forward_byte_L (length_i - 6); @@ -91,7 +91,8 @@ Midi_score_parser::parse_score () for (int i = 0; i < info_l_->tracks_i_; i++) tracks.push (new Midi_track_parser (info_l_, i)); - LOGOUT (NORMAL_ver) << _ ("Parsing...\n"); + LOGOUT (NORMAL_ver) << _ ("Parsing..."); + LOGOUT (NORMAL_ver) << "\n"; while (tracks.size ()) { int i = find_earliest_i (tracks); diff --git a/midi2ly/midi-track-parser.cc b/midi2ly/midi-track-parser.cc index b545c2ddb8..21442a4ef3 100644 --- a/midi2ly/midi-track-parser.cc +++ b/midi2ly/midi-track-parser.cc @@ -65,7 +65,7 @@ Midi_track_parser::note_end (Mudela_column* col_l, int channel_i, int pitch_i, i else pp = &i->next_; } - warning (_f ("junking note-end event: channel = %d, pitch = %d", + warning (_f ("Junking note-end event: channel = %d, pitch = %d", channel_i, pitch_i)); } diff --git a/midi2ly/mudela-score.cc b/midi2ly/mudela-score.cc index 3e30a4d096..1d3d0f5ca4 100644 --- a/midi2ly/mudela-score.cc +++ b/midi2ly/mudela-score.cc @@ -116,7 +116,7 @@ Mudela_score::output (String filename_str) Mudela_stream mudela_stream (filename_str); for (Cons* i = mudela_staff_p_list_.head_; i; i = i->next_) { - LOGOUT (NORMAL_ver) << _ ("track ") << track_i++ << ": " << flush; + LOGOUT (NORMAL_ver) << _f ("track %d:", track_i++) << flush; i->car_->output (mudela_stream); mudela_stream << '\n'; LOGOUT (NORMAL_ver) << endl; diff --git a/midi2ly/mudela-staff.cc b/midi2ly/mudela-staff.cc index a8feafb0f4..edba0e1bc4 100644 --- a/midi2ly/mudela-staff.cc +++ b/midi2ly/mudela-staff.cc @@ -174,8 +174,8 @@ Mudela_staff::output (Mudela_stream& mudela_stream_r) c++; } - mudela_stream_r << _ ("% midi copyright:") << copyright_str_ << '\n'; - mudela_stream_r << _ ("% instrument:") << instrument_str_ << '\n'; + mudela_stream_r << _ ("% MIDI copyright:") << copyright_str_ << '\n'; + mudela_stream_r << _ ("% MIDI instrument:") << instrument_str_ << '\n'; mudela_stream_r << id_str () << " = "; mudela_stream_r << "<\n " << trackbody << " >\n"; diff --git a/midi2ly/mudela-stream.cc b/midi2ly/mudela-stream.cc index 5484b658a2..f5fbfd0f8c 100644 --- a/midi2ly/mudela-stream.cc +++ b/midi2ly/mudela-stream.cc @@ -72,6 +72,7 @@ Mudela_stream::handle_pending_indent() void Mudela_stream::header() { + /* Maybe better not to translate these? */ *os_p_ << _ ("% Creator: "); if (no_timestamps_b_g) *os_p_ << "GNU LilyPond\n"; @@ -100,7 +101,7 @@ Mudela_stream::open() { os_p_ = new ofstream (filename_str_.ch_C ()); if (!*os_p_) - error (_f ("can't open file: `%s\'", filename_str_)); + error (_f ("Can't open file: `%s'", filename_str_)); } void diff --git a/po/TODO b/po/TODO index c9817fd8d8..3bbe154732 100644 --- a/po/TODO +++ b/po/TODO @@ -1,64 +1,31 @@ TODO - * mail .po files to gnu translation project - * convince xgettext my name is iso - :-) - * create user-friendly input format for multiple languages? -ISSUES -- please read this before doing too much real translating... +FIX OR STANDARDISE TARGETS - * please don't run make po/po-update with gnu gettext < 0.10.35 - * encapsulate locale strings in _( ) or _f ( ) - * fix/standardise messages - - it's silly to translate wrong strings - - no leading/trailing punctuation in strings: e.g. - _ ("foo found") iso _ ("foo found.), _ ("foo found.\n), ... - - no leading/trailing whitespace in strings +* at toplevel, do: - - Think about translation issues. - In a lot of cases,it's better to translate a whole message - the english grammar mustn't be imposed on the transator. - So, iso - _ ("stem at") + moment.str () + _("doen't fit in beam") - have - _f ("stem at %s doen't fit in beam", moment.str ()) - ? + make po + make -C po po-update (or do `make po-update' at toplevel) - Otoh: - en: can't open: `foo.ly' - nl: kan `foo.ly' niet openen (1) - kan niet openen: `foo.ly'* (2) - niet te openen: `foo.ly'* (3) +* if there are no errors (a list of changes may be displayed, that's ok), do - The first nl message, although gramatically and stylish correct, - is not friendly for parsing by humans (even if they speak dutch). - I guess we'd prefer something like (2) or (3)... + cp po/out/*.po po - - don't modularise too much; a lot of words cannot be translated - without context. - it's probably safe to treat most occurences of words like - stem, beam, crescendo as separately translatable words. +* and edit your favorite po/LANG.po. Especially, look for `,fuzzy' entries, + empty entries. At the bottom of the file you may find a list of obsolete + translations. - * don't! translate/gettextify: - - debug strings - - output (ps) strings +* because i never install LilyPond, I (check-out buildscripts/set-lily.sh) + made these links: + ln -s $LILYPOND_SOURCEDIR/po/out/nl.mo + $PREFIX/usr/share/locale/nl/LC_MESSAGES/lilypond.mo + ln -s $LILYPOND_SOURCEDIR/po/out/it.mo + $PREFIX/usr/share/locale/it/LC_MESSAGES/lilypond.mo -SOLVED/HOWTO - * because i never install LilyPond, i made these links: + $PREFIX is the --prefix you passed to configure. - ln -s $LILYPOND_SOURCEDIR/po/out/nl.mo - /usr/share/locale/nl/LC_MESSAGES/lilypond.mo - ln -s $LILYPOND_SOURCEDIR/po/out/it.mo - /usr/share/locale/it/LC_MESSAGES/lilypond.mo + then simply type, e.g. - then simply type, e.g. - - LANG=nl lilypond -h - - * (howto?) avoid keep translating for moving target - - make po-update - - mv po/out/*.po po (manually!) - - edit po/*.po - - make -C po - - make show-po-update LANGUAGE=xx + LANG=nl lilypond -h diff --git a/po/lilypond.po b/po/lilypond.po index f48bb143cd..260670f531 100644 --- a/po/lilypond.po +++ b/po/lilypond.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 1999-09-15 23:21+0200\n" +"POT-Creation-Date: 1999-09-16 20:29+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,7 +23,7 @@ msgid "warning: " msgstr "" #: dstream.cc:158 -msgid "Not enough fields in Dstream init." +msgid "not enough fields in Dstream init" msgstr "" #: flower-debug.cc:17 @@ -32,12 +32,12 @@ msgstr "" #: getopt-long.cc:141 #, c-format -msgid "option `%s' requires an argument" +msgid "Option `%s' requires an argument" msgstr "" #: getopt-long.cc:145 #, c-format -msgid "option `%s' doesn't allow an argument" +msgid "Option `%s' doesn't allow an argument" msgstr "" #: getopt-long.cc:149 @@ -54,10 +54,10 @@ msgstr "" msgid "" msgstr "" -#: mapped-file-storage.cc:87 midi-stream.cc:77 mudela-stream.cc:103 +#: mapped-file-storage.cc:87 midi-stream.cc:77 mudela-stream.cc:104 #: paper-stream.cc:25 scores.cc:38 simple-file-storage.cc:44 text-stream.cc:21 #, c-format -msgid "can't open file: `%s'" +msgid "Can't open file: `%s'" msgstr "" #: input.cc:91 warn.cc:7 warn.cc:15 @@ -73,53 +73,61 @@ msgid "position unknown" msgstr "" #: mapped-file-storage.cc:74 -msgid "can't map file" +msgid "Can't map file" msgstr "" #: simple-file-storage.cc:56 #, c-format -msgid "Huh? got %d, expected %d characters" +msgid "Huh? Got %d, expected %d characters" msgstr "" -#: warn.cc:33 -msgid "Programming error: " +#: warn.cc:34 +msgid "programming error: " msgstr "" -#: warn.cc:33 -msgid " (continuing; cross thumbs)" +#: warn.cc:34 +msgid " (Continuing; cross thumbs)" +msgstr "" + +#: warn.cc:40 +msgid "programming warning: " msgstr "" #: afm.cc:129 #, c-format -msgid "can't find character called `%s'" +msgid "Can't find character called: `%s'" msgstr "" #: afm.cc:154 #, c-format -msgid "can't find character number %d" +msgid "Can't find character number: %d" msgstr "" -#: all-font-metrics.cc:69 +#: all-font-metrics.cc:69 lookup.cc:103 #, c-format -msgid "Can't find font `%s', loading default font." +msgid "Can't find font: `%s'" msgstr "" -#: all-font-metrics.cc:74 -#, c-format -msgid "Can't find default font `%s', giving up." +#: all-font-metrics.cc:70 +msgid "Loading default font" msgstr "" #: all-font-metrics.cc:75 #, c-format +msgid "Can't find default font: `%s'" +msgstr "" + +#: all-font-metrics.cc:76 +#, c-format msgid "(search path: `%s)'" msgstr "" -#: beam-engraver.cc:42 -msgid "No Beam to end" +#: all-font-metrics.cc:77 +msgid "Giving up" msgstr "" -#: beam-engraver.cc:58 -msgid "No beam to end" +#: beam-engraver.cc:42 beam-engraver.cc:58 +msgid "no beam to end" msgstr "" #: beam-engraver.cc:87 @@ -127,19 +135,19 @@ msgid "Already have a Beam" msgstr "" #: beam-engraver.cc:149 -msgid "Unfinished beam" +msgid "unfinished beam" msgstr "" #: beam-engraver.cc:174 -msgid "Stem must have Rhythmic structure." +msgid "Stem must have Rhythmic structure" msgstr "" #: beam-engraver.cc:185 -msgid "stem doesn't fit in beam" +msgid "Stem doesn't fit in beam" msgstr "" #: beam-engraver.cc:186 -msgid "beam was started here" +msgid "Beam was started here" msgstr "" #: beam.cc:147 @@ -147,57 +155,75 @@ msgid "beam with less than two stems" msgstr "" #: beam.cc:312 -msgid "weird beam shift, check your knees" +msgid "weird beam vertical offset" msgstr "" -#: break-algorithm.cc:25 +#: break-algorithm.cc:28 msgid "0 lines" msgstr "" -#: break-algorithm.cc:27 +#: break-algorithm.cc:30 #, c-format msgid "1 line (of %.0f columns)" msgstr "" -#: break-algorithm.cc:29 +#: break-algorithm.cc:32 #, c-format msgid "%d lines (with an average of %.1f columns)" msgstr "" -#: break-algorithm.cc:148 -msgid "score does not have any columns" +#: break-algorithm.cc:155 +msgid "Score does not have any columns" msgstr "" -#: break-algorithm.cc:165 +#: break-algorithm.cc:172 #, c-format msgid "approximated %s" msgstr "" -#: break-algorithm.cc:167 +#: break-algorithm.cc:174 #, c-format msgid "calculated %s exactly" msgstr "" -#: break-algorithm.cc:168 +#: break-algorithm.cc:175 #, c-format msgid "elapsed time %.2f seconds" msgstr "" #: change-iterator.cc:22 #, c-format -msgid "can't change `%s' to `%s'" +msgid "Can't change `%s' to `%s'" +msgstr "" + +#: change-iterator.cc:57 +msgid "Can't switch translators, I'm there already" +msgstr "" + +#. +#. We could change the current translator's id, but that would make +#. errors hard to catch +#. +#. last->translator_id_str_ = change_l ()->change_to_id_str_; +#. +#: change-iterator.cc:76 +msgid "I'm one myself" +msgstr "" + +#: change-iterator.cc:79 +msgid "none of these in my family" msgstr "" #: chord-tremolo-engraver.cc:41 chord-tremolo-engraver.cc:58 -msgid "No abbreviation beam to end" +msgid "no tremolo beam to end" msgstr "" #: chord-tremolo-engraver.cc:83 -msgid "Already have an abbreviation beam" +msgid "Already have a tremolo beam" msgstr "" #: chord-tremolo-engraver.cc:124 -msgid "Unfinished abbreviation beam" +msgid "unfinished tremolo beam" msgstr "" #: chord.cc:231 @@ -211,7 +237,7 @@ msgid "invalid inversion pitch: not part of chord: %s" msgstr "" #: clef-engraver.cc:178 -msgid "unknown clef type " +msgid "unknown clef type" msgstr "" #: collision.cc:95 @@ -227,11 +253,11 @@ msgid "too small" msgstr "" #: debug.cc:56 -msgid "Floating point exception" +msgid "floating point exception" msgstr "" #: debug.cc:139 -msgid "can't set mem-checking" +msgid "Can't set mem-checking!" msgstr "" #: dimensions.cc:13 @@ -239,11 +265,11 @@ msgid "NaN" msgstr "" #: dynamic-engraver.cc:109 -msgid "Got a dynamic already. Continuing dazed and confused" +msgid "Got a dynamic already. Continuing dazed and confused." msgstr "" #: dynamic-engraver.cc:162 -msgid "can't find (de)crescendo to end" +msgid "Can't find (de)crescendo to end" msgstr "" #: dynamic-engraver.cc:216 @@ -267,12 +293,16 @@ msgstr "" msgid "unterminated extender" msgstr "" +#: extender-engraver.cc:74 +msgid "Nothing to connect extender to on the left. Ignoring extender request." +msgstr "" + #: folded-repeat-iterator.cc:64 -msgid "No one to print a repeat brace" +msgid "no one to print a repeat brace" msgstr "" #: grace-iterator.cc:43 -msgid "No Grace context available!" +msgid "no Grace context available" msgstr "" #: grace-position-engraver.cc:89 @@ -283,19 +313,19 @@ msgstr "" msgid "unterminated hyphen" msgstr "" -#: identifier.cc:46 -msgid "Wrong identifier type: " +#: hyphen-engraver.cc:72 +msgid "Nothing to connect hyphen to on the left. Ignoring hyphen request." msgstr "" -#: identifier.cc:47 +#: identifier.cc:46 #, c-format -msgid "%s expected" +msgid "wrong identifier type, expected: `%s'" msgstr "" #: includable-lexer.cc:47 lily-guile.cc:82 lily-guile.cc:105 #: midi-score-parser.cc:24 scores.cc:108 scores.cc:114 #, c-format -msgid "can't find file: `%s'" +msgid "Can't find file: `%s'" msgstr "" #: includable-lexer.cc:49 lookup.cc:104 scores.cc:109 @@ -309,19 +339,38 @@ msgid "Ineq_constrained_qp::solve (): Constraint off by %f" msgstr "" #: ineq-constrained-qp.cc:233 -msgid "didn't converge!" +msgid "Didn't converge!" msgstr "" #: ineq-constrained-qp.cc:235 -msgid "Too much degeneracy. " +msgid "too much degeneracy" msgstr "" #: key-def.cc:31 -msgid "No key name: assuming `C'" +msgid "No key name, assuming `C'" msgstr "" #: key-def.cc:92 -msgid "don't know how handle empty keys" +msgid "Don't know how handle empty keys" +msgstr "" + +#: key-engraver.cc:70 key-performer.cc:65 +msgid "FIXME: key change merge" +msgstr "" + +#: key.cc:54 key.cc:59 +#, c-format +msgid "Don't have that many octaves (%s)" +msgstr "" + +#: key.cc:77 +#, c-format +msgid "underdone accidentals (%s)" +msgstr "" + +#: key.cc:82 +#, c-format +msgid "overdone accidentals (%s)" msgstr "" #: lily-guile.cc:84 lily-guile.cc:107 @@ -329,17 +378,18 @@ msgstr "" msgid "(load path: `%s')" msgstr "" -#: local-key-engraver.cc:42 -msgid "out of tune" +#: line-of-score.cc:91 +msgid "Huh? Empty Line_of_score?" msgstr "" -#: local-key-engraver.cc:42 time-signature-engraver.cc:28 -msgid "can't find" +#: local-key-engraver.cc:42 +msgid "out of tune:" msgstr "" -#: lookup.cc:103 +#: local-key-engraver.cc:43 time-signature-engraver.cc:29 +#: translator-group.cc:437 translator-group.cc:446 #, c-format -msgid "can't find font: `%s'" +msgid "Can't find: `%s'" msgstr "" #: lookup.cc:105 @@ -348,107 +398,108 @@ msgstr "" #: lookup.cc:436 #, c-format -msgid "Non-matching braces in text `%s', adding braces." +msgid "Non-matching braces in text `%s', adding braces" msgstr "" -#: main.cc:68 -msgid "BASENAME" +#: main.cc:71 main.cc:91 +msgid "enable debugging output" msgstr "" -#: main.cc:68 -msgid "write output to BASENAME[-x].extension" +#: main.cc:72 +msgid "EXT" msgstr "" -#: main.cc:69 main.cc:101 -msgid "show warranty and copyright" +#: main.cc:72 +msgid "use output format EXT" msgstr "" -#: main.cc:70 main.cc:92 +#: main.cc:73 main.cc:92 msgid "this help" msgstr "" -#: main.cc:71 -msgid "switch on experimental features" +#: main.cc:74 +msgid "DIR" msgstr "" -#: main.cc:72 main.cc:91 -msgid "enable debugging output" +#: main.cc:74 +msgid "add DIR to search path" msgstr "" -#: main.cc:73 main.cc:95 +#: main.cc:75 main.cc:95 msgid "FILE" msgstr "" -#: main.cc:73 +#: main.cc:75 msgid "use FILE as init file" msgstr "" -#: main.cc:74 -msgid "DIR" +#: main.cc:76 +msgid "write Makefile dependencies for every input file" msgstr "" -#: main.cc:74 -msgid "add DIR to search path" +#: main.cc:77 +msgid "produce MIDI output only" msgstr "" -#: main.cc:75 -msgid "produce midi output only" +#: main.cc:78 +msgid "BASENAME" msgstr "" -#: main.cc:76 -msgid "write Makefile dependencies for every input file" +#: main.cc:78 +msgid "write output to BASENAME[-x].extension" msgstr "" -#: main.cc:77 main.cc:99 -msgid "don't timestamp the output" +#: main.cc:79 +msgid "show all changes in relative syntax" msgstr "" -#: main.cc:78 -msgid "show all changes in relative syntax" +#: main.cc:80 +msgid "inhibit file output naming and exporting" msgstr "" -#: main.cc:79 -msgid "ignore mudela version" +#: main.cc:81 main.cc:99 +msgid "don't timestamp the output" msgstr "" -#: main.cc:80 main.cc:103 -msgid "print version number" +#: main.cc:82 +msgid "switch on experimental features" msgstr "" -#: main.cc:81 -msgid "EXT" +#: main.cc:83 +msgid "ignore mudela version" msgstr "" -#: main.cc:81 -msgid "use output format EXT" +#: main.cc:84 main.cc:100 +msgid "print version number" msgstr "" -#: main.cc:82 -msgid "inhibit file output naming and exporting" +#: main.cc:85 main.cc:102 +msgid "show warranty and copyright" msgstr "" -#: main.cc:89 +#: main.cc:92 #, c-format msgid "Usage: %s [OPTION]... [FILE]..." msgstr "" -#: main.cc:91 -msgid "Typeset music and or play MIDI from FILE." +#: main.cc:94 +msgid "Typeset music and or play MIDI from FILE" msgstr "" -#: main.cc:97 main.cc:115 +#: main.cc:100 main.cc:115 msgid "Options:" msgstr "" -#: main.cc:101 +#: main.cc:104 msgid "This binary was compiled with the following options:" msgstr "" -#: main.cc:119 -msgid "Report bugs to" +#: main.cc:119 main.cc:123 +#, c-format +msgid "Report bugs to %s" msgstr "" -#: main.cc:52 main.cc:135 +#: main.cc:52 main.cc:137 #, c-format msgid "" "This is free software. It is covered by the GNU General Public License,\n" @@ -456,17 +507,17 @@ msgid "" "certain conditions. Invoke as `%s --warranty' for more information.\n" msgstr "" -#: main.cc:59 main.cc:142 main.cc:154 +#: main.cc:59 main.cc:144 main.cc:156 #, c-format msgid "Copyright (c) %s by" msgstr "" #. GNU GNU? -#: main.cc:152 +#: main.cc:154 msgid "GNU LilyPond -- The GNU Project music typesetter" msgstr "" -#: main.cc:68 main.cc:160 +#: main.cc:68 main.cc:162 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" @@ -485,7 +536,7 @@ msgstr "" #: midi-item.cc:303 #, c-format -msgid "No such instrument: `%s'" +msgid "no such instrument: `%s'" msgstr "" #: midi-item.cc:357 @@ -502,7 +553,7 @@ msgid "silly pitch" msgstr "" #: midi-stream.cc:29 paper-stream.cc:36 -msgid "error syncing file (disk full?)" +msgid "Error syncing file (disk full?)" msgstr "" #: music-output-def.cc:56 @@ -510,12 +561,13 @@ msgid "Interpretation context with empty type" msgstr "" #: music-output-def.cc:83 -msgid "can't find Score context" +#, c-format +msgid "Can't find `%s' context" msgstr "" #: musical-request.cc:42 #, c-format -msgid "transposition by %s makes accidental larger than two" +msgid "Transposition by %s makes accidental larger than two" msgstr "" #: my-lily-lexer.cc:137 @@ -525,7 +577,7 @@ msgstr "" #: my-lily-lexer.cc:143 #, c-format -msgid "Identifier name is a keyword (`%s')" +msgid "Identifier name is a keyword: `%s'" msgstr "" #: my-lily-lexer.cc:172 @@ -533,12 +585,16 @@ msgstr "" msgid "error at EOF: %s" msgstr "" -#: my-lily-parser.cc:60 +#: midi-score-parser.cc:94 my-lily-parser.cc:60 msgid "Parsing..." msgstr "" #: my-lily-parser.cc:69 -msgid "braces don't match" +msgid "Braces don't match" +msgstr "" + +#: p-col.cc:48 +msgid "Must set spring between differing columns" msgstr "" #: paper-def.cc:95 @@ -552,25 +608,25 @@ msgstr "" #. for now; breaks -fscm output #: paper-def.cc:251 -msgid "outputting Score, defined at: " +msgid "Outputting Score, defined at: " msgstr "" #: paper-def.cc:280 #, c-format -msgid "Paper output to %s..." +msgid "paper output to %s..." msgstr "" -#: mudela-stream.cc:85 paper-outputter.cc:76 performance.cc:97 +#: mudela-stream.cc:86 paper-outputter.cc:76 performance.cc:97 msgid ", at " msgstr "" #: paper-outputter.cc:130 #, c-format -msgid "Improbable offset for object type `%s'" +msgid "improbable offset for object type: `%s'" msgstr "" #: paper-score.cc:131 -msgid "Can't solve this casting problem exactly; revert to Word_wrap" +msgid "Can't solve this casting problem exactly; reverting to Word_wrap" msgstr "" #: paper-score.cc:156 @@ -582,7 +638,8 @@ msgid "Calculating column positions..." msgstr "" #: paper-score.cc:179 -msgid " elements. " +#, c-format +msgid "%s elements" msgstr "" #: paper-score.cc:182 @@ -616,9 +673,13 @@ msgstr "" msgid "degenerate constraints" msgstr "" +#: repeat-engraver.cc:177 +msgid "No bar engraver found. Ignoring repeats." +msgstr "" + #: request-chord-iterator.cc:73 #, c-format -msgid "junking request: `%s'" +msgid "Junking request: `%s'" msgstr "" #: request-chord-iterator.cc:76 @@ -627,16 +688,16 @@ msgid "Huh? Not a Request: `%s'" msgstr "" #: rest-collision.cc:64 -msgid "Too many colliding rests." +msgid "too many colliding rests" msgstr "" #: rest-collision.cc:68 -msgid "Too many notes for rest collision." +msgid "too many notes for rest collision" msgstr "" #: score-engraver.cc:149 #, c-format -msgid "Unbound spanner `%s'" +msgid "unbound spanner `%s'" msgstr "" #: score.cc:56 @@ -648,36 +709,40 @@ msgid "Interpreting music..." msgstr "" #: score.cc:70 -msgid "need music in a score" +msgid "Need music in a score" msgstr "" #. should we? hampers debugging. #: score.cc:83 -msgid "errors found, /*not processing score*/" +msgid "Errors found/*, not processing score*/" msgstr "" #: score.cc:88 #, c-format -msgid "time: %.2f seconds" +msgid "elapsed time: %.2f seconds" msgstr "" #: scores.cc:35 #, c-format -msgid "writing dependency file: `%s'..." +msgid "Writing dependency file: `%s'..." msgstr "" #: scores.cc:79 -msgid "score contains errors; will not process it" +msgid "Score contains errors; will not process it" msgstr "" #: script-engraver.cc:49 #, c-format -msgid "don't know how to interpret articulation `%s'\n" +msgid "Don't know how to interpret articulation `%s'" +msgstr "" + +#: sequential-music-iterator.cc:82 +msgid "Must stop before this music ends" msgstr "" #. this shouldn't happen, but let's continue anyway. #: single-malt-grouping-item.cc:43 -msgid "Single_malt_grouping_item: I've been drinking too much" +msgid "Single_malt_grouping_item: I've been drinking too much" msgstr "" #: slur-engraver.cc:64 @@ -686,7 +751,7 @@ msgstr "" #: slur-engraver.cc:80 #, c-format -msgid "can't find both ends of %s" +msgid "Can't find both ends of %s" msgstr "" #: slur-engraver.cc:80 @@ -694,43 +759,37 @@ msgid "slur" msgstr "" #: slur.cc:38 -msgid "Putting slur over rest. Ignoring" -msgstr "" - -#: spacing-spanner.cc:218 -#, c-format -msgid "can't find a ruling note at %s" -msgstr "" - -#: spacing-spanner.cc:224 -#, c-format -msgid "no minimum in measure at %s" +msgid "Putting slur over rest. Ignoring." msgstr "" #: spanner.cc:41 -msgid "left spanpoint is right spanpoint\n" +msgid "Left spanpoint is right spanpoint" msgstr "" #: spanner.cc:111 #, c-format -msgid "Spanner `%s' with equal left and right spanpoints" +msgid "Spanner `%s' has equal left and right spanpoints" +msgstr "" + +#: spanner.cc:143 +msgid "spanner with negative length" msgstr "" #: spring-spacer.cc:134 msgid "I'm too fat; call Oprah" msgstr "" -#: spring-spacer.cc:295 -msgid "solution doesn't satisfy constraints" +#: spring-spacer.cc:299 +msgid "Solution doesn't satisfy constraints" msgstr "" -#: spring-spacer.cc:378 +#: spring-spacer.cc:400 #, c-format msgid "Improbable distance: %f point, setting to 10 mm" msgstr "" -#: spring-spacer.cc:383 -msgid "Negative distance. Setting to 10 mm" +#: spring-spacer.cc:405 +msgid "Negative distance, setting to 10 mm" msgstr "" #: stem-engraver.cc:80 @@ -738,8 +797,12 @@ msgstr "" msgid "Adding note head to incompatible stem (type = %d)" msgstr "" +#: stem.cc:26 +msgid "stem direction set already!" +msgstr "" + #: stem.cc:106 -msgid "weird stem size; check for narrow beams" +msgid "Weird stem size; check for narrow beams" msgstr "" #: tfm-reader.cc:108 @@ -749,12 +812,16 @@ msgstr "" #: tfm-reader.cc:146 #, c-format -msgid "%s: TFM file has %u parameters, which is more than the" +msgid "%s: TFM file has %u parameters, which is more than the %u I can handle" msgstr "" #: tfm.cc:64 #, c-format -msgid "can't find ascii character `%d'" +msgid "Can't find ascii character: `%d'" +msgstr "" + +#: tie-engraver.cc:91 +msgid "unequal number of note heads for tie" msgstr "" #: tie-engraver.cc:155 tie-performer.cc:106 @@ -770,7 +837,7 @@ msgid "cadenza" msgstr "" #: time-description.cc:106 -msgid "partial measure must be non-negative" +msgid "Partial measure must be non-negative" msgstr "" #: time-description.cc:108 @@ -778,11 +845,11 @@ msgid "partial measure too large" msgstr "" #: time-scaled-music-iterator.cc:25 -msgid "No one to print a tuplet start bracket" +msgid "no one to print a tuplet start bracket" msgstr "" #: time-signature-engraver.cc:28 -msgid "lost in time" +msgid "lost in time:" msgstr "" #: timing-translator.cc:26 @@ -795,32 +862,31 @@ msgstr "" #: timing-translator.cc:83 #, c-format -msgid "barcheck failed by: %s" +msgid "barcheck failed at: %s" msgstr "" #: translator-ctors.cc:39 #, c-format -msgid "unknown translator `%s'" +msgid "unknown translator: `%s'" +msgstr "" + +#: translator-group.cc:78 translator-group.cc:91 +msgid "Program has no such type" msgstr "" #: translator-group.cc:82 translator-group.cc:97 #, c-format -msgid "Already contains a `%s'" +msgid "Already contains: `%s'" msgstr "" #: translator-group.cc:207 #, c-format -msgid "can't find or create `%s' called `%s'" +msgid "Can't find or create `%s' called `%s'" msgstr "" #: translator-group.cc:341 #, c-format -msgid "can't find or create `%s'" -msgstr "" - -#: translator-group.cc:437 translator-group.cc:446 -#, c-format -msgid "can't find `%s'" +msgid "Can't find or create: `%s'" msgstr "" #: transposed-music.cc:31 @@ -828,20 +894,16 @@ msgid "Will ignore \\relative for transposed music" msgstr "" #: unfolded-repeat-iterator.cc:145 -msgid "No one to print a volta bracket" +msgid "no one to print a volta bracket" msgstr "" #: word-wrap.cc:75 -msgid "ugh, this measure is too long" -msgstr "" - -#: word-wrap.cc:76 #, c-format -msgid "breakpoint: %d" +msgid "Ugh, this measure is too long, breakpoint: %d" msgstr "" #: word-wrap.cc:77 -msgid "generating stupido solution" +msgid "Generating stupido solution" msgstr "" #: word-wrap.cc:95 @@ -854,7 +916,7 @@ msgid "Oldest supported input version: %s" msgstr "" #: parser.yy:313 -msgid "Cannot evaluate Scheme in safe mode" +msgid "Can't evaluate Scheme in safe mode" msgstr "" #: parser.yy:433 parser.yy:441 parser.yy:465 @@ -869,35 +931,51 @@ msgstr "" msgid "More than one music block" msgstr "" +#: parser.yy:575 +msgid "Need even number of args for shape array" +msgstr "" + +#: parser.yy:723 +msgid "More alternatives than repeats. Junking excess alternatives." +msgstr "" + #: parser.yy:946 parser.yy:1360 parser.yy:1380 #, c-format msgid "not a duration: %d" msgstr "" #: parser.yy:948 parser.yy:1382 -msgid "can't abbreviate" +msgid "Can't abbreviate" +msgstr "" + +#: parser.yy:1076 +msgid "Can't specify direction for this request" msgstr "" #: parser.yy:1211 parser.yy:1219 parser.yy:1444 -msgid "have to be in Lyric mode for lyrics" +msgid "Have to be in Lyric mode for lyrics" msgstr "" #: parser.yy:1391 -msgid "have to be in Note mode for notes" +msgid "Have to be in Note mode for notes" msgstr "" #: parser.yy:1403 -msgid "can't abbreviate tuplet" +msgid "Can't abbreviate tuplet" msgstr "" #: parser.yy:1450 -msgid "have to be in Chord mode for chords" +msgid "Have to be in Chord mode for chords" msgstr "" #: lexer.ll:155 msgid "EOF found inside a comment" msgstr "" +#: lexer.ll:169 +msgid "\\maininput disallowed outside init files" +msgstr "" + #: lexer.ll:199 #, c-format msgid "undefined identifier: `%s'" @@ -905,7 +983,7 @@ msgstr "" #. backup rule #: lexer.ll:204 -msgid "missing end quote" +msgid "Missing end quote" msgstr "" #. backup rule @@ -968,14 +1046,14 @@ msgid "DUR" msgstr "" #: main.cc:98 -msgid "Set smallest duration (?)" +msgid "set smallest duration" msgstr "" -#: main.cc:100 +#: main.cc:101 msgid "be verbose" msgstr "" -#: main.cc:102 +#: main.cc:103 msgid "assume no double dotted notes" msgstr "" @@ -985,7 +1063,7 @@ msgid "Usage: %s [OPTION]... [FILE]" msgstr "" #: main.cc:112 -msgid "Translate midi-file to mudela" +msgid "Translate MIDI-file to mudela" msgstr "" #: midi-parser.cc:64 @@ -997,33 +1075,24 @@ msgid "MIDI header expected" msgstr "" #: midi-score-parser.cc:49 -msgid "Invalid header length" +msgid "invalid header length" msgstr "" #: midi-score-parser.cc:52 -msgid "Invalid midi format" +msgid "invalid MIDI format" msgstr "" #: midi-score-parser.cc:55 -msgid "Invalid number of tracks" -msgstr "" - -#: midi-score-parser.cc:58 -#, c-format -msgid "can't handle %s" +msgid "invalid number of tracks" msgstr "" #: midi-score-parser.cc:58 -msgid "non-metrical time" -msgstr "" - -#: midi-score-parser.cc:94 -msgid "Parsing...\n" +msgid "Can't handle non-metrical time" msgstr "" #: midi-track-parser.cc:68 #, c-format -msgid "junking note-end event: channel = %d, pitch = %d" +msgid "Junking note-end event: channel = %d, pitch = %d" msgstr "" #: midi-track-parser.cc:124 @@ -1056,8 +1125,9 @@ msgstr "" msgid "Lily output to %s..." msgstr "" -#: mudela-score.cc:119 mudela-score.cc:168 -msgid "track " +#: mudela-score.cc:119 +#, c-format +msgid "track %d:" msgstr "" #: mudela-score.cc:155 @@ -1068,6 +1138,10 @@ msgstr "" msgid "Creating voices..." msgstr "" +#: mudela-score.cc:168 +msgid "track " +msgstr "" + #: mudela-score.cc:177 msgid "NOT Filtering tempo..." msgstr "" @@ -1084,14 +1158,12 @@ msgstr "" msgid "Settling columns..." msgstr "" -#: mudela-staff.cc:111 -#, c-format -msgid "% midi copyright:" +#: mudela-staff.cc:177 +msgid "% MIDI copyright:" msgstr "" -#: mudela-staff.cc:112 -#, c-format -msgid "% instrument:" +#: mudela-staff.cc:178 +msgid "% MIDI instrument:" msgstr "" #: mudela-stream.cc:37 @@ -1099,15 +1171,16 @@ msgstr "" msgid "lily indent level: %d" msgstr "" -#: mudela-stream.cc:75 +#. Maybe better not to translate these? +#: mudela-stream.cc:76 msgid "% Creator: " msgstr "" -#: mudela-stream.cc:80 +#: mudela-stream.cc:81 msgid "% Automatically generated" msgstr "" -#: mudela-stream.cc:89 +#: mudela-stream.cc:90 #, c-format msgid "% from input file: " msgstr "" diff --git a/po/nl.po b/po/nl.po index 64d3a1ebb2..c9e0fee900 100644 --- a/po/nl.po +++ b/po/nl.po @@ -1,10 +1,10 @@ # nl.po -- GNU LilyPond's dutch language file # Jan Nieuwenhuizen -# Han-Wen Nienhuys , 1998. +# Han-Wen Nienhuys , 1998, 1999. # msgid "" msgstr "" -"POT-Creation-Date: 1999-09-15 23:21+0200\n" +"POT-Creation-Date: 1999-09-16 20:29+0200\n" "Content-Type: text/plain; charset=\n" "Date: 1998-05-26 11:26:28+0200\n" "From: \n" @@ -21,8 +21,8 @@ msgid "warning: " msgstr "waarschuwing: " #: dstream.cc:158 -msgid "Not enough fields in Dstream init." -msgstr "Onvoldoende velden in Dstream init." +msgid "not enough fields in Dstream init" +msgstr "onvoldoende velden in Dstream init" #: flower-debug.cc:17 msgid "Debug output disabled. Compiled with NPRINT." @@ -30,13 +30,13 @@ msgstr "Ontluis berichten zijn uitgeschakeld. Vertaald met NPRINT." #: getopt-long.cc:141 #, c-format -msgid "option `%s' requires an argument" -msgstr "optie `%s' vereist een argument" +msgid "Option `%s' requires an argument" +msgstr "Optie `%s' vereist een argument" #: getopt-long.cc:145 #, c-format -msgid "option `%s' doesn't allow an argument" -msgstr "optie `%s' staat geen argument toe" +msgid "Option `%s' doesn't allow an argument" +msgstr "Optie `%s' staat geen argument toe" #: getopt-long.cc:149 #, c-format @@ -50,13 +50,13 @@ msgstr "onjuist argument: `%s' voor optie `%s'" #: text-stream.cc:8 msgid "" -msgstr "" +msgstr "" -#: mapped-file-storage.cc:87 midi-stream.cc:77 mudela-stream.cc:103 +#: mapped-file-storage.cc:87 midi-stream.cc:77 mudela-stream.cc:104 #: paper-stream.cc:25 scores.cc:38 simple-file-storage.cc:44 text-stream.cc:21 #, c-format -msgid "can't open file: `%s'" -msgstr "kan bestand niet openen: `%s'" +msgid "Can't open file: `%s'" +msgstr "Kan bestand niet openen: `%s'" #: input.cc:91 warn.cc:7 warn.cc:15 msgid "error: " @@ -71,53 +71,61 @@ msgid "position unknown" msgstr "positie onbekend" #: mapped-file-storage.cc:74 -msgid "can't map file" -msgstr "kan bestand niet inkaarten" +msgid "Can't map file" +msgstr "Kan bestand niet inkaarten" #: simple-file-storage.cc:56 #, c-format -msgid "Huh? got %d, expected %d characters" -msgstr "Huh? kreeg %d, verwachtte %d tekens" +msgid "Huh? Got %d, expected %d characters" +msgstr "Huh? Kreeg %d, verwachtte %d tekens" + +#: warn.cc:34 +msgid "programming error: " +msgstr "programmeerfout: " -#: warn.cc:33 -msgid "Programming error: " -msgstr "Programmeer fout: " +#: warn.cc:34 +msgid " (Continuing; cross thumbs)" +msgstr " (Ga verder; duim maar)" -#: warn.cc:33 -msgid " (continuing; cross thumbs)" -msgstr " (ik ga verder; duim voor mij)" +#: warn.cc:40 +msgid "programming warning: " +msgstr "programmeerwaarschuwing: " #: afm.cc:129 #, c-format -msgid "can't find character called `%s'" -msgstr "kan teken niet vinden, genaamd: `%s'" +msgid "Can't find character called: `%s'" +msgstr "Kan teken niet vinden genaamd: `%s'" #: afm.cc:154 #, c-format -msgid "can't find character number %d" -msgstr "kan teken niet vinden met nummer %d" +msgid "Can't find character number: %d" +msgstr "kan teken niet vinden met nummer: %d" -#: all-font-metrics.cc:69 +#: all-font-metrics.cc:69 lookup.cc:103 #, c-format -msgid "Can't find font `%s', loading default font." -msgstr "Kan font `%s' niet vinden, laad verval font" +msgid "Can't find font: `%s'" +msgstr "Kan font niet vinden: `%s'" -#: all-font-metrics.cc:74 -#, c-format -msgid "Can't find default font `%s', giving up." -msgstr "Kan verval font `%s' niet vinden, ik geef op." +#: all-font-metrics.cc:70 +msgid "Loading default font" +msgstr "Laad verstek font" #: all-font-metrics.cc:75 #, c-format +msgid "Can't find default font: `%s'" +msgstr "Kan verstekfont niet vinden: `%s'" + +#: all-font-metrics.cc:76 +#, c-format msgid "(search path: `%s)'" msgstr "(zoekpad: `%s')" -#: beam-engraver.cc:42 -msgid "No Beam to end" -msgstr "geen Balk te beëidigen" +#: all-font-metrics.cc:77 +msgid "Giving up" +msgstr "Geef op" -#: beam-engraver.cc:58 -msgid "No beam to end" +#: beam-engraver.cc:42 beam-engraver.cc:58 +msgid "no beam to end" msgstr "geen balk te beëindigen" #: beam-engraver.cc:87 @@ -125,78 +133,96 @@ msgid "Already have a Beam" msgstr "Heb al een Balk" #: beam-engraver.cc:149 -msgid "Unfinished beam" -msgstr "Onbeëindigde balk" +msgid "unfinished beam" +msgstr "onbeëindigde balk" #: beam-engraver.cc:174 -msgid "Stem must have Rhythmic structure." -msgstr "Stok moet Ritmische structuur hebben." +msgid "Stem must have Rhythmic structure" +msgstr "Stok moet Ritmische structuur hebben" #: beam-engraver.cc:185 -msgid "stem doesn't fit in beam" -msgstr "stok past niet in balk" +msgid "Stem doesn't fit in beam" +msgstr "Stok past niet in balk" #: beam-engraver.cc:186 -msgid "beam was started here" -msgstr "balk is hier gestart" +msgid "Beam was started here" +msgstr "Balk werd hier gestart" #: beam.cc:147 msgid "beam with less than two stems" msgstr "balk met minder dan twee stokken" #: beam.cc:312 -msgid "weird beam shift, check your knees" -msgstr "vreemde balk verplaatsing, controleer balken" +msgid "weird beam vertical offset" +msgstr "rare verticale balk verplaatsing" -#: break-algorithm.cc:25 +#: break-algorithm.cc:28 msgid "0 lines" msgstr "0 regels" -#: break-algorithm.cc:27 +#: break-algorithm.cc:30 #, c-format msgid "1 line (of %.0f columns)" msgstr "1 regel (van %.0f kolommen)" -#: break-algorithm.cc:29 +#: break-algorithm.cc:32 #, c-format msgid "%d lines (with an average of %.1f columns)" msgstr "%d regels (van gemiddeld %.1f kolommen)" -#: break-algorithm.cc:148 -msgid "score does not have any columns" -msgstr "partituur heeft geen enkele kolom" +#: break-algorithm.cc:155 +msgid "Score does not have any columns" +msgstr "Partituur heeft geen enkele kolom" -#: break-algorithm.cc:165 +#: break-algorithm.cc:172 #, c-format msgid "approximated %s" msgstr "geschat: %s" -#: break-algorithm.cc:167 +#: break-algorithm.cc:174 #, c-format msgid "calculated %s exactly" msgstr "exact berekend: %s" -#: break-algorithm.cc:168 +#: break-algorithm.cc:175 #, c-format msgid "elapsed time %.2f seconds" msgstr "duur: %.2f seconden" #: change-iterator.cc:22 #, c-format -msgid "can't change `%s' to `%s'" -msgstr "kan `%s' niet in `%s' veranderen" +msgid "Can't change `%s' to `%s'" +msgstr "Kan `%s' niet in `%s' veranderen" + +#: change-iterator.cc:57 +msgid "Can't switch translators, I'm there already" +msgstr "Kan niet wisselen van vertaler, ben al hier" + +#. +#. We could change the current translator's id, but that would make +#. errors hard to catch +#. +#. last->translator_id_str_ = change_l ()->change_to_id_str_; +#. +#: change-iterator.cc:76 +msgid "I'm one myself" +msgstr "Ben er zelf een" + +#: change-iterator.cc:79 +msgid "none of these in my family" +msgstr "geen van deze in mijn gezin" #: chord-tremolo-engraver.cc:41 chord-tremolo-engraver.cc:58 -msgid "No abbreviation beam to end" -msgstr "Geen tremolo balk te beëindigen" +msgid "no tremolo beam to end" +msgstr "geen tremolo balk te beëindigen" #: chord-tremolo-engraver.cc:83 -msgid "Already have an abbreviation beam" +msgid "Already have a tremolo beam" msgstr "Heb al een tremolo balk" #: chord-tremolo-engraver.cc:124 -msgid "Unfinished abbreviation beam" -msgstr "Onbeëindigde tremolo balk" +msgid "unfinished tremolo beam" +msgstr "onbeëindigde tremolo balk" #: chord.cc:231 #, c-format @@ -206,11 +232,11 @@ msgstr "ongeldige aftrek: maakt geen deel uit van accoord: %s" #: chord.cc:245 #, c-format msgid "invalid inversion pitch: not part of chord: %s" -msgstr "ongeldige inversie toon: maakt geen deel uit van accoord: %s" +msgstr "ongeldige inversie toon: geen onderdeel van accoord: %s" #: clef-engraver.cc:178 -msgid "unknown clef type " -msgstr "onbekend type sleutel " +msgid "unknown clef type" +msgstr "onbekend type sleutel" #: collision.cc:95 msgid "Too many clashing notecolumns. Ignoring them." @@ -218,31 +244,31 @@ msgstr "Te veel botsende nootkolommen. Negeer ze." #: crescendo.cc:42 msgid "crescendo" -msgstr "" +msgstr "crescendo" #: crescendo.cc:42 msgid "too small" msgstr "te klein" #: debug.cc:56 -msgid "Floating point exception" -msgstr "Drijvende komma uitzondering" +msgid "floating point exception" +msgstr "frijvende komma uitzondering" #: debug.cc:139 -msgid "can't set mem-checking" -msgstr "kan geheugen controle niet zetten" +msgid "Can't set mem-checking!" +msgstr "Kan geheugen controle niet zetten!" #: dimensions.cc:13 msgid "NaN" msgstr "NaN" #: dynamic-engraver.cc:109 -msgid "Got a dynamic already. Continuing dazed and confused" +msgid "Got a dynamic already. Continuing dazed and confused." msgstr "Heb al een dynamiek. Ga verder, verstrooid en verward" #: dynamic-engraver.cc:162 -msgid "can't find (de)crescendo to end" -msgstr "kan te beëindigen (de)crescendo niet vinden" +msgid "Can't find (de)crescendo to end" +msgstr "Kan te beëindigen (de)crescendo niet vinden" #: dynamic-engraver.cc:216 msgid "Too many crescendi here" @@ -260,20 +286,25 @@ msgstr "Boogje over rust?" msgid "" "minVerticalAlign != maxVerticalAlign: interstaff beams/slurs may be broken" msgstr "" -"minVerticalAlign != maxVerticalAlign: balken/boogjes tussen notenbalken " -"kunnen breken" +"minVerticalAlign != maxVerticalAlign: balken/bindingsbogen tussen " +"notenbalken kunnen breken" #: extender-engraver.cc:62 msgid "unterminated extender" msgstr "onbeëindigde extender" +#: extender-engraver.cc:74 +msgid "Nothing to connect extender to on the left. Ignoring extender request." +msgstr "" +"Niets om extender aan linkerkant aan vast te maken. Negeer extender verzoek." + #: folded-repeat-iterator.cc:64 -msgid "No one to print a repeat brace" -msgstr "Niemand om een herhalings haak af te drukken" +msgid "no one to print a repeat brace" +msgstr "niemand om een herhalings haak af te drukken" #: grace-iterator.cc:43 -msgid "No Grace context available!" -msgstr "Geen Grace context voor handen" +msgid "no Grace context available" +msgstr "geen Grace context voor handen" #: grace-position-engraver.cc:89 msgid "Unattached grace notes. Attaching to last musical column." @@ -283,22 +314,24 @@ msgstr "Losse grace noten. Maak ze vast aan vorige muziekale kolom." msgid "unterminated hyphen" msgstr "onafgesloten balk" -#: identifier.cc:46 -msgid "Wrong identifier type: " -msgstr "Verkeerd type identifier: " +#: hyphen-engraver.cc:72 +msgid "Nothing to connect hyphen to on the left. Ignoring hyphen request." +msgstr "" +"Niets om streepje aan linkerkant aan vast te maken. Negeer streepje verzoek." -#: identifier.cc:47 +#: identifier.cc:46 #, c-format -msgid "%s expected" -msgstr "%s verwacht" +msgid "wrong identifier type, expected: `%s'" +msgstr "Verkeerd type identifier: " #: includable-lexer.cc:47 lily-guile.cc:82 lily-guile.cc:105 #: midi-score-parser.cc:24 scores.cc:108 scores.cc:114 #, c-format -msgid "can't find file: `%s'" -msgstr "kan bestand niet vinden: `%s'" +msgid "Can't find file: `%s'" +msgstr "Kan bestand niet vinden: `%s'" #: includable-lexer.cc:49 lookup.cc:104 scores.cc:109 +#, c-format msgid "(search path: `%s')" msgstr "(zoekpad: `%s')" @@ -308,37 +341,58 @@ msgid "Ineq_constrained_qp::solve (): Constraint off by %f" msgstr "Ineq_constrained_qp::solve (): voorwaarde zit er %f naast" #: ineq-constrained-qp.cc:233 -msgid "didn't converge!" -msgstr "convergeerde niet!" +msgid "Didn't converge!" +msgstr "Convergeerde niet!" #: ineq-constrained-qp.cc:235 -msgid "Too much degeneracy. " -msgstr "Te veel degenaratie. " +msgid "too much degeneracy" +msgstr "te veel degenaratie" #: key-def.cc:31 -msgid "No key name: assuming `C'" -msgstr "Geen toonsoort: ga uit van `C'" +msgid "No key name, assuming `C'" +msgstr "Geen toonsoort, ga uit van `C'" #: key-def.cc:92 -msgid "don't know how handle empty keys" -msgstr "weet niet hoe lege toonsoorten te behandelen" +msgid "Don't know how handle empty keys" +msgstr "Weet niet hoe lege toonsoorten te behandelen" + +#: key-engraver.cc:70 key-performer.cc:65 +msgid "FIXME: key change merge" +msgstr "MAAKME: toonsoort sleutel samenvoeging" + +#: key.cc:54 key.cc:59 +#, c-format +msgid "Don't have that many octaves (%s)" +msgstr "Zoveel oktaven heb ik niet (%s)" + +#: key.cc:77 +#, c-format +msgid "underdone accidentals (%s)" +msgstr "onderdreven aantal kruizen/mollen (%s)" + +#: key.cc:82 +#, c-format +msgid "overdone accidentals (%s)" +msgstr "overdreven aantal kruizen/mollen (%s)" #: lily-guile.cc:84 lily-guile.cc:107 #, c-format msgid "(load path: `%s')" msgstr "(zoekpad: `%s')" -#: local-key-engraver.cc:42 -msgid "out of tune" -msgstr "vals" +#: line-of-score.cc:91 +msgid "Huh? Empty Line_of_score?" +msgstr "Huh? Lege Line_of_score?" -#: local-key-engraver.cc:42 time-signature-engraver.cc:28 -msgid "can't find" -msgstr "kan niet vinden" +#: local-key-engraver.cc:42 +msgid "out of tune:" +msgstr "vals:" -#: lookup.cc:103 -msgid "can't find font: `%s'" -msgstr "kan font niet vinden: `%s'" +#: local-key-engraver.cc:43 time-signature-engraver.cc:29 +#: translator-group.cc:437 translator-group.cc:446 +#, c-format +msgid "Can't find: `%s'" +msgstr "Kan niet vinden: `%s'" #: lookup.cc:105 msgid "Aborting" @@ -346,41 +400,25 @@ msgstr "Breek af" #: lookup.cc:436 #, c-format -msgid "Non-matching braces in text `%s', adding braces." -msgstr "Ongepaarde haakjes in tekst `%s', voeg haakje toe." +msgid "Non-matching braces in text `%s', adding braces" +msgstr "Ongepaarde haakjes in tekst `%s', voeg haakjes toe" -#: main.cc:68 -msgid "BASENAME" -msgstr "BASISNAAM" +#: main.cc:71 main.cc:91 +msgid "enable debugging output" +msgstr "maak ontluis uitvoer mogelijk" -#: main.cc:68 -msgid "write output to BASENAME[-x].extension" -msgstr "schrijf uitvoer naar BASISNAME[-x].extensie" +#: main.cc:72 +msgid "EXT" +msgstr "EXT" -#: main.cc:69 main.cc:101 -msgid "show warranty and copyright" -msgstr "toon garantie en copyright" +#: main.cc:72 +msgid "use output format EXT" +msgstr "gebruik uitvoer formaat EXT" -#: main.cc:70 main.cc:92 +#: main.cc:73 main.cc:92 msgid "this help" msgstr "deze hulp" -#: main.cc:71 -msgid "switch on experimental features" -msgstr "zet experimentele kunstjes aan" - -#: main.cc:72 main.cc:91 -msgid "enable debugging output" -msgstr "toon ontluis berichten" - -#: main.cc:73 main.cc:95 -msgid "FILE" -msgstr "BESTAND" - -#: main.cc:73 -msgid "use FILE as init file" -msgstr "gebruik BESTAND als initialisatiebestand" - #: main.cc:74 msgid "DIR" msgstr "DIR" @@ -389,64 +427,83 @@ msgstr "DIR" msgid "add DIR to search path" msgstr "voeg DIR toe aan zoekpad" +#: main.cc:75 main.cc:95 +msgid "FILE" +msgstr "BESTAND" + #: main.cc:75 -msgid "produce midi output only" -msgstr "produceer alleen midi uitvoer" +msgid "use FILE as init file" +msgstr "gebruik BESTAND als initialisatiebestand" #: main.cc:76 msgid "write Makefile dependencies for every input file" msgstr "schrijf Makefile afhankelijkheden voor elk invoerbestand" -#: main.cc:77 main.cc:99 -msgid "don't timestamp the output" -msgstr "geen tijdstempel in de uitvoer" +#: main.cc:77 +msgid "produce MIDI output only" +msgstr "produceer alleen MIDI uitvoer" + +#: main.cc:78 +msgid "BASENAME" +msgstr "BASISNAAM" #: main.cc:78 +msgid "write output to BASENAME[-x].extension" +msgstr "schrijf uitvoer naar BASISNAAM[-x].extensie" + +#: main.cc:79 msgid "show all changes in relative syntax" msgstr "toon veranderingen voor relatieve mode" -#: main.cc:79 -msgid "ignore mudela version" -msgstr "verkeerde mudela versie: %s (%s, %s)" +#: main.cc:80 +msgid "inhibit file output naming and exporting" +msgstr "verbied naamgeving van uitvoer bestand en exportering" -#: main.cc:80 main.cc:103 -msgid "print version number" -msgstr "toon versienummer" +#: main.cc:81 main.cc:99 +msgid "don't timestamp the output" +msgstr "geen tijdstempel in de uitvoer" -#: main.cc:81 -msgid "EXT" -msgstr "EXT" +#: main.cc:82 +msgid "switch on experimental features" +msgstr "zet experimentele kunstjes aan" -#: main.cc:81 -msgid "use output format EXT" -msgstr "gebruik uitvoer formaat EXT" +#: main.cc:83 +msgid "ignore mudela version" +msgstr "negeer mudela versie" -#: main.cc:82 -msgid "inhibit file output naming and exporting" -msgstr "verbiedt naamgeving van uitvoer bestand en TeX macro's" +#: main.cc:84 main.cc:100 +msgid "print version number" +msgstr "druk versienummer af" + +#: main.cc:85 main.cc:102 +msgid "show warranty and copyright" +msgstr "toon garantie en copyright" -#: main.cc:89 +#: main.cc:92 #, c-format msgid "Usage: %s [OPTION]... [FILE]..." msgstr "Gebruik: %s [OPTIE]... [BESTAND]..." -#: main.cc:91 -msgid "Typeset music and or play MIDI from FILE." -msgstr "Zet muziek en of speel MIDI van FILE of " +#: main.cc:94 +msgid "Typeset music and or play MIDI from FILE" +msgstr "Zet muziek en of speel MIDI van BESTAND" -#: main.cc:97 main.cc:115 +#: main.cc:100 main.cc:115 msgid "Options:" msgstr "Opties:" -#: main.cc:101 +#: main.cc:104 msgid "This binary was compiled with the following options:" msgstr "Dit programma is vertaald met de volgende instellingen:" -#: main.cc:119 -msgid "Report bugs to" -msgstr "Rapporteer bugs naar" +#: main.cc:119 main.cc:123 +#, c-format +msgid "Report bugs to %s" +msgstr "" +"Meld luizen in het programma aan %s;\n" +"meld onjuistheden in de vertaling aan of " -#: main.cc:52 main.cc:135 +#: main.cc:52 main.cc:137 #, c-format msgid "" "This is free software. It is covered by the GNU General Public License,\n" @@ -458,17 +515,17 @@ msgstr "" "onder bepaalde voorwaarden. Roep aan als `%s --warranty' voor meer\n" "informatie.\n" -#: main.cc:59 main.cc:142 main.cc:154 +#: main.cc:59 main.cc:144 main.cc:156 #, c-format msgid "Copyright (c) %s by" msgstr "Copyright (c) %s " #. GNU GNU? -#: main.cc:152 +#: main.cc:154 msgid "GNU LilyPond -- The GNU Project music typesetter" msgstr "GNU LilyPond -- De Muziekzetter van het GNU Project" -#: main.cc:68 main.cc:160 +#: main.cc:68 main.cc:162 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" @@ -500,8 +557,8 @@ msgstr "" #: midi-item.cc:303 #, c-format -msgid "No such instrument: `%s'" -msgstr "Geen zulks instrument: `%s'" +msgid "no such instrument: `%s'" +msgstr "geen dergelijk instrument: `%s'" #: midi-item.cc:357 #, c-format @@ -517,44 +574,49 @@ msgid "silly pitch" msgstr "rare toonhoogte" #: midi-stream.cc:29 paper-stream.cc:36 -msgid "error syncing file (disk full?)" -msgstr "fout by synchroniseren van bestand (disk vol?)" +msgid "Error syncing file (disk full?)" +msgstr "Fout by synchroniseren van bestand (disk vol?)" #: music-output-def.cc:56 msgid "Interpretation context with empty type" -msgstr "Vertaal context met leeg type" +msgstr "Vertolk context met leeg type" #: music-output-def.cc:83 -msgid "can't find Score context" -msgstr "kan Score context niet vinden" +#, c-format +msgid "Can't find `%s' context" +msgstr "Kan `%s' context niet vinden" #: musical-request.cc:42 #, c-format -msgid "transposition by %s makes accidental larger than two" -msgstr "transpositie van %s geeft tripel kruizen/mollen " +msgid "Transposition by %s makes accidental larger than two" +msgstr "Transponering van %s geeft tripel kruizen/mollen" #: my-lily-lexer.cc:137 #, c-format msgid "redeclaration of `\\%s'" -msgstr "`\\%s' wordt opnieuw gedeclareerd" +msgstr "`herdeclaratie van `\\%s'" #: my-lily-lexer.cc:143 #, c-format -msgid "Identifier name is a keyword (`%s')" -msgstr "Identifier naam is een sleutelwoord (`%s')" +msgid "Identifier name is a keyword: `%s'" +msgstr "Identifier naam is een sleutelwoord: `%s'" #: my-lily-lexer.cc:172 #, c-format msgid "error at EOF: %s" msgstr "fout bij EOF: %s" -#: my-lily-parser.cc:60 +#: midi-score-parser.cc:94 my-lily-parser.cc:60 msgid "Parsing..." msgstr "Ontleden..." #: my-lily-parser.cc:69 -msgid "braces don't match" -msgstr "haakjes paren niet" +msgid "Braces don't match" +msgstr "Haakjes paren niet" + +#: p-col.cc:48 +msgid "Must set spring between differing columns" +msgstr "Moet veertje zetten tussen verschillende kolommen" #: paper-def.cc:95 #, c-format @@ -567,25 +629,25 @@ msgstr "niet een re #. for now; breaks -fscm output #: paper-def.cc:251 -msgid "outputting Score, defined at: " -msgstr "uitvoer Score, gedefinieerd op: " +msgid "Outputting Score, defined at: " +msgstr "Uitvoer van Score, gedefinieerd op: " #: paper-def.cc:280 #, c-format -msgid "Paper output to %s..." -msgstr "Papier uitvoer naar %s..." +msgid "paper output to %s..." +msgstr "papier uitvoer naar %s..." -#: mudela-stream.cc:85 paper-outputter.cc:76 performance.cc:97 +#: mudela-stream.cc:86 paper-outputter.cc:76 performance.cc:97 msgid ", at " msgstr ", bij " #: paper-outputter.cc:130 #, c-format -msgid "Improbable offset for object type `%s'" -msgstr "Onwaarschijnlijke verschuiving voor object type `%s'" +msgid "improbable offset for object type: `%s'" +msgstr "onwaarschijnlijke verschuiving voor object type: `%s'" #: paper-score.cc:131 -msgid "Can't solve this casting problem exactly; revert to Word_wrap" +msgid "Can't solve this casting problem exactly; reverting to Word_wrap" msgstr "Kan breekprobleem niet exact oplossen; verval naar Word_wrap" #: paper-score.cc:156 @@ -597,8 +659,9 @@ msgid "Calculating column positions..." msgstr "Berekenen van kolomposities..." #: paper-score.cc:179 -msgid " elements. " -msgstr " elementen. " +#, c-format +msgid "%s elements" +msgstr "%s elementen" #: paper-score.cc:182 msgid "Line ... " @@ -631,10 +694,14 @@ msgstr "MIDI uitvoer naar %s..." msgid "degenerate constraints" msgstr "voorwaarde is gedegenerederd" +#: repeat-engraver.cc:177 +msgid "No bar engraver found. Ignoring repeats." +msgstr "Geen bar engraver gevonden. Negeer herhalingen." + #: request-chord-iterator.cc:73 #, c-format -msgid "junking request: `%s'" -msgstr "schroot verzoek: `%s'" +msgid "Junking request: `%s'" +msgstr "Schroot verzoek: `%s'" #: request-chord-iterator.cc:76 #, c-format @@ -642,17 +709,17 @@ msgid "Huh? Not a Request: `%s'" msgstr "Huh? Geen Request: `%s'" #: rest-collision.cc:64 -msgid "Too many colliding rests." -msgstr "Te veer botsende rusten." +msgid "too many colliding rests" +msgstr "te veel botsende rusten" #: rest-collision.cc:68 -msgid "Too many notes for rest collision." -msgstr "Te veel noten voor bosting met rusten." +msgid "too many notes for rest collision" +msgstr "te veel noten voor bosting met rusten" #: score-engraver.cc:149 #, c-format -msgid "Unbound spanner `%s'" -msgstr "Vrijgezelle spanner `%s'" +msgid "unbound spanner `%s'" +msgstr "ongebonden spanner `%s'" #: score.cc:56 msgid "no toplevel translator" @@ -663,146 +730,153 @@ msgid "Interpreting music..." msgstr "Vertolken van muziek..." #: score.cc:70 -msgid "need music in a score" -msgstr "zonder muziek geen partituur" +msgid "Need music in a score" +msgstr "Heb muziek nodig in een partituur" #. should we? hampers debugging. #: score.cc:83 -msgid "errors found, /*not processing score*/" -msgstr "fouten gevonden, /*verwerk partituur niet */" +msgid "Errors found/*, not processing score*/" +msgstr "Fouten gevonden, /*verwerk partituur niet */" #: score.cc:88 #, c-format -msgid "time: %.2f seconds" +msgid "elapsed time: %.2f seconds" msgstr "duur: %.2f seconden" #: scores.cc:35 #, c-format -msgid "writing dependency file: `%s'..." -msgstr "schijven van afhankelijkheden bestand: `%s'..." +msgid "Writing dependency file: `%s'..." +msgstr "Schijven van afhankelijkheden bestand: `%s'..." #: scores.cc:79 -msgid "score contains errors; will not process it" -msgstr "partituur bevat fouten; zal hem niet verwerken" +msgid "Score contains errors; will not process it" +msgstr "Partituur bevat fouten; zal hem niet verwerken" #: script-engraver.cc:49 #, c-format -msgid "don't know how to interpret articulation `%s'\n" -msgstr "" +msgid "Don't know how to interpret articulation `%s'" +msgstr "Weet niet hoe articulatie te vertolken `%s'" + +#: sequential-music-iterator.cc:82 +msgid "Must stop before this music ends" +msgstr "Moet stoppen voordat deze muziek ophoudt" #. this shouldn't happen, but let's continue anyway. #: single-malt-grouping-item.cc:43 -msgid "Single_malt_grouping_item: I've been drinking too much" -msgstr "" +msgid "Single_malt_grouping_item: I've been drinking too much" +msgstr "Single_malt_grouping_item: Ik heb te veel gedronken" #: slur-engraver.cc:64 msgid "unterminated slur" -msgstr "onbeëindigde boog" +msgstr "onbeëindigde bindingsboog" #: slur-engraver.cc:80 #, c-format -msgid "can't find both ends of %s" -msgstr "kan uiteinden van %s niet beide vinden" +msgid "Can't find both ends of %s" +msgstr "Kan niet beide uiteinden van %s vinden" #: slur-engraver.cc:80 msgid "slur" -msgstr "boog" +msgstr "bindingsboog" #: slur.cc:38 -msgid "Putting slur over rest. Ignoring" -msgstr "" - -#: spacing-spanner.cc:218 -#, c-format -msgid "can't find a ruling note at %s" -msgstr "" - -#: spacing-spanner.cc:224 -#, c-format -msgid "no minimum in measure at %s" -msgstr "" +msgid "Putting slur over rest. Ignoring." +msgstr "Zet bindingsboog over rust. Negeer." #: spanner.cc:41 -msgid "left spanpoint is right spanpoint\n" -msgstr "" +msgid "Left spanpoint is right spanpoint" +msgstr "Linker spanpunt is rechter spanpunt" #: spanner.cc:111 #, c-format -msgid "Spanner `%s' with equal left and right spanpoints" -msgstr "" +msgid "Spanner `%s' has equal left and right spanpoints" +msgstr "Spanner `%s' heeft gelijke linker en rechter spanpunten" + +#: spanner.cc:143 +msgid "spanner with negative length" +msgstr "spanner met negatieve lengte" #: spring-spacer.cc:134 msgid "I'm too fat; call Oprah" -msgstr "" +msgstr "Ben te dik; roep Catherine" -#: spring-spacer.cc:295 -msgid "solution doesn't satisfy constraints" -msgstr "" +#: spring-spacer.cc:299 +msgid "Solution doesn't satisfy constraints" +msgstr "Oplossing voldoet niet aan voorwaarden" -#: spring-spacer.cc:378 +#: spring-spacer.cc:400 #, c-format msgid "Improbable distance: %f point, setting to 10 mm" -msgstr "" +msgstr "Onwaarschijnlijke afstand: %f punten, zet op 10 mm" -#: spring-spacer.cc:383 -msgid "Negative distance. Setting to 10 mm" -msgstr "" +#: spring-spacer.cc:405 +msgid "Negative distance, setting to 10 mm" +msgstr "Negatieve afstand, zet op 10 mm" #: stem-engraver.cc:80 #, c-format msgid "Adding note head to incompatible stem (type = %d)" -msgstr "" +msgstr "Voeg noot bolletje toe aan onverenigbare stok (type = %s)" + +#: stem.cc:26 +msgid "stem direction set already!" +msgstr "stokrichting is al gezet!" #: stem.cc:106 -msgid "weird stem size; check for narrow beams" -msgstr "vreemde stoklengte; controleer op krappe balken" +msgid "Weird stem size; check for narrow beams" +msgstr "Vreemde stoklengte; controleer op krappe balken" #: tfm-reader.cc:108 #, c-format msgid "TFM header of `%s' has only %u word(s)" -msgstr "" +msgstr "TFM kop van `%s' heeft slechts %u woord(en)" #: tfm-reader.cc:146 #, c-format -msgid "%s: TFM file has %u parameters, which is more than the" +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:64 #, c-format -msgid "can't find ascii character `%d'" -msgstr "" +msgid "Can't find ascii character: `%d'" +msgstr "Kan teken niet vinden, genaamd: `%s'" + +#: tie-engraver.cc:91 +msgid "unequal number of note heads for tie" +msgstr "ongelijk aantal notebolletjes voor overbinding" #: tie-engraver.cc:155 tie-performer.cc:106 msgid "No ties were created!" -msgstr "" +msgstr "Geen overbindingen geschapen!" #: tie.cc:55 msgid "lonely tie" -msgstr "" +msgstr "eenzame overbinding" #: time-description.cc:17 msgid "cadenza" msgstr "cadens" #: time-description.cc:106 -msgid "partial measure must be non-negative" -msgstr "" +msgid "Partial measure must be non-negative" +msgstr "Deelmaat moet niet-negatief zijn" #: time-description.cc:108 msgid "partial measure too large" -msgstr "" +msgstr "deelmaat te groot" #: time-scaled-music-iterator.cc:25 -msgid "No one to print a tuplet start bracket" -msgstr "" +msgid "no one to print a tuplet start bracket" +msgstr "niemand om een x-ool start haak af te drukken" #: time-signature-engraver.cc:28 -msgid "lost in time" -msgstr "hoe laat is het" +msgid "lost in time:" +msgstr "verdwaald in de tijd:" #: timing-translator.cc:26 msgid "conflicting timing request" -msgstr "" +msgstr "strijdig timing verzoek" #: timing-translator.cc:62 msgid "time signature change not allowed here" @@ -810,58 +884,53 @@ msgstr "maatwisseling is hier niet geoorloofd" #: timing-translator.cc:83 #, c-format -msgid "barcheck failed by: %s" -msgstr "misplaatste maatstreep: %s" +msgid "barcheck failed at: %s" +msgstr "maatstreep controle gefaald op: %s" #: translator-ctors.cc:39 #, c-format -msgid "unknown translator `%s'" -msgstr "" +msgid "unknown translator: `%s'" +msgstr "onbekende papier varanderlijke: `%s'" + +#: translator-group.cc:78 translator-group.cc:91 +msgid "Program has no such type" +msgstr "Programma heeft geen dergelijk type" #: translator-group.cc:82 translator-group.cc:97 #, c-format -msgid "Already contains a `%s'" -msgstr "" +msgid "Already contains: `%s'" +msgstr "Bevat reeds: `%s'" #: translator-group.cc:207 #, c-format -msgid "can't find or create `%s' called `%s'" -msgstr "" +msgid "Can't find or create `%s' called `%s'" +msgstr "Kan niet vinden of scheppen `%s' genaamd `%s'" #: translator-group.cc:341 #, c-format -msgid "can't find or create `%s'" -msgstr "" - -#: translator-group.cc:437 translator-group.cc:446 -#, c-format -msgid "can't find `%s'" -msgstr "kan niet vinden `%s'" +msgid "Can't find or create: `%s'" +msgstr "Kan niet vinden of scheppen: `%s'" #: transposed-music.cc:31 msgid "Will ignore \\relative for transposed music" msgstr "Zal \\relative negeren voor getransponeerde muziek" #: unfolded-repeat-iterator.cc:145 -msgid "No one to print a volta bracket" -msgstr "" +msgid "no one to print a volta bracket" +msgstr "niemand om een volta haak af te drukken" #: word-wrap.cc:75 -msgid "ugh, this measure is too long" -msgstr "ugh, deze maat is te lang" - -#: word-wrap.cc:76 #, c-format -msgid "breakpoint: %d" -msgstr "" +msgid "Ugh, this measure is too long, breakpoint: %d" +msgstr "Ugh, deze maat is te lang, breukpunt: %d" #: word-wrap.cc:77 -msgid "generating stupido solution" -msgstr "" +msgid "Generating stupido solution" +msgstr "Genereer sullige oplossing" #: word-wrap.cc:95 msgid "I don't fit; put me on Montignac" -msgstr "Ik ben te dik." +msgstr "Ik ben te dik; zet me op Montignac" #: parser.yy:55 #, c-format @@ -869,74 +938,91 @@ msgid "Oldest supported input version: %s" msgstr "Oudst ondersteunde invoer versie: %s" #: parser.yy:313 -msgid "Cannot evaluate Scheme in safe mode" -msgstr "" +msgid "Can't evaluate Scheme in safe mode" +msgstr "Kan Scheme niet evalueren in veilige modus" #: parser.yy:433 parser.yy:441 parser.yy:465 msgid "Need a translator group for a context" -msgstr "" +msgstr "Heb een translator groep nodig voor een context" #: parser.yy:459 msgid "Wrong type for property value" -msgstr "" +msgstr "Verkeerd type voor property waarde" #: parser.yy:515 msgid "More than one music block" +msgstr "Meer dan een muziekblok" + +#: parser.yy:575 +msgid "Need even number of args for shape array" +msgstr "Heb even aantal argumenten nodig voor shape array" + +#: parser.yy:723 +msgid "More alternatives than repeats. Junking excess alternatives." msgstr "" +"Meer alternatieven dan herhalingen. Schroot overvloedige alternatieven." #: parser.yy:946 parser.yy:1360 parser.yy:1380 #, c-format msgid "not a duration: %d" -msgstr "is geen duur: %d" +msgstr "geen duur: %d" #: parser.yy:948 parser.yy:1382 -msgid "can't abbreviate" -msgstr "" +msgid "Can't abbreviate" +msgstr "Kan niet afkorten" + +#: parser.yy:1076 +msgid "Can't specify direction for this request" +msgstr "Kan richting voor dit verzoek niet specificeren" #: parser.yy:1211 parser.yy:1219 parser.yy:1444 -msgid "have to be in Lyric mode for lyrics" -msgstr "" +msgid "Have to be in Lyric mode for lyrics" +msgstr "Moet in Lyric modus zijn voor liedteksten" #: parser.yy:1391 -msgid "have to be in Note mode for notes" -msgstr "" +msgid "Have to be in Note mode for notes" +msgstr "Moet in Note modus zijn voor noten" #: parser.yy:1403 -msgid "can't abbreviate tuplet" -msgstr "" +msgid "Can't abbreviate tuplet" +msgstr "Kan x-ool niet afkorten" #: parser.yy:1450 -msgid "have to be in Chord mode for chords" -msgstr "" +msgid "Have to be in Chord mode for chords" +msgstr "Moet in Chord modus zijn voor accoorden" #: lexer.ll:155 msgid "EOF found inside a comment" -msgstr "" +msgstr "EOF gevonden in een kommentaar" + +#: lexer.ll:169 +msgid "\\maininput disallowed outside init files" +msgstr "\\maininput niet toegestaan buiten init bestanden" #: lexer.ll:199 #, c-format msgid "undefined identifier: `%s'" -msgstr "" +msgstr "ongedefiniëerde idendifier: `%s'" #. backup rule #: lexer.ll:204 -msgid "missing end quote" -msgstr "" +msgid "Missing end quote" +msgstr "Aanhalingsteken sluiten mist" #. backup rule #: lexer.ll:227 lexer.ll:231 msgid "white expected" -msgstr "" +msgstr "wit verwacht" #: lexer.ll:401 #, c-format msgid "invalid character: `%c'" -msgstr "" +msgstr "ongeldig teken: `%c'" #: lexer.ll:457 #, c-format msgid "unknown escaped string: `\\%s'" -msgstr "" +msgstr "onbekende ontsnapte string: `\\%s'" #: lexer.ll:543 #, c-format @@ -967,15 +1053,15 @@ msgstr "zet toonsoort: ACC +kruizen/-mollen; :1 mineur" #: main.cc:94 msgid "assume no tuplets or double dots, smallest is 32" -msgstr "ga niet uit van tuplets of dubbel gepunkteerd, kortste is 32" +msgstr "ga niet uit van n-olen of dubbel gepunkteerd, kortste is 32" #: main.cc:95 msgid "set FILE as default output" -msgstr "zet BESTAND als verval uitvoer" +msgstr "zet BESTAND als verstek uitvoer" #: main.cc:96 msgid "assume no tuplets" -msgstr "ga niet uit van tuplets" +msgstr "ga niet uit van n-olen" #: main.cc:97 msgid "be quiet" @@ -986,14 +1072,14 @@ msgid "DUR" msgstr "DUUR" #: main.cc:98 -msgid "Set smallest duration (?)" -msgstr "Zet kortste duur (?)" +msgid "set smallest duration" +msgstr "zet kortste duur" -#: main.cc:100 +#: main.cc:101 msgid "be verbose" msgstr "wees breedsprakig" -#: main.cc:102 +#: main.cc:103 msgid "assume no double dotted notes" msgstr "ga niet uit van dubbel gepunkteerde noten" @@ -1003,129 +1089,124 @@ msgid "Usage: %s [OPTION]... [FILE]" msgstr "Gebruik: %s [OPTIE]... [BESTAND]" #: main.cc:112 -msgid "Translate midi-file to mudela" -msgstr "Vertaal midi-bestand naar mudela" +msgid "Translate MIDI-file to mudela" +msgstr "Vertaal MIDI-bestand naar mudela" #: midi-parser.cc:64 msgid "zero length string encountered" -msgstr "" +msgstr "nul-lengte string tegengekomen" #: midi-score-parser.cc:44 msgid "MIDI header expected" -msgstr "" +msgstr "MIDI kop verwacht" #: midi-score-parser.cc:49 -msgid "Invalid header length" -msgstr "" +msgid "invalid header length" +msgstr "ongeldige koplengte" #: midi-score-parser.cc:52 -msgid "Invalid midi format" -msgstr "" +msgid "invalid MIDI format" +msgstr "ongeldig MIDI formaat" #: midi-score-parser.cc:55 -msgid "Invalid number of tracks" -msgstr "" - -#: midi-score-parser.cc:58 -#, c-format -msgid "can't handle %s" -msgstr "" +msgid "invalid number of tracks" +msgstr "ongeldig aantal sporen" #: midi-score-parser.cc:58 -msgid "non-metrical time" -msgstr "" - -#: midi-score-parser.cc:94 -msgid "Parsing...\n" -msgstr "" +msgid "Can't handle non-metrical time" +msgstr "Kan niet-metrische tijd niet aan" #: midi-track-parser.cc:68 #, c-format -msgid "junking note-end event: channel = %d, pitch = %d" -msgstr "" +msgid "Junking note-end event: channel = %d, pitch = %d" +msgstr "Schroot noot-eind gebeurtenis: kanaal = %d, toonhoogte = %d" #: midi-track-parser.cc:124 msgid "invalid running status" -msgstr "" +msgstr "ongeldige lopende status" #: midi-track-parser.cc:328 msgid "unimplemented MIDI meta-event" -msgstr "" +msgstr "ongeïmplementeerde MIDI meta-gebeurtenis" #: midi-track-parser.cc:333 msgid "invalid MIDI event" -msgstr "" +msgstr "ongeldige MIDI gebeurtenis" #: midi-track-parser.cc:348 msgid "MIDI track expected" -msgstr "" +msgstr "MIDI spoor verwacht" #: midi-track-parser.cc:353 msgid "invalid track length" -msgstr "" +msgstr "ongeldige spoorlengte" #: mudela-item.cc:160 #, c-format msgid "#32 in quarter: %d" -msgstr "" +msgstr "#32 in kwart: %d" #: mudela-score.cc:108 #, c-format msgid "Lily output to %s..." -msgstr "" +msgstr "Lelie uitvoer naar %s..." -#: mudela-score.cc:119 mudela-score.cc:168 -msgid "track " -msgstr "" +#: mudela-score.cc:119 +#, c-format +msgid "track %d:" +msgstr "spoor %d:" #: mudela-score.cc:155 msgid "Processing..." -msgstr "" +msgstr "Verwerken..." #: mudela-score.cc:164 msgid "Creating voices..." -msgstr "" +msgstr "Scheppen van stemmen..." + +#: mudela-score.cc:168 +msgid "track " +msgstr "spoor " #: mudela-score.cc:177 msgid "NOT Filtering tempo..." -msgstr "" +msgstr "NIET Filteren van tempo..." #: mudela-score.cc:186 msgid "NOT Quantifying columns..." -msgstr "" +msgstr "NIET Kwantificeren van kolommen..." #: mudela-score.cc:190 msgid "Quantifying columns..." -msgstr "" +msgstr "Kwantificeren van kolommen..." #: mudela-score.cc:223 msgid "Settling columns..." -msgstr "" +msgstr "Zetten van kolommen..." -#: mudela-staff.cc:111 -#, c-format -msgid "% midi copyright:" -msgstr "" +#: mudela-staff.cc:177 +msgid "% MIDI copyright:" +msgstr "% MIDI copyright:" -#: mudela-staff.cc:112 -#, c-format -msgid "% instrument:" -msgstr "" +#: mudela-staff.cc:178 +msgid "% MIDI instrument:" +msgstr "% MIDI instrument:" #: mudela-stream.cc:37 #, c-format msgid "lily indent level: %d" -msgstr "" +msgstr "lelie inspring diepte: %d" -#: mudela-stream.cc:75 +#. Maybe better not to translate these? +#: mudela-stream.cc:76 msgid "% Creator: " -msgstr "" +msgstr "% Schepper: " -#: mudela-stream.cc:80 +#: mudela-stream.cc:81 msgid "% Automatically generated" -msgstr "" +msgstr "% Automatisch gegenereerd" -#: mudela-stream.cc:89 +#: mudela-stream.cc:90 #, c-format msgid "% from input file: " -msgstr "" +msgstr "% van invoerbestand: "