]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'master' of ssh://jomand@git.sv.gnu.org/srv/git/lilypond
authorJohn Mandereau <john.mandereau@gmail.com>
Sat, 24 Feb 2007 11:37:05 +0000 (12:37 +0100)
committerJohn Mandereau <john.mandereau@gmail.com>
Sat, 24 Feb 2007 11:37:05 +0000 (12:37 +0100)
* 'master' of ssh://jomand@git.sv.gnu.org/srv/git/lilypond:
  Unset BarNumber outside-staff-priority by default.
  Take padding into account while doing stretching
  Rework skyline algorithm for a more compact representation and less fuzzy
  trivial formatting
  thinko
  Rename staff refpoints

31 files changed:
Documentation/GNUmakefile
Documentation/fr/user/advanced-notation.itely
Documentation/fr/user/basic-notation.itely
Documentation/fr/user/changing-defaults.itely
Documentation/fr/user/cheatsheet.itely
Documentation/fr/user/converters.itely
Documentation/fr/user/dedication.itely [new file with mode: 0644]
Documentation/fr/user/instrument-notation.itely
Documentation/fr/user/introduction.itely
Documentation/fr/user/lilypond-book.itely
Documentation/fr/user/lilypond.tely
Documentation/fr/user/literature.itely
Documentation/fr/user/non-music.itely
Documentation/fr/user/notation-appendices.itely
Documentation/fr/user/preface.itely
Documentation/fr/user/programming-interface.itely
Documentation/fr/user/putting.itely
Documentation/fr/user/running.itely
Documentation/fr/user/scheme-tutorial.itely
Documentation/fr/user/spacing.itely
Documentation/fr/user/templates.itely
Documentation/fr/user/tutorial.itely
Documentation/fr/user/tweaks.itely
Documentation/po/GNUmakefile
Documentation/po/fr.po
Documentation/po/lilypond-doc.pot
buildscripts/add_html_footer.py
buildscripts/langdefs.py
buildscripts/texi-langutils.py
buildscripts/texi-skeleton-update.py [new file with mode: 0644]
buildscripts/www_post.py

index cd96e38b5b61630c6bf3404be337826b59136442..2b5940745ca9f0659eec7c809db3c5682372176c 100644 (file)
@@ -29,6 +29,9 @@ OUT_TXT_FILES = $(addprefix $(outdir)/, $(addsuffix .txt, $(README_TOP_FILES)))
 txt-to-html:
        $(PYTHON) $(step-bindir)/text2html.py $(OUT_TXT_FILES)
 
+po-update:
+       make -C po po-update
+
 ifneq ($(ISOLANG),)
 new-lang:
        @if (( $$(file -b $(ISOLANG)) == directory )) 2>/dev/null; \
@@ -39,7 +42,7 @@ new-lang:
        cp fr/GNUmakefile $(ISOLANG)
        cp fr/user/GNUmakefile $(ISOLANG)/user
        sed -i -e 's/ISOLANG *= *fr/ISOLANG = $(ISOLANG)/' $(ISOLANG)/GNUmakefile $(ISOLANG)/user/GNUmakefile
-       $(PYTHON) $(buildscript-dir)/texi-langutils.py -d $(outdir) -b "UNTRANSLATED NODE: IGNORE ME" -o doc.pot --skeleton --gettext ../user/lilypond.tely
+       $(PYTHON) $(buildscript-dir)/texi-langutils.py -d $(outdir) -b "UNTRANSLATED NODE: IGNORE ME" -l $(ISOLANG) -o doc.pot --skeleton --gettext ../user/lilypond.tely
        mv $(outdir)/*.*tely $(ISOLANG)/user
        msgmerge -U po/lilypond-doc.pot $(outdir)/doc.pot
        cp po/lilypond-doc.pot po/$(ISOLANG).po
@@ -47,4 +50,8 @@ new-lang:
 
 check-translation:
        find $(ISOLANG)/user/ -name '*.*tely' | xargs $(PYTHON) $(buildscript-dir)/check_translation.py $(buildscript-dir)
+
+skeleton-update:
+       $(PYTHON) $(buildscript-dir)/texi-langutils.py -d $(outdir) -b "UNTRANSLATED NODE: IGNORE ME" -l $(ISOLANG) --skeleton ../user/lilypond.tely
+       $(PYTHON) $(buildscript-dir)/texi-skeleton-update.py $(ISOLANG)/user $(outdir)
 endif
index 8481a50e3f7678b3cb73abfe00f13738d5976623..adec14d979791486f65639d7e851f2ecefa5739d 100644 (file)
@@ -1,12 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: ac7d0e72b32b6a11470f598f2bee180b11402fe8
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node Advanced notation
 @chapter Advanced notation
 
@@ -26,6 +28,7 @@ UNTRANSLATED NODE: IGNORE ME
 
 @menu 
 * Text scripts::
+* Text and line spanners::
 * Text spanners::
 * Text marks::
 * Text markup::
@@ -39,6 +42,11 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+@node Text and line spanners
+@subsection Text and line spanners
+
+UNTRANSLATED NODE: IGNORE ME
+
 @node Text spanners
 @subsection Text spanners
 
@@ -64,6 +72,7 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+@include markup-commands.tely
 @node Font selection
 @subsection Font selection
 
@@ -174,7 +183,7 @@ UNTRANSLATED NODE: IGNORE ME
 @menu 
 * Polymetric notation::
 * Time administration::
-* Proportional notation::
+* Proportional notation (introduction)::
 * Clusters::
 * Special noteheads::
 * Feathered beams::
@@ -191,8 +200,8 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
-@node Proportional notation
-@subsection Proportional notation
+@node Proportional notation (introduction)
+@subsection Proportional notation (introduction)
 
 UNTRANSLATED NODE: IGNORE ME
 
@@ -282,3 +291,7 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index 1e545e2047fb789e4035aeaf677691f777c2ad70..3d7d20d517c21a43e56dc0b0241cb51cb819b842 100644 (file)
@@ -1,4 +1,4 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
     Translation of GIT committish: 0bf1e119501727ab8217767d8ce6c29dedf4fed1
index 15345c1a601edf2c714963b40c74259ec24afe53..dc92c26f357ceb848107a9000df52d05d8459b20 100644 (file)
@@ -1,12 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: ac7d0e72b32b6a11470f598f2bee180b11402fe8
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node Changing defaults
 @chapter Changing defaults
 
@@ -49,9 +51,8 @@ UNTRANSLATED NODE: IGNORE ME
 * Layout tunings within contexts::
 * Changing context default settings::
 * Defining new contexts::
-* Aligning contexts::           
+* Aligning contexts::
 @end menu 
-
 @node Contexts explained
 @subsection Contexts explained
 
@@ -141,3 +142,7 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index 0e1c151288bb2ee0a2929c0bd8b3243e284c6fcf..ffea26473ed8f60bbe5160d2fa06cf93df370ac7 100644 (file)
@@ -1,14 +1,20 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: ac7d0e72b32b6a11470f598f2bee180b11402fe8
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node Cheat sheet
 @appendix Cheat sheet
 
 UNTRANSLATED NODE: IGNORE ME
 
+
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index 93a51dbe276322cc66b32f7220479a5aad291dd3..563d69e0d16798d3639bc9dca282e19d20d53824 100644 (file)
@@ -1,12 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 0d9d3feea8ca1b22388bd1c67545a518987e72f1
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node Converting from other formats
 @chapter Converting from other formats
 
@@ -44,3 +46,7 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
diff --git a/Documentation/fr/user/dedication.itely b/Documentation/fr/user/dedication.itely
new file mode 100644 (file)
index 0000000..285b005
--- /dev/null
@@ -0,0 +1,16 @@
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
+@c This file is part of lilypond.tely
+@ignore
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
+
+    When revising a translation, copy the HEAD committish of the
+    version that you are working on.  See TRANSLATION for details.
+@end ignore
+
+@quotation
+Nous souhaitons dédier ce programme à tous les amis que nous avons
+rencontrés par la musique.
+
+Han-Wen et Jan
+@end quotation
index 46ce66be5769e7d66aa74dee2bce7ccd2cc36656..178e14cc25821c7c38665383584957032ecf0c4d 100644 (file)
@@ -1,12 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: ac7d0e72b32b6a11470f598f2bee180b11402fe8
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node Instrument-specific notation
 @chapter Instrument-specific notation
 
@@ -179,6 +181,11 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+@subsubsection Adding stanza numbers 
+@subsubsection Adding dynamics marks
+@subsubsection Adding singer names
+@subsubsection Printing stanzas at the end 
+@subsubsection Printing stanzas at the end in multiple columns 
 @node Ambitus
 @subsection Ambitus
 
@@ -406,3 +413,7 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index 6a80897383732f75f25cf5fde50637c78f88d6a5..6407dc2736ed7c54bc8c212b145b225c5b407a8d 100644 (file)
@@ -1,4 +1,4 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
     Translation of GIT committish: 94e27fe2da58c91791e1cacb32c16a4acccf0638
index 5f740da1ab0384d53ee84fe250cc302c62196ae8..5ca700307768e8fee7d32e88b585ad182982d604 100644 (file)
@@ -1,14 +1,16 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: ac7d0e72b32b6a11470f598f2bee180b11402fe8
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node LilyPond-book
-@chapter @command{lilypond-book}: Integrating text and music
+@chapter 
 
 UNTRANSLATED NODE: IGNORE ME
 
@@ -22,7 +24,7 @@ UNTRANSLATED NODE: IGNORE ME
 * Invoking lilypond-book::
 * Filename extensions::
 * Many quotes of a large score::
-* Inserting LilyPond output into OpenOffice.org::  
+* Inserting LilyPond output into OpenOffice.org::
 * Inserting LilyPond output into other programs::
 @end menu 
 @node An example of a musicological document
@@ -84,3 +86,7 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index b173f38eed6cba81f1e99fd61ae2aee80fbfad79..e0316d081559acae0c4e18eb7f30a2c63780f9af 100644 (file)
@@ -72,7 +72,7 @@ Free Documentation License''.
 @ifnottex
 Ce fichier documente GNU LilyPond.
 
-Copyright @copyright{} 1999--2006 by the authors
+Copyright @copyright{} 1999--2007 par les auteurs
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -90,7 +90,7 @@ Free Documentation License''.
 @top GNU LilyPond --- The music typesetter
 @c HJJ: Info needs `@top', which is a synonym for `@unnumbered' in TeX.
 
-Ce document est le manuel de l'utilisateur pour GNU LilyPond 2.10.x.
+Ce document est le manuel de l'utilisateur pour GNU LilyPond 2.11.x.
 @ifhtml
 (Allez au bas de la page pour voir le numéro de version exact).
 @end ifhtml
@@ -102,9 +102,7 @@ Vous pouvez obtenir plus d'informations sur
 @uref{http://@/www@/.lilypond@/.org/}. Ce site contient des copies en
 ligne de ce manuel, ainsi qu'une documentation supplémentaire.
 
-@ignore
 @include dedication.itely
-@end ignore
 
 @menu
 Manuel d'apprentissage
@@ -119,7 +117,7 @@ Manuel d'apprentissage
 Manuel de référence
 
 * Basic notation::                 notation musicale standard.
-* Instrument-specific notation::   notation spécifique à un instrument.
+* Instrument-specific notation::   notation spécifique à des instruments.
 * Advanced notation::              notation plus rarement utilisée.
 * Changing defaults::              retoucher la mise en forme.
 * Non-musical notation::           aspects autres que la notation musicale.
@@ -137,7 +135,7 @@ Annexes
 * Literature list::                ouvrages de référence sur la notation musicale.
 * Scheme tutorial::                programmer au sein de LilyPond.
 * Notation manual tables::         tables et diagrammes.
-* Example templates::              modèles prêts à l'emploi.
+* Templates::                      modèles prêts à l'emploi.
 * Cheat sheet::                    résumé de la syntaxe de LilyPond.
 * GNU Free Documentation License:: licence de ce document.
 * LilyPond command index::
index 5a5a0434692ad8802eda974ffa8d4375caf8114c..2310ba4ae5eb33b0c01b876d8c8bbf82c6daeff7 100644 (file)
@@ -1,14 +1,20 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: ac7d0e72b32b6a11470f598f2bee180b11402fe8
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node Literature list
 @appendix Literature list
 
 UNTRANSLATED NODE: IGNORE ME
 
+
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index 9e28ccf00fa9751ea1b74cc385f4d3999ae793e3..eb4e5e979c55c237de0e036d7c597174fb42e4dd 100644 (file)
@@ -1,12 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: ac7d0e72b32b6a11470f598f2bee180b11402fe8
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node Non-musical notation
 @chapter Non-musical notation
 
@@ -26,10 +28,10 @@ UNTRANSLATED NODE: IGNORE ME
 
 @menu 
 * File structure (introduction)::
-* Multiple scores in a book::
-* Extracting fragments of notation::
 * File structure::
 * A single music expression::
+* Multiple scores in a book::
+* Extracting fragments of notation::
 * Including LilyPond files::
 * Text encoding::
 @end menu 
@@ -38,23 +40,23 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
-@node Multiple scores in a book
-@subsection Multiple scores in a book
+@node File structure
+@subsection File structure
 
 UNTRANSLATED NODE: IGNORE ME
 
-@node Extracting fragments of notation
-@subsection Extracting fragments of notation
+@node A single music expression
+@subsection A single music expression
 
 UNTRANSLATED NODE: IGNORE ME
 
-@node File structure
-@subsection File structure
+@node Multiple scores in a book
+@subsection Multiple scores in a book
 
 UNTRANSLATED NODE: IGNORE ME
 
-@node A single music expression
-@subsection A single music expression
+@node Extracting fragments of notation
+@subsection Extracting fragments of notation
 
 UNTRANSLATED NODE: IGNORE ME
 
@@ -122,3 +124,7 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index e47578ee5417df6d29f06bdb18b7157017fcd7a5..12686a0509f092000cc87f1c45dd89c5d3b9fe1a 100644 (file)
@@ -1,12 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: ac7d0e72b32b6a11470f598f2bee180b11402fe8
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node Notation manual tables
 @appendix Notation manual tables
 
@@ -17,6 +19,7 @@ UNTRANSLATED NODE: IGNORE ME
 * MIDI instruments::
 * List of colors::
 * The Feta font::
+* Note head styles::
 @end menu 
 @node Chord name chart
 @appendixsec Chord name chart
@@ -43,3 +46,12 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+@node Note head styles
+@appendixsec Note head styles
+
+UNTRANSLATED NODE: IGNORE ME
+
+
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index 802ba619df42947e9238912dc847cc0fb0c53576..c6d86f668fc927f12fe8e66c4e2f6c52b49db2ae 100644 (file)
@@ -1,4 +1,4 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
     Translation of GIT committish: a9d6b9a317e20cff479f9e0e54320dfae40bde31
index 27ae074aa0b431021117ce227f08ee3d545161f7..98f9e317071271a9727448a5f41036cd103e634a 100644 (file)
@@ -1,12 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: ac7d0e72b32b6a11470f598f2bee180b11402fe8
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node Interfaces for programmers
 @chapter Interfaces for programmers
 
@@ -32,6 +34,7 @@ UNTRANSLATED NODE: IGNORE ME
 * Mathematics in functions::
 * Void functions::
 * Functions without arguments::
+* Overview of available music functions::
 @end menu 
 @node Overview of music functions
 @subsection Overview of music functions
@@ -63,6 +66,12 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+@node Overview of available music functions
+@subsection Overview of available music functions
+
+UNTRANSLATED NODE: IGNORE ME
+
+@include identifiers.tely
 @node Programmer interfaces
 @section Programmer interfaces
 
@@ -162,3 +171,7 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index 4a305cbee6030f8337b63161bda1444206ccb98d..e932bfa6deaceebd559792fa9c70ab1b0103af46 100644 (file)
@@ -1,4 +1,4 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
     Translation of GIT committish: 0bf1e119501727ab8217767d8ce6c29dedf4fed1
index f996d6152c40d1974ebd2c66820dc45fc4dfb5e7..6c314dc035ce589ed3655b2dbf2af8a73a763ca8 100644 (file)
@@ -1,12 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: ac7d0e72b32b6a11470f598f2bee180b11402fe8
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node Running LilyPond
 @chapter Running LilyPond
 
@@ -58,3 +60,7 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index 08b5616aa5086858064d6982c7c9e2c2a8a6709c..f12664457b1ec5e0df0f882c5108ef3fa79b73c0 100644 (file)
@@ -1,14 +1,20 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 64f0d86a7c0987b311bfdfdfeddfa063e1f2d6e7
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node Scheme tutorial
 @appendix Scheme tutorial
 
 UNTRANSLATED NODE: IGNORE ME
 
+
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index fa19990b91ef1e2b3bef699918019d7004790049..dff7d2b11c5f0629462e841b50127ff6bd77d2c1 100644 (file)
@@ -1,12 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: ac7d0e72b32b6a11470f598f2bee180b11402fe8
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node Spacing issues
 @chapter Spacing issues
 
@@ -15,12 +17,11 @@ UNTRANSLATED NODE: IGNORE ME
 @menu 
 * Paper and pages::
 * Music layout::
+* Displaying spacing::
+* Breaks::
 * Vertical spacing::
 * Horizontal spacing::
-* Breaks::
-* Displaying spacing::
-@end menu
-
+@end menu 
 @node Paper and pages
 @section Paper and pages
 
@@ -29,8 +30,7 @@ UNTRANSLATED NODE: IGNORE ME
 @menu 
 * Paper size::
 * Page formatting::
-@end menu
+@end menu 
 @node Paper size
 @subsection Paper size
 
@@ -47,11 +47,11 @@ UNTRANSLATED NODE: IGNORE ME
 UNTRANSLATED NODE: IGNORE ME
 
 @menu 
-* Setting global staff size::
+* Setting the staff size::
 * Score layout::
 @end menu 
-@node Setting global staff size
-@subsection Setting global staff size
+@node Setting the staff size
+@subsection Setting the staff size
 
 UNTRANSLATED NODE: IGNORE ME
 
@@ -60,6 +60,54 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+@node Displaying spacing
+@section Displaying spacing
+
+UNTRANSLATED NODE: IGNORE ME
+
+@node Breaks
+@section Breaks
+
+UNTRANSLATED NODE: IGNORE ME
+
+@menu 
+* Line breaking::
+* Page breaking::
+* Optimal page breaking::
+* Optimal page turning::
+* Explicit breaks::
+* Using an extra voice for breaks::
+@end menu 
+@node Line breaking
+@subsection Line breaking
+
+UNTRANSLATED NODE: IGNORE ME
+
+@node Page breaking
+@subsection Page breaking
+
+UNTRANSLATED NODE: IGNORE ME
+
+@node Optimal page breaking
+@subsection Optimal page breaking
+
+UNTRANSLATED NODE: IGNORE ME
+
+@node Optimal page turning
+@subsection Optimal page turning
+
+UNTRANSLATED NODE: IGNORE ME
+
+@node Explicit breaks
+@subsection Explicit breaks
+
+UNTRANSLATED NODE: IGNORE ME
+
+@node Using an extra voice for breaks
+@subsection Using an extra voice for breaks
+
+UNTRANSLATED NODE: IGNORE ME
+
 @node Vertical spacing
 @section Vertical spacing
 
@@ -67,28 +115,23 @@ UNTRANSLATED NODE: IGNORE ME
 
 @menu 
 * Vertical spacing inside a system::
-* Vertical spacing of piano staves::
 * Vertical spacing between systems::
-* Controlling spacing of individual systems::
+* Explicit staff and system positioning::
 * Two-pass vertical spacing::
+* Vertical collision avoidance::
 @end menu 
 @node Vertical spacing inside a system
 @subsection Vertical spacing inside a system
 
 UNTRANSLATED NODE: IGNORE ME
 
-@node Vertical spacing of piano staves
-@subsection Vertical spacing of piano staves
-
-UNTRANSLATED NODE: IGNORE ME
-
 @node Vertical spacing between systems
 @subsection Vertical spacing between systems
 
 UNTRANSLATED NODE: IGNORE ME
 
-@node Controlling spacing of individual systems
-@subsection Controlling spacing of individual systems
+@node Explicit staff and system positioning
+@subsection Explicit staff and system positioning
 
 UNTRANSLATED NODE: IGNORE ME
 
@@ -97,6 +140,11 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
+@node Vertical collision avoidance
+@subsection Vertical collision avoidance
+
+UNTRANSLATED NODE: IGNORE ME
+
 @node Horizontal spacing
 @section Horizontal Spacing
 
@@ -107,6 +155,7 @@ UNTRANSLATED NODE: IGNORE ME
 * New spacing area::
 * Changing horizontal spacing::
 * Line length::
+* Proportional notation::
 @end menu 
 @node Horizontal spacing overview
 @subsection Horizontal spacing overview
@@ -128,39 +177,12 @@ UNTRANSLATED NODE: IGNORE ME
 
 UNTRANSLATED NODE: IGNORE ME
 
-@node Breaks
-@section Breaks
-
-UNTRANSLATED NODE: IGNORE ME
-
-@menu 
-* Line breaking::
-* Page breaking::
-* Optimal page breaking::
-* Optimal page turning::
-@end menu 
-@node Line breaking
-@subsection Line breaking
-
-UNTRANSLATED NODE: IGNORE ME
-
-@node Page breaking
-@subsection Page breaking
-
-UNTRANSLATED NODE: IGNORE ME
-
-@node Optimal page breaking
-@subsection Optimal page breaking
+@node Proportional notation
+@subsection Proportional notation
 
 UNTRANSLATED NODE: IGNORE ME
 
-@node Optimal page turning
-@subsection Optimal page turning
-
-UNTRANSLATED NODE: IGNORE ME
-
-@node Displaying spacing
-@section Displaying spacing
-
-UNTRANSLATED NODE: IGNORE ME
 
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index d792e1f80cddaae039ed009507f869186eff32cc..6098dc84c3747778db4f62e2a8a32f44f2fa3e8a 100644 (file)
@@ -1,12 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 0bf1e119501727ab8217767d8ce6c29dedf4fed1
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node Templates
 @appendix Templates
 
@@ -53,6 +55,7 @@ UNTRANSLATED NODE: IGNORE ME
 
 @appendixsubsec SATB vocal score
 @appendixsubsec SATB vocal score and automatic piano reduction
+@appendixsubsec SATB with aligned contexts
 @node Ancient notation templates
 @appendixsec Ancient notation templates
 
@@ -72,3 +75,7 @@ UNTRANSLATED NODE: IGNORE ME
 
 @appendixsubsec LaTeX
 @appendixsubsec Texinfo
+
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index 7b9d9c443a23ea8508db00589fb05db555170bd4..2fab94b45db5224b0400545aef4e7c809326d1d1 100644 (file)
@@ -1,4 +1,4 @@
-@c -*- coding: utf-8; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
    Translation of GIT committish: a9d6b9a317e20cff479f9e0e54320dfae40bde31
@@ -143,10 +143,10 @@ Typeset File}.  Le fichier PDF résultant sera alors affiché sur votre
 Notez que le premier démarrage peut prendre une minute ou deux, car
 toutes les polices système doivent être d'abord analysées.
 
-À l'avenir, vous aurez certainement recours aux commandes @qq{ Nouveau
-} ou @qq{ Ouvrir }.  Vous devez enregistrer votre fichier avant de
-lancer la création de la partition.  Si une erreur advient pendant le
-traitement, vous la trouverez dans la fenêtre @qq{ log }.
+À l'avenir, vous aurez certainement recours aux commandes @qq{Nouveau}
+ou @qq{Ouvrir}.  Vous devez enregistrer votre fichier avant de lancer
+la création de la partition.  Si une erreur advient pendant le
+traitement, vous la trouverez dans la fenêtre @qq{log}.
 
 @subsubheading Windows
 
index 032f76c453ead135bd3efc5a8831de3cbf536147..50c20867915c8367b09ad180d5b61ed93a998839 100644 (file)
@@ -1,12 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 @c This file is part of lilypond.tely
 @ignore
-    Translation of GIT committish: 64f0d86a7c0987b311bfdfdfeddfa063e1f2d6e7
+    Translation of GIT committish: d56aa8181857c5feabf303ae88e716eba069f0a9
+
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+
 @node Tweaking output
 @chapter Tweaking output
 
@@ -55,3 +57,8 @@ UNTRANSLATED NODE: IGNORE ME
 @section Avoiding tweaks with slower processing
 
 UNTRANSLATED NODE: IGNORE ME
+
+
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
index 925cb7e5a12612e550d771b1c82d4a9d22db0192..ef93f6aababd1534c1ddf9864c18299aef944c51 100644 (file)
@@ -6,6 +6,7 @@ include $(depth)/make/stepmake.make
 
 doc-localedir=$(outdir)
 DOMAIN=lilypond-doc
+DOC_PO_SOURCES = add_html_footer.py langdefs.py
 
 messages: $(MO_FILES)
        for i in $(CATALOGS); do \
@@ -14,7 +15,9 @@ messages: $(MO_FILES)
        done
 
 po-update:
-       $(PYTHON) $(buildscript-dir)/texi-langutils.py -d $(outdir) -o doc.pot --gettext ../$(depth)/Documentation/user/lilypond.tely
+       $(PYTHON) $(buildscript-dir)/texi-langutils.py -d $(outdir) -o texi.pot --gettext ../$(depth)/Documentation/user/lilypond.tely
+       xgettext -cjn -L Python -o $(outdir)/buildscripts.pot $(foreach i, $(DOC_PO_SOURCES), $(buildscript-dir)/$(i) )
+       msgcat -o $(outdir)/doc.pot $(outdir)/buildscripts.pot $(outdir)/texi.pot
        msgmerge -U lilypond-doc.pot $(outdir)/doc.pot
        for i in $(CATALOGS); do \
          msgmerge -U $$i.po lilypond-doc.pot; \
index 6ac0581a1aba111621933c8e0d51073004b5bbf5..e39e69cd8f928250fffd433e3300388db4140535 100644 (file)
@@ -4,13 +4,12 @@
 # This file is distributed under the same license as the lilypond package.
 #
 # John Mandereau <john.mandereau@free.fr>, 2006, 2007.
-#. @chapter in ../../../Documentation/user/lilypond-book.itely
 msgid ""
 msgstr ""
 "Project-Id-Version: fr\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-22 20:59+0100\n"
-"PO-Revision-Date: 2007-02-05 14:38+0100\n"
+"POT-Creation-Date: 2007-02-24 10:14+0100\n"
+"PO-Revision-Date: 2007-02-24 12:23+0100\n"
 "Last-Translator: John Mandereau <john.mandereau@free.fr>\n"
 "Language-Team: Français <lilypond-user-fr@gnu.org>\n"
 "MIME-Version: 1.0\n"
@@ -18,6 +17,42 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 1.11.4\n"
 
+#: ../../buildscripts/add_html_footer.py:36
+#, python-format
+msgid "This page is for %(package_name)s-%(package_version)s (%(branch_str)s)."
+msgstr "Cette page documente %(package_name)s-%(package_version)s (%(branch_str)s)."
+
+#: ../../buildscripts/add_html_footer.py:39
+#, python-format
+msgid "Report errors to <a href=\"%(mail_address_url)s\">%(mail_address)s</a>."
+msgstr "Rapporter toute anomalie en français à <a href=\"mailto:lilypond-user-fr@gnu.org\">lilypond-user-fr@gnu.org</a> ou en anglais à <a href=\"%(mail_address_url)s\">%(mail_address)s</a>"
+
+#: ../../buildscripts/add_html_footer.py:52
+#, python-format
+msgid "Other languages: %s."
+msgstr "Autres langues&nbsp;: %s."
+
+#: ../../buildscripts/add_html_footer.py:53
+#, python-format
+msgid "About <A HREF=\"%s\">automatic language selection</A>."
+msgstr "À propos de la <A HREF=\"%s\">sélection automatique de la langue</A>."
+
+#: ../../buildscripts/add_html_footer.py:236
+msgid "stable-branch"
+msgstr "branche stable"
+
+#: ../../buildscripts/add_html_footer.py:238
+msgid "development-branch"
+msgstr "branche de développement"
+
+#: ../../buildscripts/langdefs.py:34
+msgid "English"
+msgstr "Anglais"
+
+#: ../../buildscripts/langdefs.py:35
+msgid "French"
+msgstr "Français"
+
 #. @node in ../../../Documentation/user/lilypond.tely
 msgid "Top"
 msgstr "Sommaire"
@@ -54,7 +89,7 @@ msgstr "Commandes prédéfinies"
 
 #. @subsubheading in ../../../Documentation/user/macros.itexi
 msgid "Commonly tweaked properties"
-msgstr "Propriétés couramment ajustées"
+msgstr "Propriétés couramment modifiées"
 
 #. @node in ../../../Documentation/user/preface.itely
 #. @unnumbered in ../../../Documentation/user/preface.itely
@@ -594,7 +629,6 @@ msgstr "Altérations microtonales"
 
 #. @node in ../../../Documentation/user/basic-notation.itely
 #. @subsection in ../../../Documentation/user/basic-notation.itely
-#, fuzzy
 msgid "Note names in other languages"
 msgstr "Noms de note dans d'autres langues"
 
@@ -631,7 +665,7 @@ msgstr "Durées"
 #. @node in ../../../Documentation/user/basic-notation.itely
 #. @subsection in ../../../Documentation/user/basic-notation.itely
 msgid "Augmentation dots"
-msgstr "Points d'addition"
+msgstr "Notes pointées"
 
 #. @node in ../../../Documentation/user/basic-notation.itely
 #. @subsection in ../../../Documentation/user/basic-notation.itely
@@ -655,9 +689,8 @@ msgstr "Découpage automatique des notes"
 
 #. @node in ../../../Documentation/user/basic-notation.itely
 #. @section in ../../../Documentation/user/basic-notation.itely
-#, fuzzy
 msgid "Polyphony"
-msgstr "Polyphonie basique"
+msgstr "Polyphonie"
 
 #. @node in ../../../Documentation/user/basic-notation.itely
 #. @subsection in ../../../Documentation/user/basic-notation.itely
@@ -776,7 +809,6 @@ msgstr "Arpège"
 
 #. @node in ../../../Documentation/user/basic-notation.itely
 #. @subsection in ../../../Documentation/user/basic-notation.itely
-#, fuzzy
 msgid "Falls and doits"
 msgstr "Chutes et sauts"
 
@@ -883,7 +915,7 @@ msgstr "Musique vocale"
 #. @node in ../../../Documentation/user/instrument-notation.itely
 #. @subsection in ../../../Documentation/user/instrument-notation.itely
 msgid "Setting simple songs"
-msgstr "Écrire des chansons simples¿"
+msgstr "Écrire des chants simples"
 
 #. @node in ../../../Documentation/user/instrument-notation.itely
 #. @subsection in ../../../Documentation/user/instrument-notation.itely
@@ -952,24 +984,23 @@ msgstr "Plus à propos des strophes"
 
 #. @subsubsection in ../../../Documentation/user/instrument-notation.itely
 msgid "Adding stanza numbers"
-msgstr ""
+msgstr "Numéroter les strophes"
 
 #. @subsubsection in ../../../Documentation/user/instrument-notation.itely
 msgid "Adding dynamics marks"
-msgstr ""
+msgstr "Ajouter des nuances"
 
 #. @subsubsection in ../../../Documentation/user/instrument-notation.itely
-#, fuzzy
 msgid "Adding singer names"
-msgstr "Ajout de titres"
+msgstr "Ajouter le nom des chanteurs"
 
 #. @subsubsection in ../../../Documentation/user/instrument-notation.itely
 msgid "Printing stanzas at the end"
-msgstr ""
+msgstr "Paroles à la fin de la partition"
 
 #. @subsubsection in ../../../Documentation/user/instrument-notation.itely
 msgid "Printing stanzas at the end in multiple columns"
-msgstr ""
+msgstr "Paroles sur plusieurs colonnes à la fin de la partition"
 
 #. @node in ../../../Documentation/user/instrument-notation.itely
 #. @subsection in ../../../Documentation/user/instrument-notation.itely
@@ -1867,9 +1898,8 @@ msgid "Updating files with convert-ly"
 msgstr ""
 
 #. @section in ../../../Documentation/user/running.itely
-#, fuzzy
-msgid "Updating with"
-msgstr "Mettre à jour des anciens fichiers"
+msgid "Updating with @command{convert-ly}"
+msgstr ""
 
 #. @node in ../../../Documentation/user/running.itely
 #. @section in ../../../Documentation/user/running.itely
@@ -1895,6 +1925,10 @@ msgstr ""
 msgid "LilyPond-book"
 msgstr "LilyPond-book"
 
+#. @chapter in ../../../Documentation/user/lilypond-book.itely
+msgid "@command{lilypond-book}: Integrating text and music"
+msgstr "@command{lilypond-book} : associer de la musique et du texte"
+
 #. @node in ../../../Documentation/user/lilypond-book.itely
 #. @section in ../../../Documentation/user/lilypond-book.itely
 msgid "An example of a musicological document"
@@ -1905,9 +1939,8 @@ msgid "Integrating LaTeX and music"
 msgstr ""
 
 #. @section in ../../../Documentation/user/lilypond-book.itely
-#, fuzzy
-msgid "Integrating La"
-msgstr "Gravure"
+msgid "Integrating La@TeX{} and music"
+msgstr "Intégrer de la musique dans @LaTeX{}"
 
 #. @node in ../../../Documentation/user/lilypond-book.itely
 #. @section in ../../../Documentation/user/lilypond-book.itely
@@ -1950,8 +1983,7 @@ msgid "Invoking lilypond-book"
 msgstr ""
 
 #. @section in ../../../Documentation/user/lilypond-book.itely
-#. @section in ../../../Documentation/user/converters.itely
-msgid "Invoking"
+msgid "Invoking @command{lilypond-book}"
 msgstr ""
 
 #. @node in ../../../Documentation/user/lilypond-book.itely
@@ -1983,18 +2015,34 @@ msgstr "Convertir à partir d'autres formats"
 msgid "Invoking midi2ly"
 msgstr ""
 
+#. @section in ../../../Documentation/user/converters.itely
+msgid "Invoking @command{midi2ly}"
+msgstr ""
+
 #. @node in ../../../Documentation/user/converters.itely
 msgid "Invoking etf2ly"
 msgstr ""
 
+#. @section in ../../../Documentation/user/converters.itely
+msgid "Invoking @command{etf2ly}"
+msgstr ""
+
 #. @node in ../../../Documentation/user/converters.itely
 msgid "Invoking musicxml2ly"
 msgstr ""
 
+#. @section in ../../../Documentation/user/converters.itely
+msgid "Invoking @code{musicxml2ly}"
+msgstr ""
+
 #. @node in ../../../Documentation/user/converters.itely
 msgid "Invoking abc2ly"
 msgstr ""
 
+#. @section in ../../../Documentation/user/converters.itely
+msgid "Invoking @code{abc2ly}"
+msgstr ""
+
 #. @node in ../../../Documentation/user/converters.itely
 #. @section in ../../../Documentation/user/converters.itely
 msgid "Generating LilyPond files"
@@ -2062,9 +2110,8 @@ msgstr ""
 
 #. @node in ../../../Documentation/user/templates.itely
 #. @appendix in ../../../Documentation/user/templates.itely
-#, fuzzy
 msgid "Templates"
-msgstr "Nolets"
+msgstr "Modèles"
 
 #. @node in ../../../Documentation/user/templates.itely
 #. @appendixsec in ../../../Documentation/user/templates.itely
@@ -2195,5 +2242,3 @@ msgstr "Annexe"
 msgid "Footnotes"
 msgstr "Notes de bas de page"
 
-#~ msgid "@command{lilypond-book}: Integrating text and music"
-#~ msgstr "@command{lilypond-book} : associer de la musique et du texte"
index f75072363672befd511f92b20cf137cc2e3a1ca2..52ce97037b5753db56d3546266bd4ba9f8071572 100644 (file)
@@ -3,13 +3,12 @@
 # This file is distributed under the same license as the lilypond package.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 #
-#. @chapter in ../../../Documentation/user/lilypond-book.itely
 #, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-22 20:59+0100\n"
+"POT-Creation-Date: 2007-02-24 10:14+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,6 +16,42 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
+#: ../../buildscripts/add_html_footer.py:36
+#, python-format
+msgid "This page is for %(package_name)s-%(package_version)s (%(branch_str)s)."
+msgstr ""
+
+#: ../../buildscripts/add_html_footer.py:39
+#, python-format
+msgid "Report errors to <a href=\"%(mail_address_url)s\">%(mail_address)s</a>."
+msgstr ""
+
+#: ../../buildscripts/add_html_footer.py:52
+#, python-format
+msgid "Other languages: %s."
+msgstr ""
+
+#: ../../buildscripts/add_html_footer.py:53
+#, python-format
+msgid "About <A HREF=\"%s\">automatic language selection</A>."
+msgstr ""
+
+#: ../../buildscripts/add_html_footer.py:236
+msgid "stable-branch"
+msgstr ""
+
+#: ../../buildscripts/add_html_footer.py:238
+msgid "development-branch"
+msgstr ""
+
+#: ../../buildscripts/langdefs.py:34
+msgid "English"
+msgstr ""
+
+#: ../../buildscripts/langdefs.py:35
+msgid "French"
+msgstr ""
+
 #. @node in ../../../Documentation/user/lilypond.tely
 msgid "Top"
 msgstr ""
@@ -1862,7 +1897,7 @@ msgid "Updating files with convert-ly"
 msgstr ""
 
 #. @section in ../../../Documentation/user/running.itely
-msgid "Updating with"
+msgid "Updating with @command{convert-ly}"
 msgstr ""
 
 #. @node in ../../../Documentation/user/running.itely
@@ -1889,6 +1924,10 @@ msgstr ""
 msgid "LilyPond-book"
 msgstr ""
 
+#. @chapter in ../../../Documentation/user/lilypond-book.itely
+msgid "@command{lilypond-book}: Integrating text and music"
+msgstr ""
+
 #. @node in ../../../Documentation/user/lilypond-book.itely
 #. @section in ../../../Documentation/user/lilypond-book.itely
 msgid "An example of a musicological document"
@@ -1899,7 +1938,7 @@ msgid "Integrating LaTeX and music"
 msgstr ""
 
 #. @section in ../../../Documentation/user/lilypond-book.itely
-msgid "Integrating La"
+msgid "Integrating La@TeX{} and music"
 msgstr ""
 
 #. @node in ../../../Documentation/user/lilypond-book.itely
@@ -1943,8 +1982,7 @@ msgid "Invoking lilypond-book"
 msgstr ""
 
 #. @section in ../../../Documentation/user/lilypond-book.itely
-#. @section in ../../../Documentation/user/converters.itely
-msgid "Invoking"
+msgid "Invoking @command{lilypond-book}"
 msgstr ""
 
 #. @node in ../../../Documentation/user/lilypond-book.itely
@@ -1976,18 +2014,34 @@ msgstr ""
 msgid "Invoking midi2ly"
 msgstr ""
 
+#. @section in ../../../Documentation/user/converters.itely
+msgid "Invoking @command{midi2ly}"
+msgstr ""
+
 #. @node in ../../../Documentation/user/converters.itely
 msgid "Invoking etf2ly"
 msgstr ""
 
+#. @section in ../../../Documentation/user/converters.itely
+msgid "Invoking @command{etf2ly}"
+msgstr ""
+
 #. @node in ../../../Documentation/user/converters.itely
 msgid "Invoking musicxml2ly"
 msgstr ""
 
+#. @section in ../../../Documentation/user/converters.itely
+msgid "Invoking @code{musicxml2ly}"
+msgstr ""
+
 #. @node in ../../../Documentation/user/converters.itely
 msgid "Invoking abc2ly"
 msgstr ""
 
+#. @section in ../../../Documentation/user/converters.itely
+msgid "Invoking @code{abc2ly}"
+msgstr ""
+
 #. @node in ../../../Documentation/user/converters.itely
 #. @section in ../../../Documentation/user/converters.itely
 msgid "Generating LilyPond files"
index 3e35952c426cad818cb48af6c50a1f8585c24f3d..5722bca35213fc9b99eebe2f9221f7158f960eb2 100644 (file)
@@ -6,6 +6,7 @@ Print a nice footer.
 import re
 import os
 import time
+import gettext
 
 import langdefs
 
@@ -28,14 +29,14 @@ non_copied_pages = ['Documentation/user/out-www/lilypond-big-page',
 header = r"""
 """
 
-footer = r'''
+footer = '''
 <div style="background-color: #e8ffe8; padding: 2; border: #c0ffc0 1px solid;">
 <p>
 <font size="-1">
-This page is for %(package_name)s-%(package_version)s (%(branch_str)s). <br>
+''' + _ ('This page is for %(package_name)s-%(package_version)s (%(branch_str)s).') + '''<br>
 </font>
 <address><font size="-1">
-Report errors to <a href="%(mail_address_url)s">%(mail_address)s</a>.</font></address>
+''' + _ ('Report errors to <a href="%(mail_address_url)s">%(mail_address)s</a>.') + '''</font></address>
 </p>
 </div>
 '''
@@ -48,17 +49,17 @@ footer_tag = '<!-- footer_tag -->'
 def _ (s):
     return s
 
-language_available = _ ("Other languages: %s.") % "%(language_menu)s"
-browser_language = _ ("Using <A HREF='%s'>automatic language selection</A>.") \
-           % "/web/about/browser-language"
+language_available = _ ("Other languages: %s.")
+browser_language = _ ('About <A HREF="%s">automatic language selection</A>.')
+browser_language_url = "/web/about/browser-language"
 
-LANGUAGES_TEMPLATE = '''\
+LANGUAGES_TEMPLATE = '''
 <P>
  %(language_available)s
  <BR>
  %(browser_language)s
 </P>
-''' % vars ()
+'''
 
 
 html_re = re.compile ('(.*?)(?:[.]([^/.]*))?[.]html$')
@@ -87,7 +88,7 @@ def add_header (s):
         s = re.sub ('(?i)<body>', body, s)
         if re.search ('(?i)<BODY', s):
             s = re.sub ('(?i)<body[^>]*>', body + header, s, 1)
-        elif re.search ('(?i)<html', s):                
+        elif re.search ('(?i)<html', s):
             s = re.sub ('(?i)<html>', '<HTML>' + header, s, 1)
         else:
             s = header + s
@@ -114,6 +115,7 @@ def add_title (s):
     return s
 
 info_nav_bar = re.compile (r'<div class="node">\s*<p>\s*<a name=".+?"></a>(.+?)<hr>\s*</div>', re.M | re.S)
+info_footnote_hr = re.compile (r'<hr>\s*(</div>)?\s*</body>', re.M | re.I)
 
 def add_footer (s):
     """add footer
@@ -121,7 +123,11 @@ def add_footer (s):
 also add navigation bar to bottom of Info HTML pages"""
     m = info_nav_bar.search (s)
     if m:
-        custom_footer = '<br><hr>\n<div class="node">\n<p>' + m.group (1) + '</div>\n' + footer
+        # avoid duplicate <hr> in case there are footnotes at the end of the Info HTML page
+        if info_footnote_hr.search (s):
+            custom_footer = '<div class="node">\n<p>' + m.group (1) + '</div>\n' + footer
+        else:
+            custom_footer = '<br><hr>\n<div class="node">\n<p>' + m.group (1) + '</div>\n' + footer
     else:
         custom_footer = footer
     if re.search ('(?i)</body', s):
@@ -152,56 +158,65 @@ def process_links (s, prefix, lang_ext, file_name, missing, target):
         # Strip .html, .png suffix for auto language selection (content
         # negotiation).  The menu must keep the full extension, so do
         # this before adding the menu.
-        page_flavors[file_name] = re.sub (
+        page_flavors[file_name] = [lang_ext, re.sub (
             '''(href|src)=[\'"]([^/][.]*[^.:\'"]*)(.html|.png)(#[^"\']*|)[\'"]''',
-            '\\1="\\2\\4"', s)
+            '\\1="\\2\\4"', s)]
     elif target == 'offline':
         # in LANG doc index: don't rewrite .html suffixes as not all .LANG.html pages exist
         # the doc index should be translated and contain the right links
         if prefix == 'Documentation/out-www/index':
-            page_flavors[file_name] = s
+            page_flavors[file_name] = [lang_ext, s]
         elif lang_ext == '':
-            page_flavors[file_name] = s
+            page_flavors[file_name] = [lang_ext, s]
             for e in missing:
-                page_flavors[langdefs.lang_file_name (prefix, e, '.html')] = re.sub (
+                page_flavors[langdefs.lang_file_name (prefix, e, '.html')] = [e, re.sub (
                     '''href=[\'"]([^/][.]*[^.:\'"]*)(.html)(#[^"\']*|)[\'"]''',
-                    'href="\\1.' + e + '\\2\\3"', s)
+                    'href="\\1.' + e + '\\2\\3"', s)]
         else:
-            page_flavors[file_name] = re.sub (
+            page_flavors[file_name] = [lang_ext, re.sub (
                 '''href=[\'"]([^/][.]*[^.:\'"]*)(.html)(#[^"\']*|)[\'"]''',
-                'href="\\1.' + lang_ext + '\\2\\3"', s)
+                'href="\\1.' + lang_ext + '\\2\\3"', s)]
     return page_flavors
 
-def add_menu (page_flavors, prefix, available):
-    language_menu = ''
-    for lang in available:
-        lang_file = lang.file_name (os.path.basename (prefix), '.html')
-        if language_menu != '':
-            language_menu += ', '
-        language_menu += '<a href="%s">%s</a>' % (lang_file, lang.name)
-
-    languages = ''
-    if language_menu:
-        languages = LANGUAGES_TEMPLATE % vars ()
-
-    # put language menu before '</body>' and '</html>' tags
+def add_menu (page_flavors, prefix, available, target, translation):
     for k in page_flavors.keys():
-        if re.search ('(?i)</body', page_flavors[k]):
-            page_flavors[k] = re.sub ('(?i)</body>', languages + '</BODY>', page_flavors[k], 1)
-        elif re.search ('(?i)</html', page_flavors[k]):                
-            page_flavors[k] = re.sub ('(?i)</html>', languages + '</HTML>', page_flavors[k], 1)
+        language_menu = ''
+        languages = ''
+        if page_flavors[k][0] != '':
+            t = translation[page_flavors[k][0]]
         else:
-            page_flavors[k] += languages
+            t = _
+        for lang in available:
+            lang_file = lang.file_name (os.path.basename (prefix), '.html')
+            if language_menu != '':
+                language_menu += ', '
+            language_menu += '<a href="%s">%s</a>' % (lang_file, t (lang.name))
+        if target == 'offline':
+            browser_language = ''
+        elif target == 'online':
+            browser_language = t (browser_language) % browser_language_url
+        if language_menu:
+            language_available = t (language_available) % language_menu
+            languages = LANGUAGES_TEMPLATE % vars ()
+        # put language menu before '</body>' and '</html>' tags
+        if re.search ('(?i)</body', page_flavors[k][1]):
+            page_flavors[k][1] = re.sub ('(?i)</body>', languages + '</BODY>', page_flavors[k][1], 1)
+        elif re.search ('(?i)</html', page_flavors[k][1]):
+            page_flavors[k][1] = re.sub ('(?i)</html>', languages + '</HTML>', page_flavors[k][1], 1)
+        else:
+            page_flavors[k][1] += languages
     return page_flavors
 
 
-def add_html_footer (package_name = '',
+def add_html_footer (translation,
+                     package_name = '',
                      package_version = '',
                      target = 'offline',
                      name_filter = lambda s: s):
     """Add header, footer to a number of HTML files
 
     Arguments:
+     translation               gettext translations dictionary, with language codes as keys
      package_name=NAME         set package_name to NAME
      package_version=VERSION   set package version to VERSION
      targets=offline|online    set page processing depending on the target
@@ -218,9 +233,9 @@ def add_html_footer (package_name = '',
         mail_address_url= 'mailto:' + mail_address
 
     versiontup = package_version.split ('.')
-    branch_str = 'stable-branch'
+    branch_str = _('stable-branch')
     if int ( versiontup[1]) %  2:
-        branch_str = 'development-branch'
+        branch_str = _('development-branch')
 
     for prefix, ext_list in pages_dict.items ():
         for lang_ext in ext_list:
@@ -240,20 +255,20 @@ def add_html_footer (package_name = '',
                 available, missing = find_translations (prefix, lang_ext)
                 page_flavors = process_links (s, prefix, lang_ext, file_name, missing, target)
                 # Add menu after stripping: must not have autoselection for language menu.
-                page_flavors = add_menu (page_flavors, prefix, available)
-            # urg, this stuff is oudated and seems useless, let's disable it
+                page_flavors = add_menu (page_flavors, prefix, available, translation)
+            # urg, this stuff is outdated and seems useless, let's disable it
             #else:
             #    for e in [l.webext for l in langdefs.LANGUAGES]:
             #        if not e in pages_dict[prefix]:
             #            page_flavors[langdefs.lang_file_name (prefix, e, '.html')] = s
-
             subst = globals ()
             subst.update (locals())
             for k in page_flavors.keys():
-                page_flavors[k] = page_flavors[k] % subst
-
+                for name in subst.keys():
+                    subst[name] = translation[page_flavors[k][0]] (subst[name])
+                page_flavors[k][1] = page_flavors[k][1] % subst
                 out_f = open (name_filter (k), 'w')
-                out_f.write (page_flavors[k])
+                out_f.write (page_flavors[k][1])
                 out_f.close()
         # if the page is translated, a .en.html symlink is necessary for content negotiation
         if target == 'online' and ext_list != ['']:
index 993398e002e14f3710003c8665bc2bdc1f875c51..47f53c9b3cc25e0698e38508cff90d2b40d79277 100644 (file)
@@ -4,6 +4,9 @@
 Documentation i18n module
 """
 
+def _ (s):
+    return s
+
 def lang_file_name (p, langext, ext):
     if langext != '':
         return p + '.' + langext + ext
@@ -28,8 +31,8 @@ class LanguageDef:
 # here. For each 'Documentation/ab' directory containing docs
 # translated in 'ab', there should be an entry in LANGUAGES.
 
-site = LanguageDef ('en', 'English', webext='')
-fr = LanguageDef ('fr', 'French', double_punct_char_sep='&nbsp;')
+site = LanguageDef ('en', _('English'), webext='')
+fr = LanguageDef ('fr', _('French'), double_punct_char_sep='&nbsp;')
 #nl = LanguageDef ('nl', 'Nederlands')
 
 # Outdated or broken translations may be disabled
@@ -41,7 +44,6 @@ LANGUAGES = (site, fr)
 if __name__ == '__main__':
     print ' '.join ([l.code for l in LANGUAGES if l.enabled and l.code != 'en'])
 else:
-    import gettext
     LANGDICT = {}
     for l in LANGUAGES:
         LANGDICT[l.code] = l
index 9f914008f79fcce5dddf38bbb1ccc83885c2769b..8fc24187dededcdd73e3a6cb9429ca3215cd6007 100644 (file)
@@ -7,9 +7,17 @@ import sys
 import re
 import getopt
 import os
-import string
 
-optlist, texi_files = getopt.getopt(sys.argv[1:],'no:d:b:i:',['skeleton', 'gettext'])
+def read_pipe (command):
+    print command
+    pipe = os.popen (command)
+    output = pipe.read ()
+    if pipe.close ():
+        print "pipe failed: %(command)s" % locals ()
+    return output
+
+
+optlist, texi_files = getopt.getopt(sys.argv[1:],'no:d:b:i:l:',['skeleton', 'gettext'])
 process_includes = not ('-n', '') in optlist # -n   don't process @include's in texinfo files
 
 make_gettext = ('--gettext', '') in optlist   # --gettext    generate a node list from a Texinfo source
@@ -17,7 +25,24 @@ make_skeleton = ('--skeleton', '') in optlist # --skeleton   extract the node tr
 
 output_file = 'doc.pot'
 node_blurb = ''
-intro_blurb = ''
+doclang = ''
+topfile = os.path.basename (texi_files[0])
+head_committish = read_pipe ('git-rev-parse HEAD')
+intro_blurb = '''@c -*- coding: utf-8; mode: texinfo%(doclang)s -*-
+@c This file is part of %(topfile)s
+@ignore
+    Translation of GIT committish: %(head_committish)s
+
+    When revising a translation, copy the HEAD committish of the
+    version that you are working on.  See TRANSLATION for details.
+@end ignore
+'''
+
+end_blurb = """
+-- SKELETON FILE --
+When you actually translate this file, please remove these lines as
+well as all `UNTRANSLATED NODE: IGNORE ME' lines.
+"""
 
 for x in optlist:
        if x[0] == '-o': # -o NAME   set PO output file name to NAME
@@ -28,6 +53,12 @@ for x in optlist:
                node_blurb = x[1]
        elif x[0] == '-i': # -i BLURB  set blurb written at beginning of each file to BLURB
                intro_blurb = x[1]
+       elif x[0] == '-l': # -l ISOLANG  set documentlanguage to ISOLANG
+               doclang = '; documentlanguage: ' + x[1]
+
+
+intro_blurb = intro_blurb % vars()
+
 
 def process_texi (texifilename, i_blurb, n_blurb, write_skeleton, output_file=None):
        try:
@@ -40,7 +71,7 @@ def process_texi (texifilename, i_blurb, n_blurb, write_skeleton, output_file=No
                        g.write (i_blurb)
                        tutu = re.findall (r"""^(\*) +([^:
                        ]+)::[^
-                       ]*?$|^@(include|menu|end menu|node|(?:unnumbered|appendix)(?:(?:sub){0,2}sec)?|top|chapter|(?:sub){0,2}section|(?:major|chap|(?:sub){0,2})heading) *([^@
+                       ]*?$|^@(include|menu|end menu|node|(?:unnumbered|appendix)(?:(?:sub){0,2}sec)?|top|chapter|(?:sub){0,2}section|(?:major|chap|(?:sub){0,2})heading) *([^
                        ]*)[^
                        ]*?$|@(rglos){(.+?)}""", texifile, re.M)
                        node_trigger = False
@@ -58,12 +89,14 @@ def process_texi (texifilename, i_blurb, n_blurb, write_skeleton, output_file=No
                                                if output_file:
                                                        output_file.write ('_("' + item[3].strip () + '") # @' + item[2] + \
                                                                           ' in ' + texifilename + '\n')
-                                               node_trigger = True
+                                               if item[2] == 'node':
+                                                       node_trigger = True
                                        elif item[2] == 'include':
                                                includes.append(item[3])
+                       g.write (end_blurb)
                        g.close ()
                elif output_file:
-                       toto = re.findall (r"""^@(include|node|(?:unnumbered|appendix)(?:(?:sub){0,2}sec)?|top|chapter|(?:sub){0,2}section|(?:major|chap|(?:sub){0,2})heading) *([^@
+                       toto = re.findall (r"""^@(include|node|(?:unnumbered|appendix)(?:(?:sub){0,2}sec)?|top|chapter|(?:sub){0,2}section|(?:major|chap|(?:sub){0,2})heading) *([^
                        ]*)[^
                        ]*?$|@(rglos){(.+?)}""", texifile, re.M)
                        for item in toto:
diff --git a/buildscripts/texi-skeleton-update.py b/buildscripts/texi-skeleton-update.py
new file mode 100644 (file)
index 0000000..399b22e
--- /dev/null
@@ -0,0 +1,25 @@
+#!@PYTHON@
+# texi-skeleton-update.py
+
+import sys
+import glob
+import os
+import shutil
+
+sys.stderr.write ('texi-skeleton-update.py\n')
+
+orig_skeletons = set ([os.path.basename (f) for f in glob.glob (sys.argv[1] + '/*.itely')])
+new_skeletons = set ([os.path.basename (f) for f in glob.glob (sys.argv[2] + '/*.itely')])
+
+for f in new_skeletons:
+    if f in orig_skeletons:
+        g = open (os.path.join (sys.argv[1], f), 'r').read ()
+        if '-- SKELETON FILE --' in g:
+            sys.stderr.write ("Updating %s...\n" % f)
+            shutil.copy (os.path.join (sys.argv[2], f), sys.argv[1])
+    else:
+        sys.stderr.write ("Copying new file %s...\n" % f)
+        shutil.copy (os.path.join (sys.argv[2], f), sys.argv[1])
+
+for f in orig_skeletons.difference (new_skeletons):
+    sys.stderr.write ("Warning: outdated skeleton file %s\n" % f)
index 09ae7b80fb42f67929bfea59d0ad7e67a285b0b0..6dded57b341238cd99fdded2875c7a16f1c4b3cb 100644 (file)
@@ -78,10 +78,21 @@ if 'online' in targets:
     f.write ('#.htaccess\nDirectoryIndex index\n')
     f.close ()
 
+# load gettext messages catalogs
+t = {}
+localedir = os.path.join (buildscript_dir, '../Documentation/po', outdir)
+for l in langdefs.LANGUAGES:
+    if l.enabled and l.code != 'en':
+        try:
+            t[l.code] = gettext.translation('lilypond-doc', localedir, [l.code]).gettext
+        except:
+            t[l.code] = lambda s: s
+
 add_html_footer.build_pages_dict (html_files)
 for t in targets:
     sys.stderr.write ("Processing HTML pages for %s target...\n" % t)
     add_html_footer.add_html_footer (
+        translation = t
         package_name = package_name,
         package_version = package_version,
         target = t,