Menu

#2266 Translations: links to untranslated nodes of external manuals are broken because of node conflicts

Accepted
nobody
Documentation
2017-02-02
2012-01-30
Anonymous
No

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?

Related

Issues: #1721

Discussion

  • Google Importer

    Google Importer - 2012-01-30

    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.

     
  • Google Importer

    Google Importer - 2012-03-25

    Originally posted by: pkx1...@gmail.com

    Is this basically the same thing as issue 1721?

     

    Related

    Issues: #1721

  • Google Importer

    Google Importer - 2012-03-26

    Originally posted by: pkx1...@gmail.com

    (No comment was entered for this change.)

    Summary: Translations: @rlsrnamed{Name,Translation} translates also the name in the URI

     
  • Google Importer

    Google Importer - 2012-08-04

    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: #1721

  • Google Importer

    Google Importer - 2012-10-23

    Originally 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: #1721

  • Google Importer

    Google Importer - 2012-10-23

    Originally 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

     
  • Google Importer

    Google Importer - 2012-10-24

    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

     
  • Google Importer

    Google Importer - 2012-10-26

    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)

     
  • Google Importer

    Google Importer - 2012-12-29

    Originally posted by: fedel...@gmail.com

    Issue 1721 has been merged into this issue.

     

    Related

    Issues: #1721

  • Google Importer

    Google Importer - 2012-12-29

    Originally 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

     
  • Federico Bruni

    Federico Bruni - 2017-02-02
    • labels: --> translations
    • Description has changed:

    Diff:

    
    
    • Needs: -->
    • Patch: -->
     
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.