Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #04b
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
<!--}}}-->
To get started with this blank [[TiddlyWiki]], you'll need to modify the following tiddlers:
* [[SiteTitle]] & [[SiteSubtitle]]: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* [[MainMenu]]: The menu (usually on the left)
* [[DefaultTiddlers]]: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
<<importTiddlers>>
<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />
<!--}}}-->
These [[InterfaceOptions]] for customising [[TiddlyWiki]] are saved in your browser

Your username for signing your edits. Write it as a [[WikiWord]] (eg [[JoeBloggs]])

<<option txtUserName>>
<<option chkSaveBackups>> [[SaveBackups]]
<<option chkAutoSave>> [[AutoSave]]
<<option chkRegExpSearch>> [[RegExpSearch]]
<<option chkCaseSensitiveSearch>> [[CaseSensitiveSearch]]
<<option chkAnimate>> [[EnableAnimations]]

----
Also see [[AdvancedOptions]]
<!--{{{-->
<div class='header' role='banner' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' role='navigation' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' role='navigation' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' role='complementary' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea' role='main'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
/*{{{*/
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}

a {color:[[ColorPalette::PrimaryMid]];}
a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}
a img {border:0;}

h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;}
h1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];}
h2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}

.button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}
.button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
.button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}

.header {background:[[ColorPalette::PrimaryMid]];}
.headerShadow {color:[[ColorPalette::Foreground]];}
.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
.headerForeground {color:[[ColorPalette::Background]];}
.headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}

.tabSelected {color:[[ColorPalette::PrimaryDark]];
	background:[[ColorPalette::TertiaryPale]];
	border-left:1px solid [[ColorPalette::TertiaryLight]];
	border-top:1px solid [[ColorPalette::TertiaryLight]];
	border-right:1px solid [[ColorPalette::TertiaryLight]];
}
.tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}
.tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
.tabContents .button {border:0;}

#sidebar {}
#sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}
#sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}

.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}
.wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}
.wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
	border:1px solid [[ColorPalette::PrimaryMid]];}
.wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];}
.wizardFooter {background:[[ColorPalette::PrimaryPale]];}
.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
	border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
	border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}

.wizard .notChanged {background:transparent;}
.wizard .changedLocally {background:#80ff80;}
.wizard .changedServer {background:#8080ff;}
.wizard .changedBoth {background:#ff8080;}
.wizard .notFound {background:#ffff80;}
.wizard .putToServer {background:#ff80ff;}
.wizard .gotFromServer {background:#80ffff;}

#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}

.popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}

.popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}
.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
.popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}
.popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
.listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}

.tiddler .defaultCommand {font-weight:bold;}

.shadow .title {color:[[ColorPalette::TertiaryDark]];}

.title {color:[[ColorPalette::SecondaryDark]];}
.subtitle {color:[[ColorPalette::TertiaryDark]];}

.toolbar {color:[[ColorPalette::PrimaryMid]];}
.toolbar a {color:[[ColorPalette::TertiaryLight]];}
.selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
.selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}

.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
.tagging .button, .tagged .button {border:none;}

.footer {color:[[ColorPalette::TertiaryLight]];}
.selected .footer {color:[[ColorPalette::TertiaryMid]];}

.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
.lowlight {background:[[ColorPalette::TertiaryLight]];}

.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}

.imageLink, #displayArea .imageLink {background:transparent;}

.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}

.viewer .listTitle {list-style-type:none; margin-left:-2em;}
.viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
.viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}

.viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}

.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
.viewer code {color:[[ColorPalette::SecondaryDark]];}
.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}

.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}

.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}
.readOnly {background:[[ColorPalette::TertiaryPale]];}

#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
#backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:alpha(opacity=60);}
/*}}}*/
/*{{{*/
* html .tiddler {height:1%;}

body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}

h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
h4,h5,h6 {margin-top:1em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}

hr {height:1px;}

a {text-decoration:none;}

dt {font-weight:bold;}

ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}

.txtOptionInput {width:11em;}

#contentWrapper .chkOptionInput {border:0;}

.externalLink {text-decoration:underline;}

.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}

.tiddlyLinkExisting {font-weight:bold;}
.tiddlyLinkNonExisting {font-style:italic;}

/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {font-weight:bold;}

#mainMenu .tiddlyLinkExisting,
	#mainMenu .tiddlyLinkNonExisting,
	#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}

.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:4.5em 0 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0 1em 1em; left:0; top:0;}

.siteTitle {font-size:3em;}
.siteSubtitle {font-size:1.2em;}

#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}

#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 0.3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}

.wizard {padding:0.1em 1em 0 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0 0; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0;}
.wizardFooter .status {padding:0 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em;}

#messageArea {position:fixed; top:2em; right:0; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em;}
#messageArea a {text-decoration:underline;}

.tiddlerPopupButton {padding:0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em; margin:0;}

.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
.popup .popupMessage {padding:0.4em;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0;}
.popup li.disabled {padding:0.4em;}
.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}

.tabset {padding:1em 0 0 0.5em;}
.tab {margin:0 0 0 0.25em; padding:2px;}
.tabContents {padding:0.5em;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}

#contentWrapper {display:block;}
#splashScreen {display:none;}

#displayArea {margin:1em 17em 0 14em;}

.toolbar {text-align:right; font-size:.9em;}

.tiddler {padding:1em 1em 0;}

.missing .viewer,.missing .title {font-style:italic;}

.title {font-size:1.6em; font-weight:bold;}

.missing .subtitle {display:none;}
.subtitle {font-size:1.1em;}

.tiddler .button {padding:0.2em 0.4em;}

.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em; float:right;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}

.footer {font-size:.9em;}
.footer li {display:inline;}

.annotation {padding:0.5em; margin:0.5em;}

* html .viewer pre {width:99%; padding:0 0 1em 0;}
.viewer {line-height:1.4em; padding-top:0.5em;}
.viewer .button {margin:0 0.25em; padding:0 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}

.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0 3px 0 3px;}

.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
.viewer code {font-size:1.2em; line-height:1.4em;}

.editor {font-size:1.1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0; font-size:.9em;}
.editorFooter .button {padding-top:0; padding-bottom:0;}

.fieldsetFix {border:0; padding:0; margin:1px 0px;}

.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
.zoomer div {padding:1em;}

* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0; right:0;}
#backstageButton a {padding:0.1em 0.4em; margin:0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; width:90%; margin-left:3em; padding:1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}

.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/***
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.
***/
/*{{{*/
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none !important;}
#displayArea {margin: 1em 1em 0em;}
noscript {display:none;} /* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
}
/*}}}*/
<!--{{{-->
<div class='toolbar' role='navigation' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
/***
|''Name:''|BackstageSidebarPlugin|
|''Description:''|Moves the sidebar to the backstage, as suggested at http://www.tiddlywiki.org/wiki/Dev:Backstage#Customization|
|''Author''|JonathanLister|
|''CodeRepository:''|n/a |
|''Version:''|0.1|
|''Comments:''|Please make comments at http://groups.google.co.uk/group/TiddlyWikiDev |
|''License''|[[BSD License|http://www.opensource.org/licenses/bsd-license.php]] |
|''~CoreVersion:''|2.4|

***/

//{{{
if(!version.extensions.BackstageSidebarPlugin) {
version.extensions.BackstageSidebarPlugin = {installed:true};

config.tasks.sidebar = {
	text: "sidebar",
	tooltip: "sidebar options",
	content: "<<tiddler SideBarOptions>><<tiddler SideBarTabs>>"
};
config.backstageTasks.push("sidebar");

config.macros.BackstageSidebarPlugin = {
	tiddler:tiddler
};

config.macros.BackstageSidebarPlugin.init = function() {
	var tiddler = this.tiddler;
	setStylesheet(store.getTiddlerText(tiddler.title+'##Stylesheet'),'BackstageSidebarPlugin');
};

} //# end of 'install only once'
//}}}

/***
!Stylesheet

#sidebar {
	display:none;
}

!(end of Stylesheet)
***/
[[search]]
{{{

##a

a : but (whereas)  
abace : alphabet  
ada : have  
adres : address  
adresur : addressee  
adu : belong  
adulte : adult  
afrika : Africa  
afrikan : African  
agres : agression (assault)  
aha : understand (realize)  
ajil : agile  
akse : axis (axle)  
akta : act (play a role)  
aktar : actor (actress)  
akte : act (scene)  
aku : parrot (parakeet)  
alah : God (Allah)  
alkol : alcohol  
alkoli : alcoholic  
almari : cupboard (closet, cabinet, wardrobe)  
almas : diamond  
alter : other  
altera : change (alter)  
alum : aluminium  
am : love (affection)  
ama : love (to be in love with)  
amen : agreement (amen)  
amena : affirm (agree, concur)  
amerika : America (continent)  
amerikan : American  
amper : ampere  
amuke : rage (fury)  
analis : analysis  
analisa : analyse  
anima : animate  
anime : animation (cartoon)  
anjil : gospel  
anma : spirit (soul)  
anten : antenna (aerial)  
anus : anus  
anusi : anal  
ara : saw tool  
arabi : Arabic  
aranje : orange (fruit)  
aranji : orange (orange-colored)  
arbuz : watermelon  
arena : arena (stadium)  
argon : argon  
arhentina : Argentina  
arhentina : Argentina  
armia : army  
artar : artist  
arte : art  
asan : posture (asana)  
asia : Asia  
asian : Asian  
asket : ascetic  
asle : origin  
asli : original  
asma : asthma  
aspirin : aspirin  
ata : flour  
atake : attack  
atom : atom  
australia : Australia  
awaka : avocado  
awar : damage (wreck)  
awda : hear (listen)  
ay : ouch! (alas!)  
ayiti : Haiti  
ays : ice  
aysi : icy  
azeria : Azerbaijan  

##b

babe : chapter (section)  
bace : child (offspring)  
bada : follow (come after)  
badala : exchange (swap, replace)  
badam : almond  
badan : body  
badani : bodily (corporal)  
badawi : bedouin (nomadic)  
bade : consequence (follow-up)  
bagaje : luggage (baggage)  
bahama : Bahamas  
bahrain : Bahrain  
bal : strong  
balbe : valve (tap, faucet)  
balde : bucket  
bale : force (strength)  
balkon : balcony (porch)  
bama : Myanmar (Burma)  
bana : build (construct)  
banana : banana  
banda : tie (fasten, bind)  
bande : band (bandage)  
bande : band (group)  
bander : flag (banner)  
banglia : Bangladesh  
banka : save (deposit, bank)  
banya : bathe  
banye : bath  
banye kamer : bathroom  
bar : bar (pub)  
bara : bar (obstruct)  
barbados : Barbados  
barbar : barbarian  
barda : beard  
barir : barrier  
barka : congratulate (bless)  
barti : Indian  
bartia : India  
baru : bear  
barude : gunpowder  
bas : enough (sufficient)  
basen : pool (basin)  
basket : basket  
bat : eight (8)  
bata : duck  
batakrot : platypus  
bateri : battery  
baton : bar (rod, stick)  
bax : language (communication)  
bax lojia : linguistics  
baxa : speak (communicate)  
bay : white  
bazar : market (bazaar)  
baze : base (foundation)  
bazi : basic  
be : without  
beafrika : Central African Republic  
bebe : baby (infant)  
bede : bed  
bedinjan : eggplant (aubergine, brinjal)  
bega  escape (flee, run away)  
beijing : Beijing (Peking)  
beka : bake  
bekar : baker  
bekaria : bakery  
bel  beautiful (handsome)  
belarus : Belarus  
belgia : Belgium  
belize : Belize  
bence : bench  
beng : sick (ill)  
benzin : gasoline (petrol)  
beranda : veranda (porch)  
beret : beret  
beria : wolf  
beril : beryllium  
bermuda : Bermuda  
beton : concrete (material with cement)  
bey : suffer (passivizing verb)  
biblia : Bible  
bin : vase (pot, bin, jar, jug)  
binde : dot (spot)  
bir : beer  
bis : kiss  
biskute : biscuit (cookie)  
bismute : bismuth  
bizar : odd (strange, weird)  
bizi : busy (occupied)  
biznes : business (commercial activity)  
biznes ren : businessperson (businessman)  
blabla : chat (babble)  
blable kamer : chat room  
bobo : fool (idiot)  
boka : mouth  
bol : ball  
bolgaria : Bulgaria  
bolivia : Bolivia  
bombe : bomb  
bon : good  
bora : drill (bore)  
boron : boron  
bote : boat (ship)  
botol : bottle  
boton : button  
boykote : boycott  
brazil : Brazil  
britania : United Kingdom  
brox : brush  
bruney : Brunei Darussalam  
buda : realize  
budan : Mercury  
bude : realization (awareness, enlightenment, bodhi)  
budi : aware (enlightened)  
budisme : Buddhism  
bufon : fool (buffoon)  
bujete : budget  
buke : book  
buking : booking (reservation)  
bula : forget  
bulbul : bubble  
bunduke : gun (handheld firearm)  
burkina : Burkina Faso  
bus : bus  
butan : Bhutan  
buton : key (push-button, switch)  
buton paban : keyboard  
buyu : baobab  

##c

ca : tea  
ca wan : tea bowl  
cabi : key  
cabuk : whip (lash)  
cadia : Chad  
cakre : wheel  
caku : knife  
camca : spoon  
campion : champion  
candi : silver  
cang : often (frequently)  
cans : opportunity (chance)  
capa : press (imprint)  
cape : print (stamp)  
car : four (4)  
cate : roof  
caye : shadow  
ce : this one  
cehia : Czech Republic  
ceka : check (to examine)  
celo : cello  
centi : centi- (per cent)  
cerna gora : Montenegro  
cesium : caesium  
ci : this (these)  
cile : Chile  
cili : bell pepper  
cimpanzi : chimpanzee  
cincila : chinchilla  
cing : ask (request; please)  
cing lay : invite  
cing lay in! : Come in!  
cipia : Albania  
cis : cheese  
cita : quote  
coda : fuck (copulate)  
cokolat : chocolate  
cokolat baton : chocolate bar  
corab : sock (stocking)  
cuka : vinegar  
cula : exclude (except, save)  
cun : choice (election, selection)  
cuna : choose (elect, select)  
cupa : suck  
cur : theft (steal)  
cura : steal  
curar : thief  
cuta : leave (go out, exit)  
cute : exit (leaving)  
cute mun : exit door  

##d

da : own (particle of possession)  
daba : respond (give an answer)  
dabe : answer (reply, response)  
dado : die (dice)  
daftar : register  
dama : checkers  
dane : grain (seed)  
danka : thank  
danke : thanks (thank you)  
dania : Denmark  
dante : tooth  
dante brox : tooth brush  
dante doktar : dentist  
darba : strike (punch)  
daria : sea (ocean)  
darme : dharma (piety)  
darmi : pious  
darsa : learn (study)  
darse : lesson  
darse bace : student (pupil)  
darse guru : teacher  
darse kan : school (institution)  
darwinisme : Darwinism  
daw : way (road)  
dawisme : Taoism  
day : big (very, greatly)  
dayu : grow (get bigger)  
dayxi : ambassador  
dayxi kan : embassy  
deci : deci-  
dem : point (spot)  
demokratia : democracy  
demon : demon  
den : day (daytime)  
den nyam : lunch  
denga : wait  
des : ten (10)  
desen : drawing (picture)  
detal : detail  
dew : god (deity)  
dew lojia : theology  
dewi : divine (godly)  
dewi sage : myth (divine story)  
dewisme : theism  
dex : country (land)  
deya : village  
deya stan : countryside  
dian : attention (focus)  
din : religion (worship)  
din guru : priest (cleric)  
ding : nail (spike)  
diske : disc (disk)  
do : two (2)  
dokta : heal (cure)  
doktar : doctor (physician, healer)  
dolar : dollar  
dom : home (residence)  
doma : live (dwell, reside)  
dominika : Dominican Republic  
domino : dominoes  
don : gift  
dona : give  
dong : east  
doste : friend  
dosti : friendly  
dostia : friendship  
dow : bean or pea (legume)  
dox : fault (sin, blame, defect, guilt)  
doxi : guilty  
doyce : Germany  
doze : portion (dose)  
drame : drama  
droge : drug (intoxicating substance)  
du : of (particle of possession)  
duga : read  
duka : grieve  
duke : grief (sorrow)  
duki : sad  
dul : dust  
dum : tail  
duman : smoke  
duna : dune  
dunia : world  
dunia bax : world language  
dunial : global  
dur : duration  
dura : last (take time, during)  
duru : pass (of time)  
dute : doubt (disbelief)  
duwa : pray  
duwe : prayer  
dux : shower  
dzayer : Algeria  

##e

egal : equal (fair)  
eglis : church  
eho : echo  
ekran : screen  
ekuador : Ecuador  
el : the  
elektre : electricity  
elektron : electron  
energe : energy  
engli : English  
eni : any (no matter which)  
eris : Eris (dwarf planet)  
eritria : Eritrea  
esey : essay  
espanya : Spain  
esperanti : Esperanto  
estia : Estonia  
ewrasia : Eurasia  
ewreka : find (discover)  
ewro : euro  
ewropa : Europe  
ewropan : European  
ewropan unia : European Union (EU)  

##f

fada : supply (dispense, issue, put out)  
fajan : development  
fakta : make (create)  
faktar : maker (creator, factor)  
faktaria : factory  
fakte : creation (fact)  
faktur : creature (created)  
falsi : false (fake)  
famil : family  
famil nam : surname (family name)  
fantaza : imagine (fantasize)  
fantaze : fantasy (imagination)  
fantazi : fantastic (imaginary)  
fantom : ghost (fantom)  
farsi : Persian (Farsi)  
faru : rhinoceros  
fas : surface  
fasin : fascination  
faxe : bandage (strip, ribbon)  
faxisme : fascism  
faxiste : fascist  
faxon : fashion (trend)  
faxoni : popular (trendy)  
fay : fire  
fayde : use (utility, benefit, gain, advantage)  
faydi : useful (beneficial)  
fayn : fine (delicate)  
feber : fiever  
fem : female  
fem bace : daughter  
fem rajar : queen  
fen : part (fraction)  
fena : divide (to partition)  
fer : iron  
festa : celebrate (party)  
feste : party (celebration, festival)  
fete : fat (grease)  
feti : fatty (greasy)  
feya : fly  
figur : figure (representation)  
fikra : think (ponder, reflect)  
fikre : thought (idea)  
fiksa : fix (attach)  
file : line (row)  
filistinia : Palestinian Territory  
filme : film  
filsofar : philosopher  
filsofi : philosophic  
filsofia : philosophy  
filtar : filter  
fin : end  
fina : finish (put an end to)  
final : last (final)  
finger : finger (toe)  
finger wen : finger ring  
fini : finished  
fix : fish  
fizike : physics  
fizikia : physics  
fizikar : physicist  
fobe : fear (phobia)  
fokus : focus (concentration)  
fokusa : concentrate  
fone : phone (speech sound)  
foneme : phoneme  
fong : wind  
fonga : blow  
forke : fork  
forma : shape (sculpt)  
forme : form (shape)  
forum : forum  
fos : pit (excavation)  
fosa : dig (excavate)  
fosfor : phosphorus  
foto : photograph  
fransi polinesia : French Polynesia  
fransia : France  
fu : bah! (yuck!)  
fubu : belly (abdomen)  
fuga : resume (recover, restore)  
fuka : wear clothes  
fuke : clothing  
ful : full  
fula : fill  
fulan : some (indefinite, indeterminate)  
funca : function (work)  
funge : mushroom (fungus)  
furet : polecat (ferret)  

##g

gabre : grave (tomb)  
gabre stan : graveyard  
gabun : Gabon  
gaja : elephant  
galeria : gallery (exhibition hall)  
gama : marry  
gambia : Gambia  
gamel : camel  
gami : married  
gamia : marriage (matrimony)  
gan : song  
gana : sing  
ganda : Uganda  
gang : just (recently)  
ganga : Ganges  
ganja : hemp (cannabis)  
ganya : earn (gain)  
gar : car (cart)  
garante : guarantee  
gardin : garden  
garmi : warm  
gas : gas  
gaw : high  
gawn : tunic (gown)  
gayana : Guyana  
gaze : gauze  
gazel : gazelle  
gazete : magazine (journal, gazette)  
gem : game  
gema : play a game  
gemar : player (gamer)  
gen : root  
genca : examine (inspect, check)  
geta : get (receive, obtain, take)  
gida : steer  
giga : billion (giga-)  
gim : gold  
gitar : guitar  
giyan : French Guiana  
glas : glass  
glute : glue  
gluten : gluten  
gol : goal  
gola : throat (gullet)  
gom : rubber  
gon : past (former)  
gon den : yesterday  
gon gon den : day before yesterday  
gon nen : last year  
goro : pig  
goro nyam : pork  
goton : cotton  
graf : depiction (graph)  
grafa : depict (describe, illustrate)  
grafem : grapheme  
grafi : graphic (descriptive)  
gram : gram  
gras : grass  
grimas : grimace  
grom : thunder (roaring)  
grup : group  
gua : cave  
guang : light (illumination)  
guanxe : relationship (association, connection)  
guatemala : Guatemala  
gubu : hippopotamus  
gun : quality (attribute, property, characteristic, -ness)  
gung fu : kung fu  
guru : guru (mentor)  
gusta : taste (sense flavor)  
guste : taste (flavor)  
gustu ka : taste like  

##h

haber : news  
haber gazet : newspaper (gazette)  
haha : laugh  
hak : right (justification, privilege)  
hakim : judgment (sentence)  
hakimar : judge (referee)  
hali : empty  
halif : caliph  
halo : hello (hi)  
halos : halo  
hamake : hammock  
hamar : hammer  
hamir : yeast  
hanguk : South Korea  
haos : chaos (disorder, turmoil)  
harabi : bad (ruined, spoiled)  
harmoni : harmonius  
harmonia : harmony  
has : special (distinct)  
hata : even (intensifier)  
hatar : danger (peril)  
hatari : dangerous  
hawa : air  
hay : still (yet)  
hayda : let's  
hazar : hazard  
hazari : random  
hazin : treasure (treasury)  
he : huh? (pardon?)  
helen : Greek (Hellenic)  
helium : helium  
helmet : helmet  
hem : hmm  
hema : ponder (think)  
hen : hate  
hero : hero  
heroi : heroic  
hewan : animal  
hibride : hybrid (mongrel)  
hidre : hydrogen  
hima : snow  
hima rose : frost  
himalia : Himalayas  
hindu : Hindu  
hisab : calculation (arithmetic, computation)  
hisaba : calculate  
histor : history (annals)  
historar : historian  
historia : history (study of history)  
hobe : hobby  
hoke : hockey  
hon : hundred (100)  
honduras : Honduras  
hong gong : Hong Kong, SAR China  
hor : hour  
hormon : hormone  
horvatia : Croatia  
hotel : hotel  
hua : flower  
hua pote : vase (flower pot)  
huli : fox  
humus : chickpea  
humus sos : hummus  
hura : cheer (hooray)  

##i

i : and  
ibri : Hebrew  
ice : will (volition, desire)  
idea : idea  
ideal : ideal (optimal)  
idealisme : idealisme  
igen : opinion (view)  
iha : donkey (ass)  
impera : reign (rule as an emperor)  
imperar : emperor  
imperia : empire  
in : inside (interior)  
indika : point (indicate)  
indonesia : Indonesia  
informa : inform (communicate)  
informe : information  
injenar : engineer  
inji : ginger  
insan : human being  
insania : mankind (humanity)  
inspira : inspire (inspiration)  
inter : between  
interes : interest (interesting)  
inxala : hope (wish)  
iode : iodine  
irakia : Iraq  
iran : Iran  
islam : Islam  
islami : Islamic  
islandia : Iceland  
israel : Israel  
italia : Italy  
itiopia : Ethiopia  
izi : easy  

##j

ja : already (-ed)  
jadi : if (suppose, assume)  
jaket : jacket  
jala : burn (cause to burn)  
jalu : burn (be burned)  
jama : collect (gather, bring together)  
jameyka : Jamaica  
jami : collective  
jamia : collection (congregation)  
jamula : disperse  
jan : know  
jane : knowledge  
janela : window  
jang : fight (war)  
jangal : forest (jungle, woods)  
jangar : warrior (fighter)  
jangi : military  
jani : known  
jara : jug (jar)  
jayer : Algeria  
jaz : jazz  
jebe : pocket  
jele : gel (jelly)  
jelos : jealous  
jen : birth  
jen den : birthday  
jena : give birth (procreate, generate)  
jenar : parent  
jentil : kind (nice, gentle)  
jenu : be born  
jenxen : ginseng  
jersia : Jersey  
jeste : gesture  
jibraltar : Gibraltar  
jibutia : Djibouti  
jiju : spider  
jik : straight  
jika : straighten  
jin : near (close)  
jins : gender (sex)  
jinsi : sexual (relating to gender)  
jiraf : giraffe  
jiwa : live  
jiwe : life  
jiwe lojia : biology (study of life)  
jo : that which  
jokar : joker  
joke : joke  
jong : species  
jowan : young  
jowan fem : girl  
jowan man : boy  
jowane : youth (young person)  
jowania : youth (young age)  
judo : judo  
jug : bamboo  
jul : joule (J)  
jumle : sentence (phrase)  
jung : middle (center)  
junga : center (concentrate)  
jungogia : China  
jungu : to be centered (amid, in the middle)  
jupe : skirt  
jus : juice  
juxa : inject  
juxe : injection  

##k

ka : like (as, as if, than)  
kabaw : water buffalo  
kabil : able (capable)  
kabin : cabin (booth)  
kaca : catch (capture, seize)  
kafas : cage  
kafe : coffee  
kafe kan : cafe (coffee shop)  
kafe kupe : coffee cup  
kafi : brown (coffee-colored)  
kaka : defecate (shit)  
kakaw : cocoa  
kake : excrement (shit)  
kal : black  
kalam : pen  
kalium : potassium  
kalsium : calcium (Ca)  
kalsium : calcium  
kam : desire (lust)  
kambudia : Cambodia  
kamer : room (chamber)  
kamer tal : floor  
kamera : camera  
kamerun : Cameroon  
kamis : shirt  
kamote : sweet potato  
kampar : camper  
kampe : camp  
kan : workshop (place for...)  
kanada : Canada  
kanal : channel  
kande : candy (sweets)  
kanguru : cangaroo  
kanon : gun (cannon)  
kanonir : cannoneer  
kanun : law  
kapa : cover (conceal)  
kapitan : captain  
kapula : uncover (reveal)  
kaput : broken (out of order)  
kar : deed  
kara : do (make, act)  
kara? : shell (crust)  
karaoke : karaoke  
karate : karate  
karbon : coal (carbon)  
karbon : carbon  
kari : curry  
karia : occupation (career)  
karibu : reindeer (caribou)  
karite : shea  
karot : carrot  
karte : card  
kasa : case (container)  
kastan : chestnut  
kata : cut  
katalunya : Catalonia  
kaway : cute (sweet)  
kaxa : porridge  
kay : open (not closed)  
kaya : open  
kaze : event (case, instance)  
ke : what? (which?)  
ke ren : who?  
ke yang? : how?  
ke zaman : when?  
kecap : ketchup  
keci : polite  
keke : cake (cookie)  
kel : sport (athletics)  
kelar : athlete (sportsman)  
kelele : noise  
kemet : Ancient Egypt (Kemet)  
ken : can (know, be able)  
kenar : border (edge, rim, fringe)  
kene : ability (skill)  
kenya : Kenya  
kerube : cherub  
ketel : kettle  
kia : ask (inquire)  
kie : question  
kii : interrogative  
kil : wedge  
kilo : thousand (kilo-)  
kilo gram : kilogram (kg)  
kimi : chemical  
kimia : chemistry  
kina : move (transfer, change place)  
kine : movement  
kini : kinetic  
kioske : kiosk  
kira : rent (hire, lease)  
kirat : carat  
kire : rent  
kirili abace : Cyrillic alphabet  
kirisa : rent out (let, lease)  
kisme : fate (destiny, kismet)  
kitaba : write  
kitabe : writing (text)  
kitabe kan : library  
kitabe maxin : typewriter  
kiwi : kiwi fruit  
klar : clear (not obscured)  
klas : class (category)  
klasa : classify (categorize)  
klon : clone (replica)  
klona : clone (replicate)  
klube : club  
koda : encode  
kode : code (cipher)  
koko : chicken  
kokos : coco  
kola : cola  
kolera : cholera  
kolombia : Colombia  
kolonia : colony (settlemen)  
kolun : column (pillar)  
koma : comma  
komal : soft  
kompania : company (corporation)  
komputa : compute (to process data)  
komputar : computer  
komun : common (shared)  
komunisme : communism  
komuniste : communist  
kon : corner (angle)  
koncung : insect  
kong : hole  
kongo : Congo  
konsel : advice (counsel)  
konsida : consider (regard)  
konson : consonant  
kontinu : continue (resume)  
kontra : be against  
konus : cone  
kopa : copy (replicate)  
kope : copy (replica)  
kor : choir (chorus)  
korne : horn  
koron : crown  
koron xefe : king or queen  
korta : shorten  
korti : short (brief)  
kos : cough  
kosmos : space (cosmos, universe)  
kosta : cost  
kosta rika : Costa Rica  
koste : cost (price)  
kote : coat  
koy : some  
koy ren : someone (somebody)  
koy xey : something  
koy zaman : sometime  
kratia : rule (reign)  
krem : cream  
krime : crime  
kriste : Christ (messiah)  
kriste jen : Christmas  
kristi : Christian  
kristia : Christendom  
kristisme : Christianity  
krita : cry (shout)  
kriz : crisis  
krizi : critical (pertaining to crisis)  
krot : mole (burrowing animal)  
krus : cross  
kuan : wide  
kuang : mineral (ore)  
kuang su : mineral water  
kuba : Cuba  
kube : cube  
kuka : cook (prepare food)  
kukar : cook (chef)  
kuke kamer : kitchen  
kul : cool  
kultur : culture  
kupe : cup  
kuper : copper  
kupon : coupon  
kura : care (cure)  
kuran : Quran (Koran)  
kurbe : curve (bend)  
kurbi : curvy (curved)  
kursi : chair  
kusen : cushion (pillow)  
laba : bugle (horn instrument)  
labia : lip  
lada : load (to charge)  
laje : rubbish (trash)  
laka : lacquer (varnish)  
lala : lie (lie down)  
lampa : lamp  
lanca : throw (launch)  
lanka : Sri Lanka  
lanten : lantern  
lao : Laos  
larwa : larva (maggot, caterpillar)  
lastik : elastic  
lasun : garlic  
lat : pungent (spicy, hot)  
lat cili : chili pepper  
latif : nice (pleasant, lovely)  
latini abace : Latin alphabet  
latvia : Latvia  

##l

laxa : release (let, let go)  
laya : come  
lekse : word  
leksem : lexeme  
leng : cold  
lenxa : practice (to exercise)  
leter : letter (message)  
letis : lettuce  
liba : erect  
libel : dragonfly  
liber : free (unchained)  
libera : free (liberate)  
libi : erect (standing)  
libu : stand  
lici : lychee (litchi)  
lida : lead (direct)  
lidar : leader (director)  
lietuva : Lithuania  
liga : connect (join, link)  
lige : joint (league)  
lil : little (small; a little, somewhat)  
lil nyame : snack  
lilak : lilac  
lilya : lily  
lim : five (5)  
limfa : lymph  
limite : limit (boundary)  
limun : lemon  
linye : line (stripe)  
lis : smooth  
liste : list (listing)  
liter : liter (litre)  
lixu : squirrel  
lobak : radish  
loga : say  
loge : word  
loge liste : word list  
loja : research (to study)  
lojia : science (study, research)  
loke : place (location)  
loki : local  
lon : discussion (debate, discourse)  
lona : debate (discuss)  
long : long (lengthy)  
longa : lengthen (prolong)  
longe : length  
losi : screw  
lowa : leak  
lowa sang : bleed  
lubnan : Lebanon  
lulu : pearl  
luna : moon  
lusun : asparagus  
luta : rob (loot)  
luza : lose (fail to win)  
luzar : loser  

##m

ma : mother  
maca : compete (have a match)  
mace : match (contest)  
made : matter (substance)  
madi : material  
madyar : Hungary  
maf : sorry (regret)  
mafan : trouble (disturbance, bother)  
mafana : bother  
magar : magician (sorcerer)  
magi : magical  
magia : magic  
magnet : magnet  
magneti : magnetic  
maju : harness  
makala : article (writing)  
makan : butter  
makas : scissors  
makedonia : Macedonia  
mal : bad  
malaria : malaria  
malaysia : Malaysia  
malia : Mali  
mam : breast (boob, tits)  
mama : mother (mom)  
mamal : mammal  
man : male  
man ban : son  
man raje : king  
mana : mean (signify)  
mane : meaning (signification)  
manga : comic (cartoon)  
mango : mango  
mangus : mangosteen  
manioka : cassava (manioc)  
manse : meat (flesh)  
mante : steamed bun (mantou, manti)  
mar : time (occasion)  
maraton : marathon  
marca : walk (march)  
margarin : margarine  
marka : mark (leave a mark)  
marke : mark (trace)  
marmar : marble  
marsi : Mars  
marta : kill  
martar : killer  
marte : death  
marti : dead  
martu : die  
mas : mass (dough, lump)  
masa : knead (give massage)  
masaje : massage  
masala : issue  
maske : mask (camouflage)  
matikar : mathematician  
matike : mathematics (math)  
matras : mattress  
matur : mature (ripe, adult)  
matur fem : woman (adult female)  
matur man : man (adult male)  
maw : cat  
max : more  
max ka bas : too much  
maxi : additional  
maxim : most (maximally)  
maximi : maximal  
maxin : machine  
maxor : major (not minor)  
maxoria : majority  
maya : melt (liquidize)  
maydan : square (plaza)  
mays : corn (maize)  
mayu : melt (get molten)  
maza : amuse (entertain)  
maze : fun (amusement)  
mazi : funny (amusing)  
meda : help (assist)  
medalia : medallion (medal)  
mede : help (aid, assistance)  
medita : meditate (ponder)  
medu : honey  
mega : million (mega-)  
megam : cloud  
mehiko : Mexico  
melodi : melodious (melodic)  
melodia : melody  
memba : participate (attend, take part)  
membar : member (participant)  
meme : sheep  
memor : memory  
memora : remember  
men : bunch (collection)  
mes : month  
mes 1 (mes un) : January  
mes 2 (mes do) : February  
mes 3 (mes sam) : March  
mes 4 (mes car) : April  
mes 5 (mes lim) : May  
mes 6 (mes sis) : June  
mes 7 (mes set) : July  
mes 8 (mes bat) : August  
mes 9 (mes noy) : September  
mes 10 (mes des) : October  
mes 11 (mes des un) : November  
mes 12 (mes des do) : December  
metal : metal  
meter : meter  
metod : method (way, manner)  
mey : every (each)  
mey ren : everybody (everyone)  
mey xey : everything  
mey zaman : always  
meza : table  
mi : I (me)  
mi da : my  
micin : MSG (monosodium glutamate)  
midi : mean (medium, average)  
midia : media  
mien : noodle  
migan : mandarin orange  
mikro : micro-  
mili : milli-  
milke : milk  
mimen : we  
min : less  
min ka bas : too little  
minare : tower  
ming : bright (clear)  
mini : tiny (mini-)  
minim : least (minimally)  
minimalisme : minimalism  
minimi : minimal  
ministar : minister  
ministaria : ministry  
minor : minor (not major)  
minoria : minority  
minus : except (minus)  
minut : minute  
mira : reflect  
mirar : mirror  
misal : example (instance of)  
miskin : poor (miserable)  
misri : Egyptian  
mit : meeting (gathering)  
mita : meet  
mode : fashion (trend)  
model : model (design)  
mog : ink  
mola : grind (grind in mill)  
molar : miller  
moli : jasmine  
mongol : Mongol  
monstir : monster  
moral : morality (ethics)  
morfe : morph  
morfem : morpheme  
mos : moss  
mosim : season  
moskit : mosquito  
motar : engine (motor)  
mudan : peony  
muhim : important  
muka : face  
mul : beginning  
mula : begin (commence)  
mum : wax  
mumia : mummy  
mumu : cow  
mumu nyam : beef  
mun : door (gate)  
mungus : mongoose  
munkin : possibly (maybe)  
mur : wall  
musa : coerce (force, compel)  
muse : coercion  
musika : play music  
musikar : musician  
musike : music  
musket : musket  
musketir : musketeer  
muskul : muscle  
musu : must  
muxing : Jupiter  
muxu : mouse  

##n

na : with (by, at, in, on)  
nabe : prophecy  
nadi : river  
nafas : breath  
nahun : nail (fingernail)  
nayjiria : Nigeria  
nam : name  
nama : call (give name)  
namu : be called (be named)  
nanas : pineapple  
nano : nano-  
narak : hell  
nas : people (folk)  
nasi : popular  
nasia : nation  
nasial : national  
nasialisme : nationalism  
nawati : Nahuatl (Nahua)  
nederland : Netherlands  
nen : year  
nen feste : anniversary  
nenufar : water lily (nenuphar)  
nepal : Nepal  
neptun : Neptune  
net : net  
nida : need  
nidi : necessary (needed)  
nijer : Niger  
nik : enthusiast (aficionado)  
nikaragua : Nicaragua  
nil : blue  
nilon : nylon  
nipon : Japan  
nitre : nitrogen  
nixe : niche (alcove)  
no : no (not)  
noce : night  
node : knot (node; tie)  
nonga : cultivate  
norde : north  
nordi : northern  
norge : Norway  
norme : norm (standard)  
normi : normal  
nos : nose  
nota : note (observe, notice)  
note : note (observation)  
note buke : notebook  
notis : notice (notification)  
notisa : notify  
nowa : renew (make new, renovate)  
nowi : new (novel)  
noy : nine (9)  
nudi : naked (bare)  
nudisme : nudism  
nul : zero (none)  
nul ren : nobody (no-one)  
nul xey : nothing  
numer : number  
numer un : first (number one)  
nun : now  
nuton : newton (N)  
nyam : food (meal)  
nyam kamer : dining room  
nyama : consume (eat or drink)  
nyami : delicious (yummy)  


##o

o : oh!  
ofis : office (position)  
ofisar : officer  
okey : okay (acceptable)  
okeya : accept (to say okay)  
okse : oxygen  
oma : grandmother  
oman : Oman  
opa : grandfather  
orda : order (issue a command)  
orde : order (command)  
orgazme : orgasm  
oskur : dark (dim)  
oste : bone  

##p

pa : father  
paban : board (plank)  
pada : drop (let fall)  
padu : fall  
pagre : turban  
paka : pack  
pake : pack (package)  
paki : bird  
pakistan : Pakistan  
pal : fruit  
palma : palm tree  
pan : all  
panafrikan : pan-African  
panama : Panama  
panamerikan : pan-American  
panasian : pan-Asian  
panda : panda  
pandunia : Pandunia  
panewropan : pan-European  
pang : bread  
panik : panic  
pantalon : pants (trousers)  
papa : father (dad)  
papaya : papaya  
paper : paper  
par : equal (peer)  
paraguay : Paraguay  
parde : curtain  
pas : past (bygone)  
pasa : pass (go by, go past)  
pase : past times  
paskal : pascal (Pa)  
paste : paste  
pat : path (track, trail)  
patate : potato  
pawnde : pound (£)  
paws : pause (break, interruption)  
pawsa : pause (interrupt)  
paxa : hurt  
paxi : painful  
paxia : suffer (hurt)  
paxu : suffer (get hurt)  
pay : pie (pastry)  
ped : foot  
pelmen : dumpling (ravioli, pelmeni)  
penda : hang (dangle)  
penis : penis  
penta : paint  
penter : painter  
pera : pear  
perda : fart  
perfet : perfect  
peri : fairy  
permis : permission  
permisa : allow (permit)  
peru : Peru  
pesa : money  
pexa : job (occupation)  
pey : payment  
peya : pay  
piano : piano  
pifu : skin  
pigu : buttocks (butt)  
pijin : pidgin (contact language)  
piknike : picnic  
pilipin : Philippines (Filipino)  
pilote : pilot  
pin : needle (pin)  
ping : flat  
pingo : apple  
pinguin : penguin  
pinse : pliers (pincers)  
pipa : pipe  
piper : pepper  
piping : evaluate (review, comment, criticise)  
pirate : pirate  
pistol : pistol  
pixa : piss (urine)  
piza : pizza  
plan : plan  
plana : intend (plan)  
planet : planet  
plante : plant (vegetation)  
plastike : plastic  
plate : plate  
platon : Plato  
platoni : Platonic  
platonia : Platonism  
plus : also (plus, too)  
pluto : Pluto (dwarf planet)  
poker : poker  
polaw : pilaf (pulao)  
poli : several  
polis : police  
polisar : police officer  
politikar : politician  
politike : politics  
polski : Polish  
pompa : pump  
pont : bridge  
porne : porn  
porne grafia : pornography  
porta : carry (bear)  
portugal : Portugal  
posta : send by mail  
poste : mail  
poste cap : postal stamp  
poste kan : post office  
poto : mud (mire)  
poza : pose (set)  
poze : pose (position)  
praman : evidence (proof, testimony)  
pramana : prove (testify)  
prate : practice (actuality)  
prati : practical (pragmatic)  
preda : precede (come before)  
presis : precise (exact, accurate)  
prizon : prison (imprisonment)  
prizona : imprison (jail)  
prizonar : jailer (imprisoner)  
prizonia : prison  
prizonur : prisoner  
proba : try (attempt)  
problem : problem  
profesor : professor  
program : program  
programar : programmer (coder)  
projet : project (planned endeavour)  
proses : process (procedure)  
puder : powder  
puding : pudding  
puertoriko : Puerto Rico  
puja : worship (revere)  
puje : worship (reveration)  
pul : flower  
pula : blossom (bloom)  
pulmon : lung  
pulo : island  
punt : point (full stop)  
pupe : doll (puppet)  
puran : old (ancient)  
puru : feather  
putaw : grape  
putong : common (universal)  
putong han : Mandarin Chinese (Putonghua)  
puxa : push  

##r

radio : radio  
rajar : king or queen  
raji : royal  
rajia : kingdom  
ramazan : Ramadan  
randa : plane (plane tool)  
rang : color  
rapid : fast (quick)  
rase : race (ethnicity)  
rasisme : racism  
raste : growth  
rastu : grow  
ratiba : order (arrange)  
ratibe : order (arrangement)  
razon : reason (rational thinking)  
razoni : radional (reasonable)  
rebel : rebellion  
reda : prepare (make ready)  
redi : ready  
ren : person (people)  
reporta : report (recount, relate)  
reporte : report  
reset : recipe  
resid : receit  
resta : rest (relief)  
reste : rest (remainder)  
restoran : restaurant  
restu : remain (stay)  
retra : go back (retreat)  
rezin : resin  
rezulte : result  
rici : rich  
ris : rice  
riske : risk  
riski : risky  
rite : ritual (ceremony)  
ritme : rhythm (beat)  
robote : robot  
rokete : rocket  
rol : role  
rom : rum  
roma : Rome  
roma empiria : Roman Empire  
romans : romantic love  
romansa : love romantically  
romansi : romantic  
rona : cry (weep)  
rong : oriental dragon  
rose : dew  
rosia : Russia  
rotor : rotor (rotator)  
roze : rose  
rozi : pink (rosy)  
ruk : back  
ruk sak : backpack (rucksack)  
rula : roll  
rupe : appearance (looks)  
rusi : Russian  
rusia : Russia  
rutin : routine (habit)  

##s

sabat : Sabbath  
sabun : soap  
sabze : vegetable  
sadi : plain (mere)  
safa : clean (purify)  
safer : travel (voyage)  
safera : travel  
saferar : traveler  
safi : clean (pure)  
saga : tell (narrate)  
sage : tale (legend, saga)  
sak : bag (sack)  
sal : salt  
salade : salad  
salam : good (in greetings)  
salam cute : farewell  
salam den : Good day  
salam laye : welcome!  
salam nyam : bon appetit!  
salam suba : Good morning  
salam xam : Good evening  
salama : greet  
salame : greeting (hello)  
salima : surrender (to give up)  
salone : Sierra Leone  
salta : jump  
sam : three (3)  
saman : sky (heaven)  
samani : celestial (heavenly)  
sana : make (produce, manufacture)  
sande : sand  
sanduke : box (chest)  
sang : blood  
sani : artificial  
sani bax : artificial language (conlang)  
sania : production  
santi : holy (sacred)  
sapate : shoe  
sapatir : shoemaker  
sar : head  
sar gut : skull  
sat : time of day (moment)  
sawdar : sibling (brother or sister)  
sawna : sauna  
se : self  
sekretar : secretary  
sekretaria : secretariat  
seksa : have sex  
sekse : sex (sexual intercourse)  
seksi : sexy (sexual)  
sekun : second(s)  
sekur : safe (secure)  
sel : cell (biology)  
selen : selenium  
sem : same  
sem dexi : compatriot  
sem jins kami : homosexual  
sement : cement  
semu : resemble (be like)  
sen : chest (thorax)  
sens : sense  
senta : feel (emote)  
serbia : Serbia  
serca : search  
serebre : brain  
seres : Ceres (dwarf planet)  
serie : series  
serpe : snake (serpent)  
sesam : sesame  
set : seven (7)  
set war : week  
si : yes (is)  
sibir : Siberia  
sife : quality (charasteristic)  
sigar : cigar  
sigaret : cigarette  
silsil : chain  
simpli : simple (not complicated)  
sing : lion  
singapur : Singapore  
sinye : sign (signal)  
sir : secret  
sirka : surround (be around)  
sirke : circle (round)  
sirki : round (circular)  
sis : six (6)  
sisme : earthquake  
sisme-lojia : seismology  
sistem : system  
sistemi : systemic  
sita : quote (to cite)  
slowakia : Slovakia  
slowenia : Slovenia  
so : so (like this, like that)  
sofa : sofa (couch)  
sofi : wise  
sofia : wisdom  
sol : only (just)  
son : sleep  
son kamer : bedroom  
sona : sleep (be asleep)  
sonda : sound (make a sound)  
sonde : sound (audio)  
song : pine tree  
sos : sauce  
sosis : sausage  
stadion : stadium  
stan : area  
stasia : station  
state : state  
stati : static (stationary)  
stop : stop  
suan : sour  
suba : morning  
suba den : forenoon  
suba nyam : breakfast  
sudafrika : South Africa (republic)  
sudan : Sudan  
sude : south  
suhi : dry  
suka : please (delight, make happy)  
sukari : sugary (sweet)  
suker : sugar  
suki : happy (delighted)  
suku : like (enjoy, be fond of)  
sultan : power (authority, rule)  
sum : sum (total)  
suma : sum up (add together)  
sun : soon  
sundar : beautiful (handsome)  
suomia : Finland  
supe : soup  
super : superb (wonderful, super)  
supra : surpass (go over)  
supre : overpass  
sura : picture (illustrate)  
sure : image (picture)  
suriname : Suriname  
surya : sun  
suxi : sushi  
suy : water  
swahili : Swahili  
swede : sweat (perspiration)  
swedi : sweaty  
sweria : Sweden  
swis : Switzerland  

##t

tabake : tobacco  
tabar : axe (hatchet)  
tabel : table (matrix)  
tabia : nature (environment)  
tabiai : environmental (natural)  
taibei : Taipei  
taiwan : Taiwan  
takse : tax (fee, fare)  
taksi : taxi  
taktike : tactics (strategy)  
tal : bottom  
tala : lock  
tamar : date fruit  
tambur : drum  
tanah : Tanakh (Jewish Bible)  
tanke : tank (container)  
tanzania : Tanzania  
tape : tap (stopper)  
tara : star  
tarjum : translation (interpretation)  
tarjuma : translate (interpret)  
tarjumar : interpreter (translator)  
tatu : tattoo  
tawa : frying pan  
tay : Thai (Thailand)  
tayga : taiga  
tazi : fresh  
tekne : technique (technology)  
tekne lojia : technology (study of techniques)  
tel : far (distant)  
tele : distance  
tele fon : telephone  
tele wide : television  
tem : topic (subject, theme)  
tema : be about (discuss as a subject)  
tena : hold (keep)  
tende : tent  
tenis : tennis  
tenki : weather  
tenta : tempt (entice)  
teore : theory  
tepe : tape  
teror : terror  
terorisme : terrorism  
teste : test (challenge, trial)  
teyan : suggestion (proposal)  
teyana : suggest (propose)  
teza : argue (claim)  
teze : argument (thesis)  
ticin : bow instrument (violin, etc.)  
tik : right (correct)  
tika : rectify (make correct)  
tiket : ticket  
tim : team  
tin : can (tin can)  
tira : pull  
tira milke : milk (draw milk)  
tiran : tyrant  
tirania : tyranny  
titan : titanium  
to : to (till, until, for)  
toca : touch  
togo : Togo  
tolo : top (spinning top)  
tomate : tomato  
ton : tone (note, pitch, shade)  
tong : barrel (can)  
tope : hat (cap)  
tortuga : turtle (tortoise)  
tot : whole (entire, all)  
total : total (affecting all)  
towal : towel  
tren : train  
tren daw : railway (railroad)  
tu : you  
tualet : toilet (WC)  
tube : tube (pipe)  
tufon : storm (tempest)  
tuka : spit  
tul : tool  
tulpan : tulip  
tumen : you all  
tundra : tundra  
tunel : tunnel  
tunel-tren : subway (metro)  
tung : hurt (pain)  
tunisia : Tunisia  
tur : tour (trip)  
turisme : tourism  
turiste : tourist  
turki : Turkish  
turkia : Turkey  
tuzi : rabbit (hare)  

##u

u : or  
udas : sad  
ukraina : Ukraine  
ulul : howling  
ulula : howl  
uma : horse  
umur : age  
un : one (1)  
una : unite  
uni : united  
uni stat de amerika : United States of America  
unia : union  
uran : Uranus  
uranium : uranium  
urdun : Jordan  
uruguay : Uruguay  
usamerika : US America  
uza : use (employ, apply)  
uzar : user  

##v

viet : Vietnam  
vodu : voodoo  
volta : volt (V)  

##w

wa : wow! (gee!)  
wada : promise (commit)  
waf : dog  
wayn : wine  
wakila : represent  
waksin : vaccine  
wan : bowl (earless cup)  
wang : yellow  
wanila : vanilla  
war : day of the week  
war 1 (war un) : Monday  
war 2 (war du) : Tuesday  
war 3 (war sam) : Wednesday  
war 4 (war car) : Thursday  
war 5 (war lim) : Friday  
war 6 (war sis) : Saturday  
war 7 (war set) : Sunday  
waris : heritage (bequest)  
wase : oasis  
wate : watt  
wax-maxin : washing machine  
waxa : wash  
way : outside (exterior)  
way-dexi : foreign  
way-dexia : foreign country  
weka : wake (make awake)  
weki : awake  
wen : circle (ring)  
werka : work  
werkar : worker  
werke : work (job, task)  
werme : worm  
weste : west  
westi : western  
wida : look (see)  
wide : view (vision)  
wide maydan : visual field (field of vision)  
widu : be seen  
wiki : wiki  
wildi : wild (savage)  
wiman : airplane  
win : win (victory)  
wing : wing  
winil : vinyl  
wirus : virus  
wirus lojia : virology  
wizit : visit  
wol : want (desire)  

##x

xakal : jackal  
xake : branch (bough)  
xal : scarf (shawl)  
xalet : cottage (chalet)  
xam : evening  
xam den : afternoon  
xam nyam : dinner  
xaman : shaman  
xamba : field (countryside)  
xampu : shampoo  
xan : mountain (hill)  
xani : Saturn  
xanti : calm (peaceful)  
xaria : shari'a  
xarifa : respect (honor, esteem)  
xarifi : honorable (respectable)  
xarnir : hinge (pivot)  
xarta : stipulate  
xarte : condition (requirement)  
xatan : devil (Satan)  
xatani : devilish (satanic)  
xaxu : rustle  
xefe : chief (boss)  
xefi : main (principal)  
xefi ministar : prime minister  
xey : thing  
xiki : elegant (chic)  
xim : heart  
xin : belief (faith, creed)  
xina : believe  
xir : poem  
xirar : poet  
xirope : syrup  
xix : hush (shh)  
xixi : silent  
xok : shock (collision)  
xow : show (display, exhibition)  
xowa : show (display)  
xu : tree  
xudu : should (ought)  
xula : repair (fix)  

##y

yaka : estimate (approximate)  
yaki : about (approximately)  
yakin : certain (sure)  
yala : hurry (hasten)  
yaman : Yemen  
yang : kind (type, style)  
yani : that is (in other words, i.e.)  
yasen : ash tree  
yatim : orphan  
ye : he or she or it  
yehudi : Jewish  
yemen : they  
yen : eye  
yesu : Jesus  
yode : iodine  
yoga : do yoga  
yoge : yoga  
yoni : vagina  
yosay : fortress (stronghold)  
yumor : humor  
yumori : humorous (comical, funny)  
yungam : brave (courageous)  

##z

zafran : saffron  
zalim : mean (cruel)  
zaman : time (moment)  
zambia : Zambia  
zardux : Zoroaster  
zarduxisme : Zoroastrianism  
zay : present (current, existing)  
zay den : today  
zaye : presence (existence)  
zaytun : olive  
ze : from (since)  
zebra : zebra  
zem : earth (ground, soil)  
zem dow : peanut (groundnut)  
zemia : Earth (Terra)  
ziba : plug (stop with a plug)  
zibula : unplug (uncork)  
zigzage : zigzag  
zimbabwe : Zimbabwe  
zine : adultery (infidelity)  
zink : zinc  
zira : cumin  
ziza : sizzle  
zon : belt (zone)  
zukam : cold (illness)  
zulu : Zulu  
zumrude : emerald  
  
## -
  
-a : suffix for verbs with SVO word order  
-ar : suffix for active doer  
-e : suffix for (result of) action  
-em : a unit consisting of a set of similar items  
-i : suffix for adjectives  
-ia : suffix for areas  
-ir : suffix for person who is associated with the root  
-u : suffix for verbs with OVS word order  
-ur : suffix for passive object  


}}}
/***
|Name|DisableWikiLinksPlugin|
|Source|http://www.TiddlyTools.com/#DisableWikiLinksPlugin|
|Version|1.6.0|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|selectively disable TiddlyWiki's automatic ~WikiWord linking behavior|
This plugin allows you to disable TiddlyWiki's automatic ~WikiWord linking behavior, so that WikiWords embedded in tiddler content will be rendered as regular text, instead of being automatically converted to tiddler links.  To create a tiddler link when automatic linking is disabled, you must enclose the link text within {{{[[...]]}}}.
!!!!!Usage
<<<
You can block automatic WikiWord linking behavior for any specific tiddler by ''tagging it with<<tag excludeWikiWords>>'' (see configuration below) or, check a plugin option to disable automatic WikiWord links to non-existing tiddler titles, while still linking WikiWords that correspond to existing tiddlers titles or shadow tiddler titles.  You can also block specific selected WikiWords from being automatically linked by listing them in [[DisableWikiLinksList]] (see configuration below), separated by whitespace.  This tiddler is optional and, when present, causes the listed words to always be excluded, even if automatic linking of other WikiWords is being permitted.  

Note: WikiWords contained in default ''shadow'' tiddlers will be automatically linked unless you select an additional checkbox option lets you disable these automatic links as well, though this is not recommended, since it can make it more difficult to access some TiddlyWiki standard default content (such as AdvancedOptions or SideBarTabs)
<<<
!!!!!Configuration
<<<
<<option chkDisableWikiLinks>> Disable ALL automatic WikiWord tiddler links
<<option chkAllowLinksFromShadowTiddlers>> ... except for WikiWords //contained in// shadow tiddlers
<<option chkDisableNonExistingWikiLinks>> Disable automatic WikiWord links for non-existing tiddlers
Disable automatic WikiWord links for words listed in: <<option txtDisableWikiLinksList>>
Disable automatic WikiWord links for tiddlers tagged with: <<option txtDisableWikiLinksTag>>
<<<
!!!!!Revisions
<<<
2008.07.22 [1.6.0] hijack tiddler changed() method to filter disabled wiki words from internal links[] array (so they won't appear in the missing tiddlers list)
2007.06.09 [1.5.0] added configurable txtDisableWikiLinksTag (default value: "excludeWikiWords") to allows selective disabling of automatic WikiWord links for any tiddler tagged with that value.
2006.12.31 [1.4.0] in formatter, test for chkDisableNonExistingWikiLinks
2006.12.09 [1.3.0] in formatter, test for excluded wiki words specified in DisableWikiLinksList
2006.12.09 [1.2.2] fix logic in autoLinkWikiWords() (was allowing links TO shadow tiddlers, even when chkDisableWikiLinks is TRUE).  
2006.12.09 [1.2.1] revised logic for handling links in shadow content
2006.12.08 [1.2.0] added hijack of Tiddler.prototype.autoLinkWikiWords so regular (non-bracketed) WikiWords won't be added to the missing list
2006.05.24 [1.1.0] added option to NOT bypass automatic wikiword links when displaying default shadow content (default is to auto-link shadow content)
2006.02.05 [1.0.1] wrapped wikifier hijack in init function to eliminate globals and avoid FireFox 1.5.0.1 crash bug when referencing globals
2005.12.09 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.DisableWikiLinksPlugin= {major: 1, minor: 6, revision: 0, date: new Date(2008,7,22)};

if (config.options.chkDisableNonExistingWikiLinks==undefined) config.options.chkDisableNonExistingWikiLinks= false;
if (config.options.chkDisableWikiLinks==undefined) config.options.chkDisableWikiLinks=false;
if (config.options.txtDisableWikiLinksList==undefined) config.options.txtDisableWikiLinksList="DisableWikiLinksList";
if (config.options.chkAllowLinksFromShadowTiddlers==undefined) config.options.chkAllowLinksFromShadowTiddlers=true;
if (config.options.txtDisableWikiLinksTag==undefined) config.options.txtDisableWikiLinksTag="excludeWikiWords";

// find the formatter for wikiLink and replace handler with 'pass-thru' rendering
initDisableWikiLinksFormatter();
function initDisableWikiLinksFormatter() {
	for (var i=0; i<config.formatters.length && config.formatters[i].name!="wikiLink"; i++);
	config.formatters[i].coreHandler=config.formatters[i].handler;
	config.formatters[i].handler=function(w) {
		// supress any leading "~" (if present)
		var skip=(w.matchText.substr(0,1)==config.textPrimitives.unWikiLink)?1:0;
		var title=w.matchText.substr(skip);
		var exists=store.tiddlerExists(title);
		var inShadow=w.tiddler && store.isShadowTiddler(w.tiddler.title);
		// check for excluded Tiddler
		if (w.tiddler && w.tiddler.isTagged(config.options.txtDisableWikiLinksTag))
			{ w.outputText(w.output,w.matchStart+skip,w.nextMatch); return; }
		// check for specific excluded wiki words
		var t=store.getTiddlerText(config.options.txtDisableWikiLinksList);
		if (t && t.length && t.indexOf(w.matchText)!=-1)
			{ w.outputText(w.output,w.matchStart+skip,w.nextMatch); return; }
		// if not disabling links from shadows (default setting)
		if (config.options.chkAllowLinksFromShadowTiddlers && inShadow)
			return this.coreHandler(w);
		// check for non-existing non-shadow tiddler
		if (config.options.chkDisableNonExistingWikiLinks && !exists)
			{ w.outputText(w.output,w.matchStart+skip,w.nextMatch); return; }
		// if not enabled, just do standard WikiWord link formatting
		if (!config.options.chkDisableWikiLinks)
			return this.coreHandler(w);
		// just return text without linking
		w.outputText(w.output,w.matchStart+skip,w.nextMatch)
	}
}

Tiddler.prototype.coreAutoLinkWikiWords = Tiddler.prototype.autoLinkWikiWords;
Tiddler.prototype.autoLinkWikiWords = function()
{
	// if all automatic links are not disabled, just return results from core function
	if (!config.options.chkDisableWikiLinks)
		return this.coreAutoLinkWikiWords.apply(this,arguments);
	return false;
}

Tiddler.prototype.disableWikiLinks_changed = Tiddler.prototype.changed;
Tiddler.prototype.changed = function()
{
	this.disableWikiLinks_changed.apply(this,arguments);
	// remove excluded wiki words from links array
	var t=store.getTiddlerText(config.options.txtDisableWikiLinksList,"").readBracketedList();
	if (t.length) for (var i=0; i<t.length; i++)
		if (this.links.contains(t[i]))
			this.links.splice(this.links.indexOf(t[i]),1);
};
//}}}
/***
|''Name:''|LoadRemoteFileThroughProxy (previous LoadRemoteFileHijack)|
|''Description:''|When the TiddlyWiki file is located on the web (view over http) the content of [[SiteProxy]] tiddler is added in front of the file url. If [[SiteProxy]] does not exist "/proxy/" is added. |
|''Version:''|1.1.0|
|''Date:''|mar 17, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#LoadRemoteFileHijack|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0|
***/
//{{{
version.extensions.LoadRemoteFileThroughProxy = {
 major: 1, minor: 1, revision: 0, 
 date: new Date("mar 17, 2007"), 
 source: "http://tiddlywiki.bidix.info/#LoadRemoteFileThroughProxy"};

if (!window.bidix) window.bidix = {}; // bidix namespace
if (!bidix.core) bidix.core = {};

bidix.core.loadRemoteFile = loadRemoteFile;
loadRemoteFile = function(url,callback,params)
{
 if ((document.location.toString().substr(0,4) == "http") && (url.substr(0,4) == "http")){ 
 url = store.getTiddlerText("SiteProxy", "/proxy/") + url;
 }
 return bidix.core.loadRemoteFile(url,callback,params);
}
//}}}
<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />
<link rel="shortcut icon" href="http://upload.wikimedia.org/wikipedia/commons/thumb/9/97/The_Earth_seen_from_Apollo_17.jpg/240px-The_Earth_seen_from_Apollo_17.jpg" type="image/x-icon">
<!--}}}-->
<!--{{{-->
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
/***
|''Name:''|PasswordOptionPlugin|
|''Description:''|Extends TiddlyWiki options with non encrypted password option.|
|''Version:''|1.0.2|
|''Date:''|Apr 19, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#PasswordOptionPlugin|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0 (Beta 5)|
***/
//{{{
version.extensions.PasswordOptionPlugin = {
	major: 1, minor: 0, revision: 2, 
	date: new Date("Apr 19, 2007"),
	source: 'http://tiddlywiki.bidix.info/#PasswordOptionPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	license: '[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D]]',
	coreVersion: '2.2.0 (Beta 5)'
};

config.macros.option.passwordCheckboxLabel = "Save this password on this computer";
config.macros.option.passwordInputType = "password"; // password | text
setStylesheet(".pasOptionInput {width: 11em;}\n","passwordInputTypeStyle");

merge(config.macros.option.types, {
	'pas': {
		elementType: "input",
		valueField: "value",
		eventName: "onkeyup",
		className: "pasOptionInput",
		typeValue: config.macros.option.passwordInputType,
		create: function(place,type,opt,className,desc) {
			// password field
			config.macros.option.genericCreate(place,'pas',opt,className,desc);
			// checkbox linked with this password "save this password on this computer"
			config.macros.option.genericCreate(place,'chk','chk'+opt,className,desc);			
			// text savePasswordCheckboxLabel
			place.appendChild(document.createTextNode(config.macros.option.passwordCheckboxLabel));
		},
		onChange: config.macros.option.genericOnChange
	}
});

merge(config.optionHandlers['chk'], {
	get: function(name) {
		// is there an option linked with this chk ?
		var opt = name.substr(3);
		if (config.options[opt]) 
			saveOptionCookie(opt);
		return config.options[name] ? "true" : "false";
	}
});

merge(config.optionHandlers, {
	'pas': {
 		get: function(name) {
			if (config.options["chk"+name]) {
				return encodeCookie(config.options[name].toString());
			} else {
				return "";
			}
		},
		set: function(name,value) {config.options[name] = decodeCookie(value);}
	}
});

// need to reload options to load passwordOptions
loadOptionsCookie();

/*
if (!config.options['pasPassword'])
	config.options['pasPassword'] = '';

merge(config.optionsDesc,{
		pasPassword: "Test password"
	});
*/
//}}}
/%
!info
|Name|ReplaceDoubleClick|
|Source|http://www.TiddlyTools.com/#ReplaceDoubleClick|
|Version|2.0.0|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|transclusion|
|Description|disable doubleclick-to-edit-tiddler or replace doubleclick with shift/ctrl/alt+singleclick|
Usage:
<<<
{{{
<<tiddler ReplaceDoubleClick>> or
<<tiddler ReplaceDoubleClick with: key trigger>>
}}}
*''key'' (optional)
**''none'' (default=disables double-click)
**''ctrl, shift,'' or ''alt'' invokes the action only when the indicated key is used in combination with the mouse.
*''trigger'' (optional)<br>is either 'click' or 'doubleclick' (default).
<<<
Example:
<<<
{{{<<tiddler ReplaceDoubleClick with: shift click>>}}}
<<tiddler ReplaceDoubleClick with: shift click>>//(use shift+click to edit this tiddler)//
<<<
!end
!show
<<tiddler {{
	var here=story.findContainingTiddler(place);
	if (here && here.ondblclick) {
		here.setAttribute('editKey','none');
		var key='$1'; if (key=='$'+'1') key='none'
		if (['shift','ctrl','alt'].contains(key))
			here.setAttribute('editKey',key+'Key');
		var trigger=('$2'=='click')?'onclick':'ondblclick';
		here.save_dblclick=here.ondblclick;
		here.ondblclick=null;
		if (here.getAttribute('editKey')!='none')
			here[trigger]=function(e) {
				var ev=e?e:window.event;
				if (ev[this.getAttribute('editKey')])
					this.save_dblclick.apply(this,arguments);
			}
	}'';}}>>
!end
%/<<tiddler {{var src='ReplaceDoubleClick';src+(tiddler&&tiddler.title==src?'##info':'##show')}} with: [[$1]] [[$2]]>>
//dictionary//
Pandunia - English
body {font-size:0.9em; font-family:verdana,arial,helvetica; margin:0; padding:0;}
.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:0em 0 0.1em .5em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:0em 0 .1em .5em; left:0px; top:0px;}
#displayArea {margin:-1em 4em 0em 4em; }
.viewer table, table.twtable {margin:0.8em 0;width:100%;}
.viewer a{color: #000;text-decoration:none;background:transparent;}
.viewer a:hover{color:#03f;text-decoration:underline;background:transparent;}
.toolbar {font-size:0em;}
|~ViewToolbar|+editTiddler|
|~EditToolbar|+saveTiddler -cancelTiddler copyTiddler deleteTiddler|
/***
Description: Contains the stuff you need to use Tiddlyspot
Note, you also need UploadPlugin, PasswordOptionPlugin and LoadRemoteFileThroughProxy
from http://tiddlywiki.bidix.info for a complete working Tiddlyspot site.
***/
//{{{

// edit this if you are migrating sites or retrofitting an existing TW
config.tiddlyspotSiteId = 'http://www.pandunia.info/english/tiddly.html';

// make it so you can by default see edit controls via http
config.options.chkHttpReadOnly = false;
window.readOnly = false; // make sure of it (for tw 2.2)
window.showBackstage = true; // show backstage too

// disable autosave in d3
if (window.location.protocol != "file:")
	config.options.chkGTDLazyAutoSave = false;

// tweak shadow tiddlers to add upload button, password entry box etc
with (config.shadowTiddlers) {
	SiteUrl = 'http://'+config.tiddlyspotSiteId+'.tiddlyspot.com';
	SideBarOptions = SideBarOptions.replace(/(<<saveChanges>>)/,"$1<<tiddler TspotSidebar>>");
	OptionsPanel = OptionsPanel.replace(/^/,"<<tiddler TspotOptions>>");
	DefaultTiddlers = DefaultTiddlers.replace(/^/,"[[WelcomeToTiddlyspot]] ");
	MainMenu = MainMenu.replace(/^/,"[[WelcomeToTiddlyspot]] ");
}

// create some shadow tiddler content
merge(config.shadowTiddlers,{

'TspotControls':[
 "| tiddlyspot password:|<<option pasUploadPassword>>|",
 "| site management:|<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . .  " + config.tiddlyspotSiteId + ">>//(requires tiddlyspot password)//<br>[[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]], [[download (go offline)|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download]]|",
 "| links:|[[tiddlyspot.com|http://tiddlyspot.com/]], [[FAQs|http://faq.tiddlyspot.com/]], [[blog|http://tiddlyspot.blogspot.com/]], email [[support|mailto:support@tiddlyspot.com]] & [[feedback|mailto:feedback@tiddlyspot.com]], [[donate|http://tiddlyspot.com/?page=donate]]|"
].join("\n"),

'TspotOptions':[
 "tiddlyspot password:",
 "<<option pasUploadPassword>>",
 ""
].join("\n"),

'TspotSidebar':[
 "<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . .  " + config.tiddlyspotSiteId + ">><html><a href='http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download' class='button'>download</a></html>"
].join("\n"),

'WelcomeToTiddlyspot':[
 "This document is a ~TiddlyWiki from tiddlyspot.com.  A ~TiddlyWiki is an electronic notebook that is great for managing todo lists, personal information, and all sorts of things.",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //What now?// &nbsp;&nbsp;@@ Before you can save any changes, you need to enter your password in the form below.  Then configure privacy and other site settings at your [[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]] (your control panel username is //" + config.tiddlyspotSiteId + "//).",
 "<<tiddler TspotControls>>",
 "See also GettingStarted.",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Working online// &nbsp;&nbsp;@@ You can edit this ~TiddlyWiki right now, and save your changes using the \"save to web\" button in the column on the right.",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Working offline// &nbsp;&nbsp;@@ A fully functioning copy of this ~TiddlyWiki can be saved onto your hard drive or USB stick.  You can make changes and save them locally without being connected to the Internet.  When you're ready to sync up again, just click \"upload\" and your ~TiddlyWiki will be saved back to tiddlyspot.com.",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Help!// &nbsp;&nbsp;@@ Find out more about ~TiddlyWiki at [[TiddlyWiki.com|http://tiddlywiki.com]].  Also visit [[TiddlyWiki.org|http://tiddlywiki.org]] for documentation on learning and using ~TiddlyWiki. New users are especially welcome on the [[TiddlyWiki mailing list|http://groups.google.com/group/TiddlyWiki]], which is an excellent place to ask questions and get help.  If you have a tiddlyspot related problem email [[tiddlyspot support|mailto:support@tiddlyspot.com]].",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Enjoy :)// &nbsp;&nbsp;@@ We hope you like using your tiddlyspot.com site.  Please email [[feedback@tiddlyspot.com|mailto:feedback@tiddlyspot.com]] with any comments or suggestions."
].join("\n")

});
//}}}
| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |
| 30/12/2015 16:20:21 | YourName | [[/|http://www.pandunia.info/english/]] | [[store.cgi|http://www.pandunia.info/english/store.cgi]] | . | [[index.html | http://www.pandunia.info/english/tiddly.html]] | . |
| 30/12/2015 16:51:02 | YourName | [[/|http://www.pandunia.info/english/]] | [[store.cgi|http://www.pandunia.info/english/store.cgi]] | . | [[index.html | http://www.pandunia.info/english/tiddly.html]] | . |
| 30/12/2015 16:56:17 | YourName | [[/|http://www.pandunia.info/english/]] | [[store.cgi|http://www.pandunia.info/english/store.cgi]] | . | [[index.html | http://www.pandunia.info/english/tiddly.html]] | . |
| 30/12/2015 16:57:36 | YourName | [[/|http://www.pandunia.info/english/]] | [[store.cgi|http://www.pandunia.info/english/store.cgi]] | . | [[index.html | http://www.pandunia.info/english/tiddly.html]] | . |
/***
|''Name:''|UploadPlugin|
|''Description:''|Save to web a TiddlyWiki|
|''Version:''|4.1.3|
|''Date:''|Feb 24, 2008|
|''Source:''|http://tiddlywiki.bidix.info/#UploadPlugin|
|''Documentation:''|http://tiddlywiki.bidix.info/#UploadPluginDoc|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0|
|''Requires:''|PasswordOptionPlugin|
***/
//{{{
version.extensions.UploadPlugin = {
	major: 4, minor: 1, revision: 3,
	date: new Date("Feb 24, 2008"),
	source: 'http://tiddlywiki.bidix.info/#UploadPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	coreVersion: '2.2.0'
};

//
// Environment
//

if (!window.bidix) window.bidix = {}; // bidix namespace
bidix.debugMode = false;	// true to activate both in Plugin and UploadService
	
//
// Upload Macro
//

config.macros.upload = {
// default values
	defaultBackupDir: '',	//no backup
	defaultStoreScript: "store.php",
	defaultToFilename: "index.html",
	defaultUploadDir: ".",
	authenticateUser: true	// UploadService Authenticate User
};
	
config.macros.upload.label = {
	promptOption: "Save and Upload this TiddlyWiki with UploadOptions",
	promptParamMacro: "Save and Upload this TiddlyWiki in %0",
	saveLabel: "save to web", 
	saveToDisk: "save to disk",
	uploadLabel: "upload"	
};

config.macros.upload.messages = {
	noStoreUrl: "No store URL in parmeters or options",
	usernameOrPasswordMissing: "Username or password missing"
};

config.macros.upload.handler = function(place,macroName,params) {
	if (readOnly)
		return;
	var label;
	if (document.location.toString().substr(0,4) == "http") 
		label = this.label.saveLabel;
	else
		label = this.label.uploadLabel;
	var prompt;
	if (params[0]) {
		prompt = this.label.promptParamMacro.toString().format([this.destFile(params[0], 
			(params[1] ? params[1]:bidix.basename(window.location.toString())), params[3])]);
	} else {
		prompt = this.label.promptOption;
	}
	createTiddlyButton(place, label, prompt, function() {config.macros.upload.action(params);}, null, null, this.accessKey);
};

config.macros.upload.action = function(params)
{
		// for missing macro parameter set value from options
		if (!params) params = {};
		var storeUrl = params[0] ? params[0] : config.options.txtUploadStoreUrl;
		var toFilename = params[1] ? params[1] : config.options.txtUploadFilename;
		var backupDir = params[2] ? params[2] : config.options.txtUploadBackupDir;
		var uploadDir = params[3] ? params[3] : config.options.txtUploadDir;
		var username = params[4] ? params[4] : config.options.txtUploadUserName;
		var password = config.options.pasUploadPassword; // for security reason no password as macro parameter	
		// for still missing parameter set default value
		if ((!storeUrl) && (document.location.toString().substr(0,4) == "http")) 
			storeUrl = bidix.dirname(document.location.toString())+'/'+config.macros.upload.defaultStoreScript;
		if (storeUrl.substr(0,4) != "http")
			storeUrl = bidix.dirname(document.location.toString()) +'/'+ storeUrl;
		if (!toFilename)
			toFilename = bidix.basename(window.location.toString());
		if (!toFilename)
			toFilename = config.macros.upload.defaultToFilename;
		if (!uploadDir)
			uploadDir = config.macros.upload.defaultUploadDir;
		if (!backupDir)
			backupDir = config.macros.upload.defaultBackupDir;
		// report error if still missing
		if (!storeUrl) {
			alert(config.macros.upload.messages.noStoreUrl);
			clearMessage();
			return false;
		}
		if (config.macros.upload.authenticateUser && (!username || !password)) {
			alert(config.macros.upload.messages.usernameOrPasswordMissing);
			clearMessage();
			return false;
		}
		bidix.upload.uploadChanges(false,null,storeUrl, toFilename, uploadDir, backupDir, username, password); 
		return false; 
};

config.macros.upload.destFile = function(storeUrl, toFilename, uploadDir) 
{
	if (!storeUrl)
		return null;
		var dest = bidix.dirname(storeUrl);
		if (uploadDir && uploadDir != '.')
			dest = dest + '/' + uploadDir;
		dest = dest + '/' + toFilename;
	return dest;
};

//
// uploadOptions Macro
//

config.macros.uploadOptions = {
	handler: function(place,macroName,params) {
		var wizard = new Wizard();
		wizard.createWizard(place,this.wizardTitle);
		wizard.addStep(this.step1Title,this.step1Html);
		var markList = wizard.getElement("markList");
		var listWrapper = document.createElement("div");
		markList.parentNode.insertBefore(listWrapper,markList);
		wizard.setValue("listWrapper",listWrapper);
		this.refreshOptions(listWrapper,false);
		var uploadCaption;
		if (document.location.toString().substr(0,4) == "http") 
			uploadCaption = config.macros.upload.label.saveLabel;
		else
			uploadCaption = config.macros.upload.label.uploadLabel;
		
		wizard.setButtons([
				{caption: uploadCaption, tooltip: config.macros.upload.label.promptOption, 
					onClick: config.macros.upload.action},
				{caption: this.cancelButton, tooltip: this.cancelButtonPrompt, onClick: this.onCancel}
				
			]);
	},
	options: [
		"txtUploadUserName",
		"pasUploadPassword",
		"txtUploadStoreUrl",
		"txtUploadDir",
		"txtUploadFilename",
		"txtUploadBackupDir",
		"chkUploadLog",
		"txtUploadLogMaxLine"		
	],
	refreshOptions: function(listWrapper) {
		var opts = [];
		for(i=0; i<this.options.length; i++) {
			var opt = {};
			opts.push();
			opt.option = "";
			n = this.options[i];
			opt.name = n;
			opt.lowlight = !config.optionsDesc[n];
			opt.description = opt.lowlight ? this.unknownDescription : config.optionsDesc[n];
			opts.push(opt);
		}
		var listview = ListView.create(listWrapper,opts,this.listViewTemplate);
		for(n=0; n<opts.length; n++) {
			var type = opts[n].name.substr(0,3);
			var h = config.macros.option.types[type];
			if (h && h.create) {
				h.create(opts[n].colElements['option'],type,opts[n].name,opts[n].name,"no");
			}
		}
		
	},
	onCancel: function(e)
	{
		backstage.switchTab(null);
		return false;
	},
	
	wizardTitle: "Upload with options",
	step1Title: "These options are saved in cookies in your browser",
	step1Html: "<input type='hidden' name='markList'></input><br>",
	cancelButton: "Cancel",
	cancelButtonPrompt: "Cancel prompt",
	listViewTemplate: {
		columns: [
			{name: 'Description', field: 'description', title: "Description", type: 'WikiText'},
			{name: 'Option', field: 'option', title: "Option", type: 'String'},
			{name: 'Name', field: 'name', title: "Name", type: 'String'}
			],
		rowClasses: [
			{className: 'lowlight', field: 'lowlight'} 
			]}
};

//
// upload functions
//

if (!bidix.upload) bidix.upload = {};

if (!bidix.upload.messages) bidix.upload.messages = {
	//from saving
	invalidFileError: "The original file '%0' does not appear to be a valid TiddlyWiki",
	backupSaved: "Backup saved",
	backupFailed: "Failed to upload backup file",
	rssSaved: "RSS feed uploaded",
	rssFailed: "Failed to upload RSS feed file",
	emptySaved: "Empty template uploaded",
	emptyFailed: "Failed to upload empty template file",
	mainSaved: "Main TiddlyWiki file uploaded",
	mainFailed: "Failed to upload main TiddlyWiki file. Your changes have not been saved",
	//specific upload
	loadOriginalHttpPostError: "Can't get original file",
	aboutToSaveOnHttpPost: 'About to upload on %0 ...',
	storePhpNotFound: "The store script '%0' was not found."
};

bidix.upload.uploadChanges = function(onlyIfDirty,tiddlers,storeUrl,toFilename,uploadDir,backupDir,username,password)
{
	var callback = function(status,uploadParams,original,url,xhr) {
		if (!status) {
			displayMessage(bidix.upload.messages.loadOriginalHttpPostError);
			return;
		}
		if (bidix.debugMode) 
			alert(original.substr(0,500)+"\n...");
		// Locate the storeArea div's 
		var posDiv = locateStoreArea(original);
		if((posDiv[0] == -1) || (posDiv[1] == -1)) {
			alert(config.messages.invalidFileError.format([localPath]));
			return;
		}
		bidix.upload.uploadRss(uploadParams,original,posDiv);
	};
	
	if(onlyIfDirty && !store.isDirty())
		return;
	clearMessage();
	// save on localdisk ?
	if (document.location.toString().substr(0,4) == "file") {
		var path = document.location.toString();
		var localPath = getLocalPath(path);
		saveChanges();
	}
	// get original
	var uploadParams = new Array(storeUrl,toFilename,uploadDir,backupDir,username,password);
	var originalPath = document.location.toString();
	// If url is a directory : add index.html
	if (originalPath.charAt(originalPath.length-1) == "/")
		originalPath = originalPath + "index.html";
	var dest = config.macros.upload.destFile(storeUrl,toFilename,uploadDir);
	var log = new bidix.UploadLog();
	log.startUpload(storeUrl, dest, uploadDir,  backupDir);
	displayMessage(bidix.upload.messages.aboutToSaveOnHttpPost.format([dest]));
	if (bidix.debugMode) 
		alert("about to execute Http - GET on "+originalPath);
	var r = doHttp("GET",originalPath,null,null,username,password,callback,uploadParams,null);
	if (typeof r == "string")
		displayMessage(r);
	return r;
};

bidix.upload.uploadRss = function(uploadParams,original,posDiv) 
{
	var callback = function(status,params,responseText,url,xhr) {
		if(status) {
			var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
			displayMessage(bidix.upload.messages.rssSaved,bidix.dirname(url)+'/'+destfile);
			bidix.upload.uploadMain(params[0],params[1],params[2]);
		} else {
			displayMessage(bidix.upload.messages.rssFailed);			
		}
	};
	// do uploadRss
	if(config.options.chkGenerateAnRssFeed) {
		var rssPath = uploadParams[1].substr(0,uploadParams[1].lastIndexOf(".")) + ".xml";
		var rssUploadParams = new Array(uploadParams[0],rssPath,uploadParams[2],'',uploadParams[4],uploadParams[5]);
		var rssString = generateRss();
		// no UnicodeToUTF8 conversion needed when location is "file" !!!
		if (document.location.toString().substr(0,4) != "file")
			rssString = convertUnicodeToUTF8(rssString);	
		bidix.upload.httpUpload(rssUploadParams,rssString,callback,Array(uploadParams,original,posDiv));
	} else {
		bidix.upload.uploadMain(uploadParams,original,posDiv);
	}
};

bidix.upload.uploadMain = function(uploadParams,original,posDiv) 
{
	var callback = function(status,params,responseText,url,xhr) {
		var log = new bidix.UploadLog();
		if(status) {
			// if backupDir specified
			if ((params[3]) && (responseText.indexOf("backupfile:") > -1))  {
				var backupfile = responseText.substring(responseText.indexOf("backupfile:")+11,responseText.indexOf("\n", responseText.indexOf("backupfile:")));
				displayMessage(bidix.upload.messages.backupSaved,bidix.dirname(url)+'/'+backupfile);
			}
			var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
			displayMessage(bidix.upload.messages.mainSaved,bidix.dirname(url)+'/'+destfile);
			store.setDirty(false);
			log.endUpload("ok");
		} else {
			alert(bidix.upload.messages.mainFailed);
			displayMessage(bidix.upload.messages.mainFailed);
			log.endUpload("failed");			
		}
	};
	// do uploadMain
	var revised = bidix.upload.updateOriginal(original,posDiv);
	bidix.upload.httpUpload(uploadParams,revised,callback,uploadParams);
};

bidix.upload.httpUpload = function(uploadParams,data,callback,params)
{
	var localCallback = function(status,params,responseText,url,xhr) {
		url = (url.indexOf("nocache=") < 0 ? url : url.substring(0,url.indexOf("nocache=")-1));
		if (xhr.status == 404)
			alert(bidix.upload.messages.storePhpNotFound.format([url]));
		if ((bidix.debugMode) || (responseText.indexOf("Debug mode") >= 0 )) {
			alert(responseText);
			if (responseText.indexOf("Debug mode") >= 0 )
				responseText = responseText.substring(responseText.indexOf("\n\n")+2);
		} else if (responseText.charAt(0) != '0') 
			alert(responseText);
		if (responseText.charAt(0) != '0')
			status = null;
		callback(status,params,responseText,url,xhr);
	};
	// do httpUpload
	var boundary = "---------------------------"+"AaB03x";	
	var uploadFormName = "UploadPlugin";
	// compose headers data
	var sheader = "";
	sheader += "--" + boundary + "\r\nContent-disposition: form-data; name=\"";
	sheader += uploadFormName +"\"\r\n\r\n";
	sheader += "backupDir="+uploadParams[3] +
				";user=" + uploadParams[4] +
				";password=" + uploadParams[5] +
				";uploaddir=" + uploadParams[2];
	if (bidix.debugMode)
		sheader += ";debug=1";
	sheader += ";;\r\n"; 
	sheader += "\r\n" + "--" + boundary + "\r\n";
	sheader += "Content-disposition: form-data; name=\"userfile\"; filename=\""+uploadParams[1]+"\"\r\n";
	sheader += "Content-Type: text/html;charset=UTF-8" + "\r\n";
	sheader += "Content-Length: " + data.length + "\r\n\r\n";
	// compose trailer data
	var strailer = new String();
	strailer = "\r\n--" + boundary + "--\r\n";
	data = sheader + data + strailer;
	if (bidix.debugMode) alert("about to execute Http - POST on "+uploadParams[0]+"\n with \n"+data.substr(0,500)+ " ... ");
	var r = doHttp("POST",uploadParams[0],data,"multipart/form-data; ;charset=UTF-8; boundary="+boundary,uploadParams[4],uploadParams[5],localCallback,params,null);
	if (typeof r == "string")
		displayMessage(r);
	return r;
};

// same as Saving's updateOriginal but without convertUnicodeToUTF8 calls
bidix.upload.updateOriginal = function(original, posDiv)
{
	if (!posDiv)
		posDiv = locateStoreArea(original);
	if((posDiv[0] == -1) || (posDiv[1] == -1)) {
		alert(config.messages.invalidFileError.format([localPath]));
		return;
	}
	var revised = original.substr(0,posDiv[0] + startSaveArea.length) + "\n" +
				store.allTiddlersAsHtml() + "\n" +
				original.substr(posDiv[1]);
	var newSiteTitle = getPageTitle().htmlEncode();
	revised = revised.replaceChunk("<title"+">","</title"+">"," " + newSiteTitle + " ");
	revised = updateMarkupBlock(revised,"PRE-HEAD","MarkupPreHead");
	revised = updateMarkupBlock(revised,"POST-HEAD","MarkupPostHead");
	revised = updateMarkupBlock(revised,"PRE-BODY","MarkupPreBody");
	revised = updateMarkupBlock(revised,"POST-SCRIPT","MarkupPostBody");
	return revised;
};

//
// UploadLog
// 
// config.options.chkUploadLog :
//		false : no logging
//		true : logging
// config.options.txtUploadLogMaxLine :
//		-1 : no limit
//      0 :  no Log lines but UploadLog is still in place
//		n :  the last n lines are only kept
//		NaN : no limit (-1)

bidix.UploadLog = function() {
	if (!config.options.chkUploadLog) 
		return; // this.tiddler = null
	this.tiddler = store.getTiddler("UploadLog");
	if (!this.tiddler) {
		this.tiddler = new Tiddler();
		this.tiddler.title = "UploadLog";
		this.tiddler.text = "| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |";
		this.tiddler.created = new Date();
		this.tiddler.modifier = config.options.txtUserName;
		this.tiddler.modified = new Date();
		store.addTiddler(this.tiddler);
	}
	return this;
};

bidix.UploadLog.prototype.addText = function(text) {
	if (!this.tiddler)
		return;
	// retrieve maxLine when we need it
	var maxLine = parseInt(config.options.txtUploadLogMaxLine,10);
	if (isNaN(maxLine))
		maxLine = -1;
	// add text
	if (maxLine != 0) 
		this.tiddler.text = this.tiddler.text + text;
	// Trunck to maxLine
	if (maxLine >= 0) {
		var textArray = this.tiddler.text.split('\n');
		if (textArray.length > maxLine + 1)
			textArray.splice(1,textArray.length-1-maxLine);
			this.tiddler.text = textArray.join('\n');		
	}
	// update tiddler fields
	this.tiddler.modifier = config.options.txtUserName;
	this.tiddler.modified = new Date();
	store.addTiddler(this.tiddler);
	// refresh and notifiy for immediate update
	story.refreshTiddler(this.tiddler.title);
	store.notify(this.tiddler.title, true);
};

bidix.UploadLog.prototype.startUpload = function(storeUrl, toFilename, uploadDir,  backupDir) {
	if (!this.tiddler)
		return;
	var now = new Date();
	var text = "\n| ";
	var filename = bidix.basename(document.location.toString());
	if (!filename) filename = '/';
	text += now.formatString("0DD/0MM/YYYY 0hh:0mm:0ss") +" | ";
	text += config.options.txtUserName + " | ";
	text += "[["+filename+"|"+location + "]] |";
	text += " [[" + bidix.basename(storeUrl) + "|" + storeUrl + "]] | ";
	text += uploadDir + " | ";
	text += "[[" + bidix.basename(toFilename) + " | " +toFilename + "]] | ";
	text += backupDir + " |";
	this.addText(text);
};

bidix.UploadLog.prototype.endUpload = function(status) {
	if (!this.tiddler)
		return;
	this.addText(" "+status+" |");
};

//
// Utilities
// 

bidix.checkPlugin = function(plugin, major, minor, revision) {
	var ext = version.extensions[plugin];
	if (!
		(ext  && 
			((ext.major > major) || 
			((ext.major == major) && (ext.minor > minor))  ||
			((ext.major == major) && (ext.minor == minor) && (ext.revision >= revision))))) {
			// write error in PluginManager
			if (pluginInfo)
				pluginInfo.log.push("Requires " + plugin + " " + major + "." + minor + "." + revision);
			eval(plugin); // generate an error : "Error: ReferenceError: xxxx is not defined"
	}
};

bidix.dirname = function(filePath) {
	if (!filePath) 
		return;
	var lastpos;
	if ((lastpos = filePath.lastIndexOf("/")) != -1) {
		return filePath.substring(0, lastpos);
	} else {
		return filePath.substring(0, filePath.lastIndexOf("\\"));
	}
};

bidix.basename = function(filePath) {
	if (!filePath) 
		return;
	var lastpos;
	if ((lastpos = filePath.lastIndexOf("#")) != -1) 
		filePath = filePath.substring(0, lastpos);
	if ((lastpos = filePath.lastIndexOf("/")) != -1) {
		return filePath.substring(lastpos + 1);
	} else
		return filePath.substring(filePath.lastIndexOf("\\")+1);
};

bidix.initOption = function(name,value) {
	if (!config.options[name])
		config.options[name] = value;
};

//
// Initializations
//

// require PasswordOptionPlugin 1.0.1 or better
bidix.checkPlugin("PasswordOptionPlugin", 1, 0, 1);

// styleSheet
setStylesheet('.txtUploadStoreUrl, .txtUploadBackupDir, .txtUploadDir {width: 22em;}',"uploadPluginStyles");

//optionsDesc
merge(config.optionsDesc,{
	txtUploadStoreUrl: "Url of the UploadService script (default: store.php)",
	txtUploadFilename: "Filename of the uploaded file (default: in index.html)",
	txtUploadDir: "Relative Directory where to store the file (default: . (downloadService directory))",
	txtUploadBackupDir: "Relative Directory where to backup the file. If empty no backup. (default: ''(empty))",
	txtUploadUserName: "Upload Username",
	pasUploadPassword: "Upload Password",
	chkUploadLog: "do Logging in UploadLog (default: true)",
	txtUploadLogMaxLine: "Maximum of lines in UploadLog (default: 10)"
});

// Options Initializations
bidix.initOption('txtUploadStoreUrl','');
bidix.initOption('txtUploadFilename','');
bidix.initOption('txtUploadDir','');
bidix.initOption('txtUploadBackupDir','');
bidix.initOption('txtUploadUserName','');
bidix.initOption('pasUploadPassword','');
bidix.initOption('chkUploadLog',true);
bidix.initOption('txtUploadLogMaxLine','10');


// Backstage
merge(config.tasks,{
	uploadOptions: {text: "upload", tooltip: "Change UploadOptions and Upload", content: '<<uploadOptions>>'}
});
config.backstageTasks.push("uploadOptions");


//}}}

<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<span macro="tiddler ReplaceDoubleClick with: alt click"></span></span>
<div class='title' macro='view title'></div>
<div class='viewer' macro='view text wikified'></div>
<!--}}}-->
<<tiddler HideTiddlerTags>>{{small smallform{
<html><a href='http://www.pandunia.info/english/tiddly.html' class='link'><u>Download the dictionary for offline</u></a><form style='display:inline;white-space:nowrap;' onsubmit='this.pavysisku.click();return false;'>
<table><tr><td style='width:33%;font-size:1.4em;'>
Search for <input name=pattern style='width:auto;font-size:1.4em;' value='' title='o lukin' autofocus>
<input type=button style='width:auto;font-size:1.0em;' name=pavysisku value='Go !' onclick="
var f=this.form;
var target=f.nextSibling; removeChildren(target);
var arrRestStr=[];
var outa=[];
var outb=[];
var outc=[];
var outd=[];
var oute=[];
var Couta=[];
var Coutb=[];
var Coutc=[];
var Coutd=[];
var Coute=[];
var zil=[];
var tempa;
var tempb='';
var tempc;
var tempd;
var tempe;
var tb='[^\t]*?\t';
var fpvd;
var zi='@@background-color:#7FFF00;$1@@';
var sle='>|>|@@margin-top:0px;padding-left:0.5em;padding-right:0.5em;font-size:1em;float:right;font-weight:normal;border:1px solid #393939;margin-top:-1px;color:#fff;background:#db4;display:block;//[[';
var slewhite='>|>|@@margin-top:0px;padding-left:0.5em;padding-right:0.5em;font-size:1em;float:right;font-weight:normal;border:1px solid #222;margin-top:-1px;color:#fff;background:#999;display:block;//[[';
Array.prototype.diff = function(a) {
    return this.filter(function(i) {return !(a.indexOf(i) > -1);});
};

var tids=store.getTaggedTiddlers('dic');
fpv = f.pattern.value.toLowerCase();
fpvd=fpv;
if(fpv.length == 0) return;
for (var t=0; t<tids.length; t++) {

	arrRestStr=store.getTiddlerText(tids[t].title,'').split('\n');
//precise
	tempa=arrRestStr.filter(/./.test.bind(new RegExp('^'+fpv+'\t','i')));
	arrRestStr = arrRestStr.diff(tempa);
	//tempb=arrRestStr.filter(/./.test.bind(new RegExp('^'+'(|[^\t]*?[;\.\042])'+fpv+'[!;\.\042\t]','i')));
	//arrRestStr = arrRestStr.diff(tempb);
	tempc=arrRestStr.filter(/./.test.bind(new RegExp('^'+'(|[^\t]*?[;\.\042, ])'+fpv+'[!;\.\042, \t]','i')));
	arrRestStr = arrRestStr.diff(tempc);
	if (tempa.length+tempb.length+tempc.length>0) outa = outa.concat([sle+tids[t].title+']]//@@']);
	zil = zil.concat(tempa.slice(0,30)).concat(tempc.slice(0,30)).map(function(somet){return somet.replace(new RegExp('('+fpv+')', 'gi'),zi);});
        outa = outa.concat(zil); zil=[];
//now vague
	tempd=arrRestStr.filter(/./.test.bind(new RegExp('^'+'(|[^\t]*?[;\.\042, ])'+fpv,'i')));
	arrRestStr = arrRestStr.diff(tempd);
	tempe=arrRestStr.filter(/./.test.bind(new RegExp('^'+'(|[^\t]*?)'+fpv,'i')));
	arrRestStr = arrRestStr.diff(tempe);
	if (tempd.length+tempe.length>0) outd = outd.concat([slewhite+tids[t].title+']]//@@']);
	zil = zil.concat(tempd.slice(0,30)).concat(tempe.slice(0,30)).map(function(somet){return somet.replace(new RegExp('('+fpv+')', 'gi'),zi);});
        outd = outd.concat(zil); zil=[];
//Cout precise
	tempa=arrRestStr.filter(/./.test.bind(new RegExp('^'+tb+tb+fpv+'([!;\.\042\t,]|$)','i')));
	arrRestStr = arrRestStr.diff(tempa);
	//tempb=arrRestStr.filter(/./.test.bind(new RegExp('^'+tb+'(|[^\t]*?[;\.\042])'+fpv+'([!;\.\042\t]|$)','i')));
	//arrRestStr = arrRestStr.diff(tempb);
	tempc=arrRestStr.filter(/./.test.bind(new RegExp('^'+tb+'(|[^\t]*?[;\.\042, ])'+fpv+'([!;\.\042, \t]|$)','i')));
	arrRestStr = arrRestStr.diff(tempc);
	if (tempa.length+tempb.length+tempc.length>0) Couta = Couta.concat([sle+tids[t].title+']]//@@']);
	zil = zil.concat(tempa.slice(0,30)).concat(tempc.slice(0,30)).map(function(somet){return somet.replace(new RegExp('('+fpv+')', 'gi'),zi);});
        Couta = Couta.concat(zil); zil=[];
//now vague
	tempd=arrRestStr.filter(/./.test.bind(new RegExp('^'+tb+'(|[^\t]*?[;\.\042, ])'+fpv+'([!;\.\042, \t]|$)','i')));
	arrRestStr = arrRestStr.diff(tempd);
	tempe=arrRestStr.filter(/./.test.bind(new RegExp('^'+tb+'(|[^\t]*?)'+fpv,'i')));
	arrRestStr = arrRestStr.diff(tempe);
	if (tempd.length+tempe.length>0) Coutd = Coutd.concat([slewhite+tids[t].title+']]//@@']);
	zil = zil.concat(tempd.slice(0,30)).concat(tempe.slice(0,30)).map(function(somet){return somet.replace(new RegExp('('+fpv+')', 'gi'),zi);});
        Coutd = Coutd.concat(zil); zil=[];
	//Coute = Coute.concat(tempe.slice(0,30));
}
//concat all arrays, reformat to tw-table formatting
if (outa.length>0) outa = ['>\t>\t!in source words:'].concat(outa);
if (Couta.length>0) Couta = ['>\t>\t!in translation:'].concat(Couta);
if (outa.length+Couta.length>0) outa = ['>\t>\t!PRECISE SEARCH'].concat(outa);

//vague search output
if (outd.length>0) outd = ['>\t>\tbackground-color:#999;!in source words:'].concat(outd);
if (Coutd.length>0) Coutd = ['>\t>\tbackground-color:#999;!in translation:'].concat(Coutd);
if (outd.length+Coutd.length>0) outd = ['>\t>\tbackground-color:#999;!SEQUENCE SEARCH'].concat(outd);
tids = outa.concat(Couta).concat(outd).concat(Coutd).join('\n').replace(/(^|\t|$)/img,'|');

//output this fucking string!
if (tids.length>3) wikify(tids,target);
"></td></tr></table></form><div></div></html>
}}}
config.messages.backstage.open.text="";
config.messages.backstage.close.text="";
config.options.chkShowRightSidebar=false;
config.options.txtToggleRightSideBarLabelShow="jbobau";
config.options.txtToggleRightSideBarLabelHide="jbobau";
config.options.chkSinglePageMode=true;
config.options.chkSinglePagePermalink=true;
config.options.chkDisableWikiLinks=true;
//{{{ 
// hacky solution to avoid scrolling header out of view 
window.ensureVisible = function(e) {return false} 

//}}}