Thread:User talk:CodeCat/the new version of langprefix/reply (22)

There is absolutely no problem with, either in theory or in practice. In fact, that already works; it's just that also works.

But is a special case, since (1) its argument isn't necessarily a language code, or even a fake language code — we can write, for example — and (2) we can simultaneously have  and , for example, if we want  to display "Modern Greek" while  links to [[foo]]. The etyl: templates really belong to ; probably we should have made them explicit subtemplates, by using names like instead of names like. The only connection between etyl: and proto:/cons:/etc. is that the former was apparently the inspiration for the latter.

A more typical case is. Currently, something like does not work. The problems are: (1) it doesn't know to link to an appendix (which can be fixed, by having it check for initial proto:); (2) it will actually put lang="proto:gem-pro" in the HTML (which would be easy to fix if we had Scribunto; since we don't, I think we'd have to create a new set of language subtemplates, called e.g. or whatnot, for mapping e.g. fr to fr and <tt>proto:gem-pro</tt> to <tt>x-gem-pro</tt> — though if we want, we could avoid creating it for mainspace languages . . . suffice it to say, if we want to go this route, I have some thoughts on the subject); (3) it uses the script-template  (because, for reasons I can no longer recall,  won't try e.g.  if it finds that the language-code includes URI-special characters; that's easy to "fix", in theory, by removing that check, but I'm loath to do so without remembering why it was included to begin with); and (4) possibly other problems I haven't thought of. These problems are surmountable if we want to do it this way; personally, I think I'd prefer something like, but there are multiple valid approaches.