Originally created by: *anonymous
Originally created by: RalphBug...@gmail.com
Federico Bruni writes :
Issue 1721 reported that @rlsr{Name} keeps the text in english but
translates the link in the translated manuals (no idea where the
translation comes from).
So it recommends to use @rlsrnamed{Name,Translation} instead.
But it looks like @rlsrnamed is affected by the same bug.
Looking through the log file of make doc I've found a lot of errors like
this:
WARNING: Unable to find node 'Hauteurs' in book snippets.
(look at NR 1.1, you'll find a lot of these broken links)
In general, go to the french NR and search for "Morceaux choisis :":
you'll see that most of the links are broken.
There are some exceptions, for example this works:
http://lilypond.org/doc/v2.15/Documentation/notation/piano.fr.html
(Claviers link down on the page)
The syntax used is the same: @rlsrnamed{Name,Translation}.
Putting a space after the comma makes any difference.
I can't understand the reason of this weird behaviour.
Can you please explain what's happening?
Originally posted by: Themu...@gmail.com
I encounter the same problem with many pages of dev version's manuals, such as : http://lilypond.org/doc/v2.15/Documentation/changes/index.fr.html
(404 error, as this page has got EN and ES versions only)
The site should bring back to english if there is no translated version.
Originally posted by: pkx1...@gmail.com
Is this basically the same thing as issue 1721?
Related
Issues:
#1721Originally posted by: pkx1...@gmail.com
(No comment was entered for this change.)
Summary: Translations: @rlsrnamed{Name,Translation} translates also the name in the URI
Originally posted by: colingh...@gmail.com
Jean-Charles Malahieude reported some additional info on bug-lilypond:
http://lists.gnu.org/archive/html/bug-lilypond/2012-03/msg01082.html
Originally posted by: fedel...@gmail.com
Quoting myself:
"Issue 1721 reported that @rlsr{Name} keeps the text in english but
translates the link in the translated manuals (no idea where the
translation comes from).
So it recommends to use @rlsrnamed{Name,Translation} instead.
But it looks like @rlsrnamed is affected by the same bug."
Now I have a clue of what's happening.
The translation comes from a @node/@translationof pair.
It's not specific of @rlsr or @rlsrnamed, it happens with any macro.
For example...
http://lilypond.org/doc/v2.15/Documentation/learning/creating-contexts.it.html
The source file is Documentation/it/learning/fundamental.itely
I think there's a kind of conflict in node names.
The chapter is called this way:
@node Creare i contesti
@subsection Creare i contesti
@translationof Creating contexts
Scroll down a bit and you'll see:
@seealso
Guida alla notazione: @ruser{Creating contexts}.
In the compiled doc the link above is (wrongly) translated:
http://lilypond.org/doc/v2.15/Documentation/notation/creare-i-contesti
At least now it's clear where the translation comes from.
Related
Issues:
#1721Originally posted by: fedel...@gmail.com
To make it clear that the error is due to @translationof and affects any crossref (not only @rlsr or @rlsrnamed), look at these examples.
In french NR the link @rlsrnamed{Keyboards, Claviers} works fine because there's no "@translationof Keyboards". In fact:
$ cd Documentation/fr
$ git grep -w 'Keyboards'
notation/keyboards.itely:@rlsrnamed{Keyboards, Claviers}.
notation/keyboards.itely:@rlsrnamed{Keyboards,Claviers}.
notation/keyboards.itely:@rlsrnamed{Keyboards, Claviers}.
notation/keyboards.itely:@rlsrnamed{Keyboards, Claviers}.
notation/keyboards.itely:@rlsrnamed{Keyboards, Claviers}.
notation/keyboards.itely:@rlsrnamed{Keyboards, Claviers}.
notation/keyboards.itely:@rlsr{Keyboards, Claviers}.
OTOH, the error reported also in issue 1721:
$ cd Documentation/de
$ git grep 'Expressive marks'
notation/expressive.itely:@translationof Expressive marks
notation/expressive.itely:@translationof Expressive marks attached to notes
notation/expressive.itely:@rlsr{Expressive marks}.
notation/expressive.itely:@rlsr{Expressive marks}.
notation/expressive.itely:@rlsr{Expressive marks}.
notation/expressive.itely:@translationof Expressive marks as curves
notation/expressive.itely:@rlsr{Expressive marks}.
notation/expressive.itely:@rlsr{Expressive marks}.
notation/expressive.itely:@rlsr{Expressive marks}.
notation/expressive.itely:@rlsr{Expressive marks}.
notation/expressive.itely:@translationof Expressive marks as lines
notation/expressive.itely:@rlsr{Expressive marks}.
notation/expressive.itely:@rlsr{Expressive marks}.
notation/expressive.itely:@rlsr{Expressive marks}.
notation/fretted-strings.itely:@rlsr{Expressive marks}.
notation/rhythms.itely:@rlsr{Expressive marks},
notation/text.itely:@rlsr{Expressive marks}.
And finally an error on @ruser (mentioned in previous comment):
$ cd Documentation/it
$ git grep 'Creating contexts'
learning/fundamental.itely:@translationof Creating contexts
learning/fundamental.itely:Guida alla notazione: @ruser{Creating contexts}.
Related
Issues:
#1721Originally posted by: fedel...@gmail.com
$ git grep 'WARNING: Unable to find node'
Documentation/lilypond-texi2html.init: print STDERR "WARNING: Unable to fin
I guess we should start from there to track the problem.
I'm afraid that the build system is a bit too complex for me
Originally posted by: fedel...@gmail.com
Maybe it's worth changing title and description for this issue? I don't think I have the rights to do it.
This is how I would describe it (disclaimer: I have zero knowledge of the build system).
PROBLEM: part of the href (the node name) is translated, so the link
is broken. It affects only links to *untranslated nodes* of external manuals (cross-references). For example we have:
Documentation/notation/creare-i-contesti.it.html
instead of:
Documentation/notation/creating-contexts.it.html
It seems that this is due to the presence of @translationof referred
to both a @node and some cross-ref (like @ruser or @rlsr) node which doesn't
have a @translationof in its file. If @translationof is present, the problem
doesn't occur. So maybe scripts/build/extract_texi_filenames.py doesn't
take this case in account?
A workaround could be using the second method described (and not recommended) in
CG 5.8.2, i.e. translating the node in the linked page and add a @translationof entry.
But this is not the way to go, as most of the broken links are links
to snippets manual, which is not translated in any language.
So it would be better fixing it.
The question is: how cross-ref URIs are generated? I guess that we should
loook into scripts/build/extract_texi_filenames.py
The initial comment is a pretty good start.
I guess I should look into process_sections function.. but I'm moving my first steps in python, this is probably too complex for me.
Cc: john.man...@gmail.com
Originally posted by: fedel...@gmail.com
I think that xref-maps are created correctly by extract_texi_filenames.py (line 240).
It must be NODE\tFILENAME\tANCHOR, where only NODE must be translated.
Let's take one of the node not found reported before:
$ cd out-www/xref-maps
$ grep 'Contexts-explained' *.it.xref-map
learning.it.xref-map:I contesti Contexts-explained Contexts-explained
learning.it.xref-map:Contexts explained Contexts-explained Contexts-explained
notation.it.xref-map:Contexts explained Contexts-explained Contexts-explained
As you see, no filename or anchor is translated here.
Note: the node in NR using the same name is correctly not translated (because I
haven't translated it yet).
Another example:
@ruser{Creating Context} in italian LM creates a translated URI.
But it seems that extract_texi_filenames.py is doing his job:
$ grep 'Creare i contesti' *.it.xref-map
learning.it.xref-map:Creare i contesti Creating-contexts Creating-contexts
Some other script in a further step of doc compilation is breaking...
Maybe lilypond-texi2html.init?
This comment would suggest that this file may still have a role in
the filename creation:
# the @translationof macro provides the original English section title,
# which should be used for file/anchor naming, while the title will be
# translated to each language
# It is already used by extract_texi_filenames.py, so this should not be
# necessary here at all. Still, I'll leave the code in just in case the
# python script messed up ;-)
I've tried to comment lilypond_unknown in lilypond-texi2html.init but some
of that code is needed to tell texi2html what @translationof is. In fact
I got these errors in the .log file:
** Unknown command `@translationof' (left as is) (in out-www/learning/tutorial.texi l. 778)
Originally posted by: fedel...@gmail.com
Issue 1721 has been merged into this issue.
Related
Issues:
#1721Originally posted by: fedel...@gmail.com
(No comment was entered for this change.)
Summary: Translations: links to untranslated nodes of external manuals are broken because of node conflicts
Diff: