Two points before I make my proposal:
1. I prefer the Frodo (Middle Earth) naming convention. It's more
encyclopedia-like.
2. I stand against subpages. Having said that, I stand in support of a
software solution that will translate links so people don't have to type so
much.
So here's yet another proposal. (Although I haven't done anything yet, I am
a registered SourceForce developer. So I'm willing to code up what I
propose.)
It's a blend of ideas already presented by Uri, Magnus, and Mark.
Mine is different because I think the system should merely translate what an
author has typed into what the author is presumed to have meant. This
completely simplifies the wiki syntax to what we have now, but it makes it
easier to create content. An acceptable balance, IMHO. Magnus has set a
precedent for this with the ~~~ signature feature (however, it would be much
more useful if it would expand in the preview screen). So I'm assuming that
the section of the system that translates ~~~ would do these new
translations.
So the elements of the changes are:
1. If the title has a parenthetical phrase, then that phrase is presumed to
be the parent article. So on the Frodo (Middle Earth) page, a link typed
[[/elves]] will be expanded to [[elves (Middle Earth)|elves]] when the page
is saved.
2. If the Title doesn't have a parenthetical phrase, e.g. Middle Earth, then
links of the form [[/elves]] are translated to [[elves (Middle
Earth)|elves]] when the article is saved.
3. To make it easier to use random parethesized article names, the system
could translate any link of the form
[[/name (parenthetical)]]
to
[[name (parenthetical)|name]]
It doesn't save much typing, it has a nice symmetry to the previous two
translation patterns.
4. If we want to get fancy, then we can borrow from the way Perl programmers
change namespaces. I'm simplifying, but basically, in Perl, typing
package "FantasyFiction";
will cause subsequent symbol lookups to happen in the FantasyFiction::
namespace.
So we could use Uri's idea of the #base pragma to cause something like this:
#base [[Fantasy Fiction]]
[[/elves]]
to be translated into this:
See also: [[Fantasy Fiction]].
[[elves (Fantasy Fiction)|elves]]
The system could remove the #base line completely instead of translating it,
but I think it's useful to reflect by default that there's a relationship
between the content of a give page and some other related page. After all,
if the author doesn't like that behavior, he or she can simply type the
links manually instead of using #base. Or the author can edit twice: the
first is a major edit, and the second is a minor edit to remove the See
also: line.