Board Thread:Watercooler/@comment-5590118-20141018174753/@comment-11733175-20141021000647

var i18n = { en: {...}, fr: {...}, // etc. };
 * Code quality guidelines are entirely subjective imo. Sure there's a difference between readable code and uncommented, partially minified spaghetti, but coding style is often from what we've gotten used to from our respective backgrounds. One possibility is following Wikia js guidelines, but even that's going to be optional.
 * If we do decide to follow wikia's guidelines, it's worth explaining how to install and use their tools to comply with said conventions.
 * I like the idea of some guidelines for i18n support as well as giving clear documentation for what messages can and should be translated. It's worth noting i18n isn't always available, e.g. outputting an api error message which don't come in anything but english. As far as code for supporting i18n goes, perhaps recommend a structure like:

i18n = $.extend( i18n.en, i18n[wgContentLanguage], i18n[wgUserLanguage] );

// use i18n.message as you want below console.log( i18n.foo );
 * I'm not a fan of tab extensions in general, but I have seen cases of tabs on the side of the page which might be suitable, e.g. w:c:lego:Inventory:8566 Onua Nuva
 * If there's a script that's duplicating functionality just for the sake of translation, feel free to add i18n to the original script and tag the new one for deletion explaining what you've done. There's very few scripts here that aren't accessible to the community here, none of which need i18n support.