Page MenuHomePhabricator

Document LanguageConverter
Closed, ResolvedPublic

Description

Author: happy.melon.wiki

Description:
This seems to be a totally undocumented area of the MediaWiki codebase. Nothing on mw.org; precious little in code comments. What is LanguageConverter.php, when is it called, what does it do? How does the new (as of r48984) parser function {{GROUPCONVERT:...}} fit in?


Version: 1.16.x
Severity: minor

Details

Reference
bz19044

Related Objects

View Standalone Graph
This task is connected to more than 200 other tasks. Only direct parents and subtasks are shown here. Use View Standalone Graph to show more of the graph.
StatusSubtypeAssignedTask
In ProgressNone
ResolvedDiskdance

Event Timeline

bzimport raised the priority of this task from to Low.Nov 21 2014, 10:39 PM
bzimport set Reference to bz19044.
bzimport added a subscriber: Unknown Object (MLST).

The closest thing to documentation that I've been able to find, in English at least, is http://meta.wikimedia.org/wiki/Automatic_conversion_between_simplified_and_traditional_Chinese. It's not very useful for developers interested in learning how the system works, though. I suspect there may be more documentation in Chinese somewhere on zh.wikipedia, but if so, I don't know where and it wouldn't be of any use to me anyway since I can't read Chinese.

more documentation of the LanguageConverter and variants would be super helpful. :)

right now I need to look at the code, ask certain people or make a guess as to why things are done the way they are.

The entire w:zh:H:AC page is worth translating into an independent page for LanguageConverter. mw:Writing systems/Syntax should probably be moved to a page under the new LC page after its created. "User friendly" or "cheatsheet" info in w:zh:Help:手工字詞轉換 should be merged into the Syntax page. Some big good TODOs.

Another thing which needs cleanup: https://www.wikidata.org/wiki/Talk:Q15630179 (how to describe those LC-related items on Wikidata ?)

For everyone's information, I've created https://www.mediawiki.org/wiki/User:Diskdance/Overview_of_Language_Converter as a general overview document of LC.

Thank you so much! I know very little about Language Converter, but this looks like a fantastic piece of documentation. My only suggestion is to move it into the mainspace (merge it into mw:Writing systems/LanguageConverter?) as soon as possible so it's more discoverable.

For everyone's information, I've created https://www.mediawiki.org/wiki/User:Diskdance/Overview_of_Language_Converter as a general overview document of LC.

Thank you so much! I know very little about Language Converter, but this looks like a fantastic piece of documentation. My only suggestion is to move it into the mainspace (merge it into mw:Writing systems/LanguageConverter?) as soon as possible so it's more discoverable.

It's now live at https://www.mediawiki.org/wiki/Language_Converter.

nshahquinn-wmf assigned this task to Diskdance.

Great work, @Diskdance! I think you've completed this 17-year-old task 🎉

Bewfip subscribed.

I would say it's not completed yet. The document of the converter syntax should include some details about its inner workings, e.g. bidirectional and unidirectional conversion rules, to aid understanding of its behaviour.

@Bewfip the syntax for unidirectional and bidirectional conversion are documented on the advanced syntax sub-page. Is that what you're referring to?

Even if there is something still missing, I'd really suggest opening a separate task for that piece. Generally, tasks should have a clear, fixed scope rather than chasing a vague target like a module being "fully documented". In this case, the original description says "This seems to be a totally undocumented area of the MediaWiki codebase." That's no longer the case as there seems to be quite good documentation at mw:Language Converter and the class reference on doc.wikimedia.org.

I was referring to something inside ConverterRule.php that I'm not familiar with. They are seemingly undocumented everywhere. Leaving a ticket open might nudge informed developers to document them. Nevertheless, I can undo the status change as I don't have much opinion on this task.