On Thu, Jan 11, 2024 at 06:09:20PM +0200, Eli Zaretskii wrote: > > The node name may be visible in the output, so if English node names are > > used they won't be in the translated manual language. So I do not think > > that is it correct, in general, to use the English node names even if > > they link to the correct node in a translated manual with English node > > names as anchors. > > Sorry, I don't understand what you are saying. What do you mean by > "visible in the output"? which output?
The Info output, I believe. Suppose there is a cross-reference to a node in the Emacs manual, "Select Buffer". This would appear in Info output as "*note (emacs)Select Buffer::." The English words "Select Buffer" would appear incongruous surrounded by non-English text. It's possible to supply a label for a cross-reference, so it could be "*note Choisir Tampon:(emacs)Select Buffer. (Apologies if this is bad French.) However, the English text is still visible. It could be hidden with Info-hide-note-references in Emacs or similar, but this is not an ideal situation as the line lengths will be affected in a paragraph. The problem with translating the node name is that a simple cross-reference like "note (emacs)Choisir Tampon" would not work if the manual and node did not exist. First Info would have to know the preferred language of the manual to find, and find a manual "emacs-fr.info". Then, if the manual does exist, the person translating the manual may not have used that translation. If they had called it "Sélectionner buffer" instead it wouldn't be found. Any manual being translated would likely reference several others, many of which will not have existing translations. It's not right for a translator just to make up their own translations of node names for manuals which haven't been translated yet. Although it's not ideal, using cross-reference labels may be the best solution. It would be a temporary solution if the targetted manual obtained an English translation later. Once that is the case, the first manual could be updated with the translated node name, so "*note Choisir Tampon:(emacs)Select Buffer." becomes "*note (emacs)Choisir Tampon::", eliminating the English. Automatic processing of other translated manuals could make node name translations easily available. You could imagine an Emacs command used by a translator that would look up equivalent node and anchor names in Texinfo documents, if they exist. For example, if a translator translates a file containing "@ref{Select Buffer,, emacs, The Emacs Editor}" and supposing that emacs-fr.texi did exist with "@node Choisir Tampon" and "@anchor{Select Buffer}" immediately after, the software could make the @node name available to use in translating this @ref. This would require a translator to have the other translated manuals on their machines, but you could imagine the same system working on an abbreviated version of the manuals that solely had @node lines with following @anchor commands. This all seems to me to be something to be worked out in software used by translators as well as possibly processes to be followed by translation teams.