Template:Anchor

Revision as of 20:49, 17 May 2008 by Walter (talk | contribs) (New page: <includeonly><span id="{{{1}}}"></span></includeonly><noinclude>Category:Template This template is used to create an anchor without requiring a specific (sub) section header to be made...)

This template is used to create an anchor without requiring a specific (sub) section header to be made.

The main purpose is to allow the translation of links without interfering in the translation of content. The most usual 'problem' arising when translating is that some section titles are much less immutable than the original. For example, in the HIG there's the concept of Home. The word itself may have several possible translations in a given language, and one may be prefered to others but may not have been the 'initial' choosing. In later revisions, the header could be changed for a better wording, but then all the links pointing to it would be broken. The solution is to use this template as the anchor for the original language header.

Example
In a page you are translating there's the following link:
          [[OLPC Human Interface Guidelines/The Laptop Experience/Zoom Metaphor#Home]]           # Original link
            OLPC Human Interface Guidelines/The Laptop Experience/Zoom Metaphor/lang-xx          # Translated page
          [[OLPC Human Interface Guidelines/The Laptop Experience/Zoom Metaphor/lang-xx#Home]]   # Translated link
The linking of translated pages (and their sections) can be done regardless of how the Home section header was translated — in spanish it could be translated as either Hogar or Casa—both actually linking to the anchor #Home and will both work.
It's also possible to link the translated terms #Hogar or #Casa—but in this case, one of them will not work.

Usage

ORIGINAL PAGE                TRANSLATED PAGE               REVISED TRANSLATION
                             {{Anchor|Home}}               {{Anchor|Home}}
== Home ==                   == Hogar ==                   == Casa ==

NOTE: the {{Anchor|original header}} must be in the previous line. Reason for this is that if placed below, when 'jumping' to it, the header will 'lost' (because it's above). The downside of this is that while editing a section, you can't manipulate it because it 'belongs' to the previous section.

Its use is discouraged outside the context of translating pages. If used outside that context, it is recommended to be used only within the same page (no inter-page linking using hidden anchors).

If the purpose is to avoid having a __TOC__ too deep, we should consider other solutions (heard about a {{TOClevel|n}} to limit the depth shown.

History & Credits

The concept of anchor is essential to hypertext. The adaptation of using <div id="original header"/> (a ruthless hack) was done by Xavi after discovering that the <a> is not allowed. That solution broke down after an update of the wiki. The solution was to switch to an html compliant <div id="original header"></div>. If the anchor had been originally reified (instead of manually embeding it in the wiki text) a simple update of the Template:Anchor would've solved the problem.

So now, this is part of a (hopefully) better solution — suggestion by MitchellNCharity.