/***|''Name:''|LanguageSelectorPlugin||''Version:''|0.5||''Author:''|FND||''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]||''~CoreVersion:''|2.1.3|!UsageThe following examples use English (EN) and German (DE) for illustration:* define CSS classes for each language by adding the following to the [[StyleSheet]] tiddler:> {{{.lang_en, .lang_de { display: none; } }}}* add the classes to the respective text of your tiddler:<<<{{lang_de{Dies ist ein Test.}}}{{lang_en{This is a test.}}}<<<* add {{{<<lang_en>>}}} and {{{<<lang_de>>}}} to create buttons for changing the language!ToDo* dynamic language support (i.e. not having to manually define CSS classes and macros/buttons!Code***//*{{{*//*macros*/config.macros.lang_en={label: "EN", prompt: "English"}config.macros.lang_de={label: "DE", prompt: "Deutsch"}/*buttons*/config.macros.lang_en.handler = function(place) { createTiddlyButton(place,this.label,this.prompt,function () {langSelect("en"); return false;},null,null,this.accessKey);}config.macros.lang_de.handler = function(place) { createTiddlyButton(place,this.label,this.prompt,function () {langSelect("de"); return false;},null,null,this.accessKey);}/*functions*/// select languagelangSelect = function(lang) { getStyleClass("lang_" + lang).style.display = "block";}// getStyleClass by Nick Z., Martin Honnen (http://www.faqts.com/knowledge_base/view.phtml/aid/2147)function getStyleClass (className) { for (var s = 0; s < document.styleSheets.length; s++) { if(document.styleSheets[s].rules) { for (var r = 0; r < document.styleSheets[s].rules.length; r++) { if (document.styleSheets[s].rules[r].selectorText == '.' + className) { return document.styleSheets[s].rules[r]; } } } else if(document.styleSheets[s].cssRules) { for (var r = 0; r < document.styleSheets[s].cssRules.length; r++) { if (document.styleSheets[s].cssRules[r].selectorText == '.' + className) return document.styleSheets[s].cssRules[r]; } } } return null;}/*}}}*/