User:Xbony2/T3

T3 is a project with the goal of making a third iteration of the translation system on this wiki.

Everything on this page isn't final :P it's all up for discussion.

Goals
The goal of T3 is to combine the pros of our first translation system (using no extension) with our current second translation system (using Extension:Translate), and to minimize the cons.

"T1" pros

 * All pages are translatable; users don't have to ask admins for help.
 * No special mark-up or templates are needed for the most part.

T1 cons

 * Pages are not every marked when the base page is changed. Because of this, translated pages are never (or are rarely) updated.
 * There's no abstraction. Untranslated templates are often used by mistake.
 * All pages are translatable; new pages and stubs don't have any protection.
 * Not really an issue on this wiki, but many wikis lack a language bar or other template, making translations near invisible (see also- how the Terraria Wiki and Dota 2 Wiki manage on-site translations quite well, whereas the Minecraft Wiki does not). Also the organization of translated pages is fairly complicated.

"T2" pros

 * Templates are largely abstracted; translation is simpler.
 * Portions of pages that are not translated (like version numbers, templates, etc) are updated automatically.
 * Outdated portions are marked in the interface, and how much of the page is translated is noted at the top of the page.
 * Translations/translation statistics are very well organized with automatically generated pages like Special:LanguageStats/zh-cn and Special:SupportedLanguages/zh-cn.

T2 cons

 * Only pages that are marked up can be translated.
 * Special markup is needed on translatable pages. Markup makes wikitext much harder to navigate and edit (newbies [and often experienced staff] often mess it up).
 * The way we use modularized navboxes currently is designed to be compatible with Extension:Translate, and because of this, changes can only be made to navboxes after marked by a translation administrator.
 * Translatable pages cannot be moved or marked without a translation administrator.
 * When an English page is updated and marked, the portion updated will replace the outdated portion on the translated page, even if it is just a small change.
 * Editing statistics because of translations are often overinflated, as translating a small page can take as many as ten edits, while simply creating that page in English might just take one or two.
 * Extension:Translate is a third-party extension and cannot be modified to the FTB Wiki's needs as easily.
 * Gamepedia doesn't like the Translate extension much.
 * It's been known to have strange bugs, such as awkwardness with modules and sometimes failing to update pages.
 * Anonymous users cannot translate (although that's more of an issue with how we have it configured).

T3 pros

 * All pages (except certain marked pages) will be translatable.
 * On the base English page, the only markup that will be needed is the language bar at the bottom of the page.
 * When an English page is changed, the translations will automatically be marked as outdated via bot.
 * Translated pages will be able to be marked as complete, incomplete, outdated, in need of cleanup, work in progress, etc in the translation header, and will be categorized as so.
 * Hopefully, templates and such will be somewhat abstracted so it will be easier to translate.
 * Modular navboxes will be able to be modified by anyone.
 * Is FTB Wiki-specific and FTB Wiki-maintained.

T3 cons

 * Might be slower than T1 or T3, but we'll see.
 * Abstraction might not be as good as T2's abstraction because of the lack of translation tags.

Components

 * Translation Header (powered by Module:Translation Header). Creates a small ambox-like message at the top of translated pages giving the status and it also automatically categorized the page by that status and by its language (example categories-, ).
 * Lang Bar (powered by Module:Language bar). Functions similar to the current language bar. Added on all translatable pages; sort of an entrance point. Includes the translate button.
 * MediaWiki:Gadget-translate.js (going to be developed at User:Xbony2/common/translate.js). Does the magic.
 * Some code in MediaWiki:Common.js to tell users to turn on the gadget when pressing the translate button.
 * (powered by Ruby). Automatically marks outdated pages (modifies the header). Potentially automatically updates simple things such as version numbers. Ideally ran on a server instead of 's computer