Page MenuHomePhabricator

An interlanguage link to oldwikisource is required
Closed, ResolvedPublic

Description

If I write [[oldwikisource:something]] on any Wikisource subdomain, the result is an ordinary link to http://wikisource.org/wiki/Something, the type I would expect if I'd write [[:oldwikisource:something]]. Instead, it should produce an interwiki link in the sidebar.

Please fix as soon as possible, on Wikisource we're working for stronger integration between subdomains and oldwikisource, and this is a major obstacle for us.


Version: unspecified
Severity: major
See Also:
T43807: Support for pseudo-language "mul" to indicate multilingual content

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 22 2014, 12:00 AM
bzimport set Reference to bz32189.
bzimport added a subscriber: Unknown Object (MLST).

Old wikisource predates all other wikisources (I'm still not sure why other language editions got created rather than sharing everything as with Commons). For backwards-compatibility, language interwikis remain as they have always been, linking to Wikipedia.

It's probably possible to change but you may need to sweep for broken links etc.

Well, interwikis pointing to Wikipedia are the subject of bug 29591, this bug is a slightly different matter (altough the two are surely related).

Yes, I will fix broken links, that's not a problem. The important thing is that [[:oldwikisource:something]] remains as is, so that we can just replace "[[oldwikisource:" with "[[:oldwikisource:" everywhere, and then start using [[oldwikisource like an interwiki link.

In general: I know that oldwikisource predates etc. etc., but isn't it possibile to make oldwikisource work *exactly* like any other Wikisource subdomain?

And maybe give it a better code, like mul.wikisource.org, given that the "real" name of the project is Multilingual Wikisource and not Old Wikisource? these "particularities" of oldwikisource have already caused too much headaches to all of us...

Is this a dupe of bug 26124 or bug 29591 ?

(In reply to comment #3)

Is this a dupe of bug 26124 or bug 29591 ?

As I said before, 29591 is related, but this one refers to a different aspect of the general problem about interwikis at oldwikisource (interwikis *from other subdomains* that do not work as expected - while 29591 is about interwiki *from oldwikisource* that do not work as expected).

I don't know is a single action can fix both... I'm just asking that they be fixed, together or separately :-)

26124 is about creating an alias be -> oldwikisource, so to me it looks like a different matter.

beau wrote:

I don't think it is a good idea to change oldwikisource into language link. It would require to modify all existing links to avoid breakage. I stronly recommend to redirect the other language prefixes to oldwikisource.

On Polish Wikisource we have a gadget to do that: https://pl.wikisource.org/wiki/MediaWiki:Gadget-iw-fixer.js.

It simply replaces https://be.wikisource.org/wiki/xxx with https://wikisource.org/wiki/xxx.

(In reply to comment #5)

I don't think it is a good idea to change oldwikisource into language link. It
would require to modify all existing links to avoid breakage. I stronly
recommend to redirect the other language prefixes to oldwikisource.

On Polish Wikisource we have a gadget to do that:
https://pl.wikisource.org/wiki/MediaWiki:Gadget-iw-fixer.js.

It simply replaces https://be.wikisource.org/wiki/xxx with
https://wikisource.org/wiki/xxx.

Wait, so you're using prefix be: like it was the prefix for oldwikisource?!? And what will you do if be.wikisource is created? Nah, this is just another workaround. We need a definitive solution, or oldwikisource will always remain "a son of a lesser God".

What's wrong in doing a simple replace "[[oldwikisource:" -> "[[:oldwikisource:"? They're probably not many, a bot can do it quickly.

beau wrote:

If be.wikisource.org is created, the link won't have to be replaced, because the content will be moved to be.wikisource.org, right?

There might be more than one language version on oldwikisource and that is easily solved using this approach. The page can have multiple links like that:
[[aa:xxx]], [[be:yyy]].

The first one will be visible as Qafár af and will be pointing to https://wikisource.org/xxx. The second one will be visible as Беларуская and will be pointing to https://wikisource.org/yyy. No additional hacks are required, because this will work like a normal interwikis.

Yes, but this system does not work with "generic" oldwikisource pages, like the ones in namespace Wikisource:. Also, this fake interwikis cannot be maintained automatically with pywikipedia.

I really don't understand why we are always using some workaround, instead of just fixing what's broken...

beau wrote:

It makes sens to me that if I want a link to be-page I will use [[be:xxx]] and if I want a link to aa-page I will use [[aa:xxx]]. Using oldwikisource in this cases look like ugly workaround for me and it makes it harder for average user to understand. And if content is moved from oldwikisource to be.wikisource no changes are required on other wikis as long as the page title is not changed in the process. Only prefix needs to be updated.

If you want an interwiki prefix for oldwikisource just use for example 's', as it is unused right now.

I think we are mixing two separate issues. First, links to oldwikisource should work like I said before. Second, we should have aliases for every language that does not currently have a subdomain.

Interlanguage links in the sidebar are just that -- interLANGUAGE links. The way MediaWiki decides whether a link is an interlanguage link is literally by checking if the prefix is listed in languages/Names.php , which contains a map of all language codes and their names.

'oldwikisource' is not a language code, and it doesn't represent a language. Putting an entry saying 'old wikisource' in the "Languages" header would make no sense. I'm assuming the real problem you're trying to solve is not "oldwikisource should appear in the languages list", but something else like "language XYZ doesn't have its own wikisource, so those pages live on oldwikisource where we can't create interlanguage links to it"?

(In reply to comment #11)

Exactly, Roan. Thanks for your explanation. That's the problem we're trying to solve. But also, note that not necessarily all pages on oldwikisource correspond to a language code. We could have pages in ancient languages that do not even have a language code, or contructed languages, or written in a mix of two or more languages. (Wikisource is different from Wikipedia, that does not accept content that hasn't got a language code. In Wikisource you can put every published text in public domain, no matter in which language.)

In short words, all that doesn't clearly belong to a Wikisource existing language code, goes to Old Wikisource, which is (in my opinion) a poorly chosen name for what should actually be called Multilingual Wikisource.

What we would need is some "fake" language code to group everything that hasn't got (yet) a language code. If 'oldwikisource' cannot be used as language code, can we use something like 'mul'? On http://www.sil.org/iso639-3/scope.asp#S they say: "ISO 639-2 defines three code elements for other special situations. The identifier [mul] (multiple languages) should be applied when many languages are used and it is not practical to specify all the appropriate language codes."

(In reply to comment #12)

What we would need is some "fake" language code to group everything that hasn't
got (yet) a language code. If 'oldwikisource' cannot be used as language code,
can we use something like 'mul'? On http://www.sil.org/iso639-3/scope.asp#S
they say: "ISO 639-2 defines three code elements for other special situations.
The identifier [mul] (multiple languages) should be applied when many languages
are used and it is not practical to specify all the appropriate language
codes."

I'm not very well-versed in the details of language code policy, so I'll leave the decision of what's The Right Thing To Do to Siebrand (CC).

'mul' is exactly what we ought to be using and ''if necessary'' the whole project should be moved to mul.wikisource.org with nothing but the navigational mainpage on the higher level domain. That would also avoid messing up current links that were created under the current system (a user who made a mistake and wrote [[oldwikisource:]] when they meant [[:oldwikisource:]] wouldn't notice it now and might have even considered the latter unnecessary because they knew the two do the same thing).

"mul.ws" is generally understood by regulars of the oldwikisource community and major subdomains as == www.wikisource.org

"old" is really an insulting name for the project that has many works on it that will never move to a subdomain and also some that belong to a valid subdomain but are in scope at oldwikisource due to copyright issues (see http://wikisource.org/wiki/Wikisource:Copyrights#Works_that_are_in_the_public_domain_in_the_US_only). The project is also used for a lot of general wikisource coordination and development and many pages need interwiki links to and from. "From" is no problem but "to" is a serious issue and the lack of this capability greatly hinders inter-subdomain work.

Brion's comment that he isn't sure why it ever happened is well taken, the whole thing is a mess technically, especially with multilingual works. However, it relates to decisions about non-English speaking communities more than what was technically best.

I'm really surprised this bug was just created last month and I thank Candalua for finally bringing this forward for us.

Bug 13334 is related but was originally specific to Wikiversity Beta to which reference to oldwikisource was added and then it was later determined that 2 separate bugs were required as mul.ws is a much different case.

That's great but it was never resolved. It went round in circles and then was marked "not done". Some discussion that it was impossible. Not sure why. But if special cases where a valid language exists can be linked to multilingual then why shouldn't mul: work as it's a valid language code? And discussion a long time ago doesn't really justify dropping the severity of the issue. It's a very serious issue for wikisources.

Just adding a comment because Roan asked for my input. I support comment 11 which refers to http://www.sil.org/iso639-3/scope.asp and "mul".

(In reply to comment #18)

Just adding a comment because Roan asked for my input. I support comment 11
which refers to http://www.sil.org/iso639-3/scope.asp and "mul".

Comment 11 doesn't mention those, but comment 12 does. So you support creating the 'mul' language code for multilingual things, and putting the old Wikisource in there? If so, I think you and/or your i18n team are the people that can make that happen :)

Unknown territory for me, but I'll see what can be done. Niklas?

I have nothing against of using 'mul' as language code. No idea how those are changed though.

I have re-elevated this bug as there was no response to my challenge in December to it being dropped. This is a debilitating bug in the Wikisource world and substantially limits work with translations and multilingual works. I'm glad to see that it appears a decision has been made but I'm also concerned it may be stagnating due to lack of information on how to do it and who is capable of that.

Changed back to normal/normal.

This also depends on other things, one of which is project moving to different domain. And that's not trivial.

(In reply to comment #23)

This also depends on other things, one of which is project moving to different
domain. And that's not trivial.

Ok with the priority, but the domain won't change. What are the "other things"?

(In reply to comment #23)

Changed back to normal/normal.

This also depends on other things, one of which is project moving to different
domain. And that's not trivial.

I don't think anyone has suggested that the multilingual wikisource would move to mul.wikisource.org, if that's what you mean. Setting up the interwiki language link should in fact be trivial and should require nothing other than agreeing that it should be [[mul:]] and someone with access adding it.

For this interlanguage link there are two problems:

But, some time ago the script for missing wikis (http://svn.wikimedia.org/viewvc/mediawiki/trunk/tools/web-scripts/missing.php) was changed so it goes to Wikimedia Incubator, except for Wikiversities and Wikisources. We could adapt that so missing Wikisources redirect to the multilingual Wikisource (so using [[aa:Title]] will go to e.g. wikisource.org/wiki/Title).

(In reply to comment #26)
Hrm, interesting. I was unaware of these issues. The suggested default behavior for wikisources sounds like a good thing but doesn't solve the real problem. A work that has translations in several languages including one that doesn't have a subdomain will have sidebar links for all the others but not for the one(s) at multilingual wikisource. This can include major authors, some of whom have have their original works at mul.ws for copyright policy reasons but translations at en.ws.

For general interwiki links (that show up in the text), [[:oldwikisource]] works, though it has an undesirable name.

We have a js workaround on en.ws for the sidebar issue but it isn't in common use and is fairly awkward to implement. [[s:en:MediaWiki:Multilingual-link.js]]

I'm not quite sure that I understand what would be wrong with general implementation. "mul" is a valid ISO 639-2 language code to designate multiple languages. Having it show up in preferences seems trivial, no body would likely choose it and if no translations are created at translatewiki it will just display default english won't it? Having it work on all wikis would be of little consequence because there'd be no use for it so it would go unused and if someone did use it for some reason it would direct to the incubator on any project other than a ws, if I understand you correctly.

(In reply to comment #27)

I'm not quite sure that I understand what would be wrong with general
implementation.

Nobody said there's something wrong. I don't think we need speculation about it, we only need someone who knows how language interwikis work to check how to add it without problems. It should only be a change to the interwiki cache, not involving the addition of an actual interface language or other complications.

Reviewing comments above, I notice that we have gone round and round over what this is really about. Although comments 2 (Candalua) and 14 (me) do suggest that moving multilingual wikisource to mul.wikisource.org might be in order as a related issue and comment 23 (Danny B.) says it's a prerequisite to solving this one, it is not the subject of this bug and shouldn't be necessary to resolve this issue (if it is, then it should be listed as a separate bug - not blurred with this one). This bug is simply about having "mul:" link to works on the multilingual wikisource. Whether it works on other projects is largely immaterial, those where it's not needed would simply never use it. mul is a valid language code under ISO 639-2 and wikisource.org contains texts in multiple languages and business done there is conducted in multiple languages (e.g. at least one admin does not write in English).

Comment 26 (SPQRobin) is essentially the same issue brought up by Beau in comment 9 and addressed by Candalua in comment 10. Although in Comment 10, Candalua was discussing aliases which would be dependent on this bug and SPQRobin's solution is somewhat broader, easier to implement, and is not dependent on this bug. Both are a good idea but are NOT the subject of this bug. This bug is ONLY about a general interwiki language link for the multilingual wikisource. To clearly separate the issues, neither of which depends on the other, I have created Bug 36033.

Just for reference, this actually appears to be the same issue as [[Bug 2738#0]] item 1, that bug involved several issues and was marked resolved in 2005 because another part of the bug was fixed.

Note that bug 36033 was fixed some time ago, so using e.g. [[aa:Title]] (missing Wikisources) will link to the main wiki: http://wikisource.org/wiki/Title.

Re comment 31, OK, that's good to note (and I'm very glad for it as it was much needed as well); though that was a separate bug for a reason. It only works for valid languages for which there is no wikisource; there are plenty of those and for them bug 36033 is the right solution. There are many other pages at mul.ws that don't fall into that category as discussed above.

A seemingly appropriate solution to this bug would be to translate, say, [[mul:Foo]] to a sidebar link titled "Other languages" or "More languages", appearing at the bottom of the list of language links.

This could be done by JavaScript, of course, but that is a stupid hacky solution. Instead, an extension ought to be written that would accomplish this. (Such an extension could also be used, e.g. on the English Wikipedia main page to produce the "Other languages" link there.)

I would have hoped that we could have just had the interlanguage configured so that [[mul:]] only shows at Wikisources, and if any other wikis every need a multi-language site that it could be used for them too at that point of time. Maybe even do something for betaversity at the same time.

(In reply to comment #34)

I would have hoped

So would I, but sadly your suggestion just isn't feasible right now, for reasons I and others have explained above.

Change 111390 had a related patch set uploaded by TTO:
Allow interlanguage link prefixes that are not language codes

https://gerrit.wikimedia.org/r/111390

If I read the commentary in the change 111390 properly, defined interwiki links will be moved to the sidebar.

Is that

  • "any use" of the interwiki? eg. [[mul:xxxx]] and {:mul:xxxx]] in either form would still be pushed to the sidebar?

OR

  • that the existing behaviour of preceding an interwiki with a colon will still allow the link to stay in the body of the text? and standard linking will be in the sidebar.

This:

(In reply to comment #37)

  • that the existing behaviour of preceding an interwiki with a colon will

still allow the link to stay in the body of the text? and standard linking
will
be in the sidebar.

Noic(In reply to comment #38)

This:

(In reply to comment #37)

  • that the existing behaviour of preceding an interwiki with a colon will

still allow the link to stay in the body of the text? and standard linking
will
be in the sidebar.

NOICE! ;-)

Change 140131 had a related patch set uploaded by Cscott:
WIP: Add "extra language link" support to Parsoid.

https://gerrit.wikimedia.org/r/140131

Change 111390 merged by jenkins-bot:
Allow interlanguage link prefixes that are not language codes

https://gerrit.wikimedia.org/r/111390

Change 141099 had a related patch set uploaded by TTO:
Add additional interwiki links as requested in various bugs

https://gerrit.wikimedia.org/r/141099

Change 142431 had a related patch set uploaded by Cscott:
Add parser test for "extra interlanguage links".

https://gerrit.wikimedia.org/r/142431

Change 142431 merged by jenkins-bot:
Add parser test for "extra interlanguage links".

https://gerrit.wikimedia.org/r/142431

Change 140131 merged by jenkins-bot:
Add "extra language link" support to Parsoid.

https://gerrit.wikimedia.org/r/140131

Status: All patches merged; except for https://gerrit.wikimedia.org/r/#/c/141099/ still awaiting merge.

Because I am good at dumb questions, I have one to ask.

The mul: interwiki link doesn't work, and it doesn't show in the interwiki map. So if that is in the merged component, some indication of why or when we can expect this to work would be lovely.

If it is in the unmerged component, who should I nag to get this review undertaken? Thanks.

(In reply to billinghurst from comment #47)

If it is in the unmerged component, who should I nag to get this review
undertaken? Thanks.

It is in the unmerged component, which itself depends on another unmerged component that has been in code review for 9 months (https://gerrit.wikimedia.org/r/#/c/94593).

The people to talk to about this are Reedy, Tim Starling, possibly Ariel Glenn, etc.

The interlanguage link works beautifully. It was apparently quietly rolled out last week in https://gerrit.wikimedia.org/r/#/c/94593

I am going to convert this to {{done}}

To note that mul: also works betawikiversity, over in the WV space.

Change 888058 had a related patch set uploaded (by C. Scott Ananian; author: C. Scott Ananian):

[mediawiki/services/parsoid@master] Add comments about maintaining language link metadata

https://gerrit.wikimedia.org/r/888058

Change 888058 merged by jenkins-bot:

[mediawiki/services/parsoid@master] Add comments about maintaining language link metadata

https://gerrit.wikimedia.org/r/888058

Change 901245 had a related patch set uploaded (by Arlolra; author: Arlolra):

[mediawiki/vendor@master] Bump parsoid to 0.18.0-a2

https://gerrit.wikimedia.org/r/901245

Change 901245 merged by jenkins-bot:

[mediawiki/vendor@master] Bump parsoid to 0.18.0-a2

https://gerrit.wikimedia.org/r/901245