Timwi:
ns_default is the namespace all other namespace names for that ns_id will redirect to.
I would have called it "ns_canonical" or even "ns_is_canonical", but with sufficient documentation it shouldn't make much difference :)
The behavior is different from what is currently called "canonical". The current canonical namespaces are essentially synonyms which always redirect to the local form. This, on the other hand, is the local form that all synonyms redirect to -- and one of these synonyms can be canonical, i.e. available in all languages by default.
How is this going to tie in with the [[Image:...]] syntax being special because it inserts an image rather than linking to it? That needs to be internationalised too. :) Oh, and don't forget about the [[Media:...]] syntax, which is also special.
In my opinion, any special functionality associated with the image namespace and its synonyms should be unrelated to the name you are using. Instead, the code should check what type of file it is dealing with, and make a decision based on that how to deal with it (embed as sound, image, video). Even different image types are not treated the same way (SVG is rendered to PNG first).
Whether we should create synonyms beyond the simple Image=>File redirect when we don't have special ways of dealing with these file types yet is arguable. The current behavior would be that [[Sound:soundfile.ogg]] would link to the file description page for that file, but not embed it (so would [[Image:soundfile.ogg]]). But it might be enough to have [[File:Soundfile.ogg]] for this purpose for now.
Just a suggestion, but if it isn't too much work:
- when deleting a namespace that contains pages, offer to change all those pages' names to be prefixed (i.e. turn it into a pseudo-namespace)?
Can you give me an example scenario where I might *want* a pseudo-namespace? They mostly seem to be used as a kludge when real namespaces are too hard to make. Personally, I strongly dislike them because they look like namespaces without acting like them; I would rather not create them in some transparent way.
- when creating a namespace if there are existing pages with that prefix, offer the option of "importing" those pages into the new namespace?
Yes, that shouldn't be too hard in the new database schema since there is only one row for each page to update.
Best,
Erik