<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />
<!--}}}-->
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
/*{{{*/
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]];}

.sparkline {background:[[ColorPalette::PrimaryPale]]; border:0;}
.sparktick {background:[[ColorPalette::PrimaryDark]];}

.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]];}

#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 0em 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0em 1em 1em; left:0px; top:0px;}

.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:0em 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 .3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}

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

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

.tiddlerPopupButton {padding:0.2em 0.2em 0.2em 0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em 1em 1em 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 0em;}
.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 0em 0em 0.5em;}
.tab {margin:0em 0em 0em 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 0em 14em;}

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

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

.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:0em 0.25em; padding:0em 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:0px 3px 0px 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 0em; font-size:.9em;}
.editorFooter .button {padding-top:0px; padding-bottom:0px;}

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

.sparkline {line-height:1em;}
.sparktick {outline:0;}

.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 0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0em; right:0em;}
#backstageButton a {padding:0.1em 0.4em 0.1em 0.4em; margin:0.1em 0.1em 0.1em 0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; width:90%; margin:0em 3em 0em 3em; padding:1em 1em 1em 1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em 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 1em;}
/* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
noscript {display:none;}
}
/*}}}*/
<!--{{{-->
<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='mainMenu' refresh='content' tiddler='MainMenu'></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>
<!--}}}-->
<!--{{{-->
<div class='toolbar' 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>
<!--}}}-->
<!--{{{-->
<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'></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>>
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
<<importTiddlers>>
/***
!Code
<<codeformat js>>
***/
//{{{
config.autoCloseMessage = {
    timeout: 3000
};

javascript:(
    function() {
        var orig_displayMessage = displayMessage;
        displayMessage = hook_displayMessage;

        function hook_displayMessage(text,linkText) {
            orig_displayMessage(text,linkText);
            setTimeout("clearMessage()", config.autoCloseMessage.timeout);
        }
    }
)();
//}}}
TopPage
/***
!Code
<<codeformat js>>
***/
//{{{
Story.prototype.onTiddlerDblClick = function(ev)
{
    return true;
};
//}}}
/***
|''Name:''|JapaneseTranslationPlugin |
|''Description:''|Translation of TiddlyWiki into Japanese |
|''Author:''|OGOSHI Masayuki &lt;ogoshima@gmail.com&gt; |
|''Source:''|http://ogoshi.tiddlyspot.com/#JapaneseTranslationPlugin |
|''Version:''|0.3.7.1-ja|
|''Date:''|Sep 04, 2008|
|''License:''|[[Creative Commons Attribution-ShareAlike 2.1 Japan |http://creativecommons.org/licenses/by-sa/2.1/jp/]] |
|''~CoreVersion:''|2.4|

TiddlyWiki を日本語化するプラグイン。TiddlyWiki Version 2.4 上で動作を確認しました。
ライセンスは英語版のCCライセンスに準じる日本語版の CC-by-SA 2.1 ライセンスとします。

英語版のクレジットは以下のとおり。
|''Name:''|EnglishTranslationPlugin|
|''Description:''|Translation of TiddlyWiki into English|
|''Author:''|MartinBudden (mjbudden (at) gmail (dot) com)|
|''Source:''|www.example.com |
|''CodeRepository:''|http://svn.tiddlywiki.org/Trunk/association/locales/core/en/locale.en.js |
|''Version:''|0.3.7|
|''Date:''|Jul 6, 2007|
|''Comments:''|Please make comments at http://groups.google.co.uk/group/TiddlyWikiDev |
|''License:''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]] |
|''~CoreVersion:''|2.4|
***/

//{{{
//--
//-- Translateable strings
//--

// Strings in "double quotes" should be translated; strings in 'single quotes' should be left alone

config.locale = "ja"; // W3C language tag

if (config.options.txtUserName == 'YourName') // do not translate this line, but do translate the next line
	merge(config.options,{txtUserName: "氏名"});

merge(config.tasks,{
	save: {text: "保存", tooltip: "このTiddlyWikiを保存します", action: saveChanges},
	sync: {text: "同期", tooltip: "他のTiddlyWikiファイルやサーバと同期をとります", content: '<<sync>>'},
	importTask: {text: "取り込み", tooltip: "他のTiddlyWikiファイルやサーバからtiddlerやプラグインを取り込みます", content: '<<importTiddlers>>'},
	tweak: {text: "詳細設定", tooltip: "TiddlyWikiの細かな振る舞いを設定します", content: '<<options>>'},
	upgrade: {text: "アップグレード", tooltip: "TiddlyWiki本体をバージョンアップします", content: '<<upgrade>>'},
	plugins: {text: "プラグイン", tooltip: "インストール済みのプラグインを管理します", content: '<<plugins>>'}
});

// Options that can be set in the options panel and/or cookies
merge(config.optionsDesc,{
	txtUserName: "編集したtiddlerに記録されるユーザ名",
	chkRegExpSearch: "検索に正規表現を使います",
	chkCaseSensitiveSearch: "検索で大文字小文字を区別します",
	chkIncrementalSearch: "インクリメンタルサーチを行います",
	chkAnimate: "アニメーションを許可します",
	chkSaveBackups: "保存時にバックアップファイルを残します",
	chkAutoSave: "自動保存します",
	chkGenerateAnRssFeed: "保存時にRSSフィードを生成します",
	chkSaveEmptyTemplate: "空のテンプレートファイルを保存時に生成します",
	chkOpenInNewWindow: "外部へのリンクを新しいウィンドウで開きます",
	chkToggleLinks: "tiddlerへのリンククリックでtiddlerを閉じます",
	chkHttpReadOnly: "HTTP経由で開いているときに編集機能を隠します",
	chkForceMinorUpdate: "更新時にユーザ名と日付を変更しません",
	chkConfirmDelete: "tiddlerを消去する時に確認をします",
	chkInsertTabs: "タブキーを押したとき、フィールド間の移動ではなくタブ文字を挿入します",
	txtBackupFolder: "バックアップ用フォルダの名前",
	txtMaxEditRows: "編集領域の最大行数",
	txtFileSystemCharSet: "保存時のデフォルト文字コード(Firefox/Mozillaのみ)"});

merge(config.messages,{
	customConfigError: "プラグインの読み込み時に問題が発生しました。詳細は PluginManager をご覧ください",
	pluginError: "エラー: %0",
	pluginDisabled: "'systemConfigDisable'タグによって実行が禁止されています",
	pluginForced: "'systemConfigForce'タグによって強制実行されました",
	pluginVersionError: "このプラグインの実行には、新しいバージョンの TiddlyWiki が必要です。",
	nothingSelected: "何も選択されていません。一つ以上選択する必要があります。",
	savedSnapshotError: "この~TiddlyWikiは正常に保存されていません。詳細は http://www.tiddlywiki.com/#DownloadSoftware をご覧ください。",
	subtitleUnknown: "(unknown)",
	undefinedTiddlerToolTip: "この tiddler '%0' はまだ作成されていません",
	shadowedTiddlerToolTip: "この tiddler '%0' はまだ作成されていませんが、隠された規定値があります",
	tiddlerLinkTooltip: "%0 - %1, %2",
	externalLinkTooltip: "(外部へのリンク) %0",
	noTags: "タグの付いた tiddler はありません",
	notFileUrlError: "変更を保存するにはこの~TiddlyWikiをファイルとして保存(ダウンロード)する必要があります",
	cantSaveError: "変更を保存できませんでした。以下の理由が考えられます:\n- 使用しているブラウザが保存に対応していない(Firefox/Internet Explorer/Safari/Operaは、正しく設定していれば保存できます)\n- TiddlyWikiファイルの保存path名に不正な文字が含まれている\n- TiddlyWiki HTMLファイルが移動または名前を変更された",
	invalidFileError: "元のファイル '%0' は正しい~TiddlyWikiファイルではありません",
	backupSaved: "バックアップを保存しました",
	backupFailed: "バックアップの保存に失敗しました",
	rssSaved: "RSSフィードを保存しました",
	rssFailed: "RSSフィードの保存に失敗しました",
	emptySaved: "空のテンプレートファイルを保存しました",
	emptyFailed: "空のテンプレートファイルの保存に失敗しました",
	mainSaved: "TiddlyWikiファイルを保存しました",
	mainFailed: "TiddlyWikiファイルの保存に失敗しました。変更した内容は保存されていません",
	macroError: "次のマクロでエラー発生 <<\%0>>",
	macroErrorDetails: "次のマクロを実行中にエラー発生 <<\%0>>:\n%1",
	missingMacro: "マクロがありません",
	overwriteWarning: "'%0'という名前のtiddlerはすでに存在します。OKで上書きします",
	unsavedChangesWarning: "注意! TiddlyWiki の変更が保存されていません。\n\n'OK'で保存\n'キャンセル'で変更を破棄",
	confirmExit: "--------------------------------\n\nTiddlyWikiの変更が保存されていません。このまま続けると変更が失われます\n\n--------------------------------",
	saveInstructions: "変更を保存",
	unsupportedTWFormat: "次の TiddlyWiki フォーマットには対応していません '%0'",
	tiddlerSaveError: "tiddler '%0' を保存時にエラー発生",
	tiddlerLoadError: "tiddler '%0' の読込時にエラー発生",
	wrongSaveFormat: "保存フォーマット '%0' で保存できません。標準フォーマットで保存します",
	invalidFieldName: "%0 は不正なファイル名です",
	fieldCannotBeChanged: "領域 '%0' は変更できません",
	loadingMissingTiddler: "tiddler '%0' の '%1' サーバーからの回復を試しています:\n\nワークスペース '%3' の中の '%2'",
	upgradeDone: "バージョン %0 へのアップグレードが完了しました。\n'OK' をクリックすると新しくなったTiddlyWikiをリロードします。"});

merge(config.messages.messageClose,{
	text: "閉じる",
	tooltip: "このメッセージを閉じます"});

config.messages.backstage = {
	open: {text: "クイックメニュー", tooltip: "クイックメニューを開きます"},
	close: {text: "閉じる", tooltip: "クイックメニューを閉じます"},
	prompt: "クイックメニュー: ",
	decal: {
		edit: {text: "編集", tooltip: "tiddler '%0' を編集します"}
	}
};

config.messages.listView = {
	tiddlerTooltip: "このtiddlerのテキスト全体を表示します",
	previewUnavailable: "(プレビューがありません)"
};

config.messages.dates.months = ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月","12月"];
config.messages.dates.days = ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"];
config.messages.dates.shortMonths = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
config.messages.dates.shortDays = ["日", "月", "火", "水", "木", "金", "土"];
// suffixes for dates, eg "1st","2nd","3rd"..."30th","31st"
config.messages.dates.daySuffixes = ["日","日","日","日","日","日","日","日","日","日",
		"日","日","日","日","日","日","日","日","日","日",
		"日","日","日","日","日","日","日","日","日","日",
		"日"];
config.messages.dates.am = "am";
config.messages.dates.pm = "pm";

merge(config.messages.tiddlerPopup,{
	});

merge(config.views.wikified.tag,{
	labelNoTags: "タグ無し",
	labelTags: "タグ: ",
	openTag: "'%0' タグを開く",
	tooltip: "'%0' タグの付いたtiddlerを表示",
	openAllText: "全て開く",
	openAllTooltip: "以下のtiddlerを全て開く",
	popupNone: "'%0' タグの付いたtiddlerは他にありません"});

merge(config.views.wikified,{
	defaultText: "tiddler '%0' はまだ作成されていません。ダブルクリックで作成できます",
	defaultModifier: "(missing)",
	shadowModifier: "(built-in shadow tiddler)",
	dateFormat: "YYYY.MM.DD", // use this to change the date format for your locale, eg "YYYY MMM DD", do not translate the Y, M or D
	createdPrompt: "作成"});

merge(config.views.editor,{
	tagPrompt: "スペース区切りでタグを入力。スペースを含める場合は[[二重の角括弧]]で囲みます。既存のタグを選択≫",
	defaultText: "'%0' の内容を入力してください"});

merge(config.views.editor.tagChooser,{
	text: "タグ",
	tooltip: "既存のタグを選択して追加します",
	popupNone: "タグが定義されていません",
	tagTooltip: "'%0' タグを追加します"});

merge(config.messages,{
	sizeTemplates:
		[
		{unit: 1024*1024*1024, template: "%0\u00a0GB"},
		{unit: 1024*1024, template: "%0\u00a0MB"},
		{unit: 1024, template: "%0\u00a0KB"},
		{unit: 1, template: "%0\u00a0B"}
		]});

merge(config.macros.search,{
	label: "検索",
	prompt: "この TiddlyWiki 内を検索します",
	accessKey: "F",
	successMsg: "%0 件のtiddlerで %1 が見つかりました",
	failureMsg: "%0 は見つかりませんでした"});

merge(config.macros.tagging,{
	label: "タグあり: ",
	labelNotTag: "タグなし",
	tooltip: "'%0' タグを付けたtiddlerリスト"});

merge(config.macros.timeline,{
	dateFormat: "YYYY年MM月DD日"});// use this to change the date format for your locale, eg "YYYY MMM DD", do not translate the Y, M or D

merge(config.macros.allTags,{
	tooltip: "'%0' タグの付いたtiddlerを表示",
	noTags: "タグの付いたtiddlerがありません"});

config.macros.list.all.prompt = "アルファベット順 全tiddler";
config.macros.list.missing.prompt = "リンクがあるのに存在しないtiddler";
config.macros.list.orphans.prompt = "どこからもリンクされていないtiddler";
config.macros.list.shadowed.prompt = "規定で隠されているtiddler";
config.macros.list.touched.prompt = "ローカルに変更されているtiddler";

merge(config.macros.closeAll,{
	label: "全て閉じる",
	prompt: "表示されている全てのtiddlerを閉じます (編集中を除く)"});

merge(config.macros.permaview,{
	label: "現況リンク",
	prompt: "現在のtiddler表示状態を再現するURLをアドレス欄に生成します"});

merge(config.macros.saveChanges,{
	label: "保存",
	prompt: "全てのtiddlerを保存します",
	accessKey: "S"});

merge(config.macros.newTiddler,{
	label: "新規作成",
	prompt: "新しいtiddlerを作成します",
	title: "新規作成",
	accessKey: "N"});

merge(config.macros.newJournal,{
	label: "新規ジャーナル",
	prompt: "現在日時がタイトルの新しいtiddlerを作成します",
	accessKey: "J"});

merge(config.macros.options,{
	wizardTitle: "詳細設定",
	step1Title: "これらのオプション設定はブラウザのcookieに保存されます",
	step1Html: "<input type='hidden' name='markList'></input><br><input type='checkbox' checked='false' name='chkUnknown'>未知のオプションを表示</input>",
	unknownDescription: "//(未知)//",
	listViewTemplate: {
		columns: [
			{name: 'Option', field: 'option', title: "オプション設定", type: 'String'},
			{name: 'Description', field: 'description', title: "説明", type: 'WikiText'},
			{name: 'Name', field: 'name', title: "オプション名", type: 'String'}
			],
		rowClasses: [
			{className: 'lowlight', field: 'lowlight'}
			]}
	});

merge(config.macros.plugins,{
	wizardTitle: "プラグイン管理",
	step1Title: "ロードされているプラグイン",
	step1Html: "<input type='hidden' name='markList'></input>", // DO NOT TRANSLATE
	skippedText: "(このプラグインは起動後に追加されたので実行されていません)",
	noPluginText: "プラグインはインストールされていません",
	confirmDeleteText: "本当にこのプラグインを削除して良いですか?:\n\n%0",
	removeLabel: "systemConfig タグを除去",
	removePrompt: "systemConfig タグを除去します",
	deleteLabel: "削除",
	deletePrompt: "これらのtiddlerを削除します",
	listViewTemplate: {
		columns: [
			{name: 'Selected', field: 'Selected', rowName: 'title', type: 'Selector'},
			{name: 'Tiddler', field: 'tiddler', title: "Tiddler", type: 'Tiddler'},
			{name: 'Size', field: 'size', tiddlerLink: 'size', title: "サイズ", type: 'Size'},
			{name: 'Forced', field: 'forced', title: "強制実行", tag: 'systemConfigForce', type: 'TagCheckbox'},
			{name: 'Disabled', field: 'disabled', title: "無効化", tag: 'systemConfigDisable', type: 'TagCheckbox'},
			{name: 'Executed', field: 'executed', title: "ロード済み", type: 'Boolean', trueText: "Yes", falseText: "No"},
			{name: 'Startup Time', field: 'startupTime', title: "起動時実行", type: 'String'},
			{name: 'Error', field: 'error', title: "ステータス", type: 'Boolean', trueText: "Error", falseText: "OK"},
			{name: 'Log', field: 'log', title: "ログ", type: 'StringList'}
			],
		rowClasses: [
			{className: 'error', field: 'error'},
			{className: 'warning', field: 'warning'}
			]}
	});

merge(config.macros.toolbar,{
	moreLabel: "その他",
	morePrompt: "その他のコマンドも表示します"
	});

merge(config.macros.refreshDisplay,{
	label: "再表示",
	prompt: "TiddlyWiki全体を再描画します"
	});

merge(config.macros.importTiddlers,{
	readOnlyWarning: "読込専用のTiddlyWikiには取り込めません。TiddlyWikiファイルを file:// 形式のURLで開いてみてください",
	wizardTitle: "他のファイルあるいはサーバーからtiddlerを取り込む",
	step1Title: "手順 1: TiddlyWikiファイルあるいはサーバーの位置を指定します",
	step1Html: "種別指定: <select name='selTypes'><option value=''>選択...</option></select><br>URLまたはパス名を入力: <input type='text' size=50 name='txtPath'><br>またはファイルを選択: <input type='file' size=50 name='txtBrowse'><br><hr>または既定のフィードを選択: <select name='selFeeds'><option value=''>選択...</option></select>",
	openLabel: "開く",
	openPrompt: "このファイルあるいはサーバーへ接続する",
	openError: "TiddlyWikiファイルを取り込む際に問題が発生しました",
	statusOpenHost: "ホストをオープン中",
	statusGetWorkspaceList: "有効なワークスペースのリストを取得中",
	step2Title: "手順 2: ワークスペースの選択",
	step2Html: "ワークスペース名を入力: <input type='text' size=50 name='txtWorkspace'><br>またはワークスペースを選択: <select name='selWorkspace'><option value=''>選択...</option></select>",
	cancelLabel: "キャンセル",
	cancelPrompt: "この取り込みをキャンセルする",
	statusOpenWorkspace: "ワークスペースをオープン中",
	statusGetTiddlerList: "有効なtiddlerのリストを取得中",
	errorGettingTiddlerList: "tiddlerのリストを取得中にエラーが発生しました。'キャンセル'でやり直します。",
	step3Title: "手順 3: 取り込むtiddlerの選択",
	step3Html: "<input type='hidden' name='markList'></input><br><input type='checkbox' checked='true' name='chkSync'>変更を同期できるよう、各tiddlerにこのサーバー(ファイル)へのリンクを保持する</input><br><input type='checkbox' name='chkSave'>'systemServer' タグを付けたtiddlerにこのサーバーの詳細を保存する:</input> <input type='text' size=25 name='txtSaveTiddler'>",
	importLabel: "取込",
	importPrompt: "これらのtiddlerを取り込む",
	confirmOverwriteText: "本当にこれらのtiddlerを上書きして良いですか? :\n\n%0",
	step4Title: "手順 4: tiddler %0 を取り込み",
	step4Html: "<input type='hidden' name='markReport'></input>", // DO NOT TRANSLATE
	doneLabel: "完了",
	donePrompt: "ウィザードを閉じる",
	statusDoingImport: "tidderlを取り込み中",
	statusDoneImport: "全てのtiddlerを取り込みました",
	systemServerNamePattern: "%1 / %2",
	systemServerNamePatternNoWorkspace: "%1",
	confirmOverwriteSaveTiddler: "'%0' というtiddlerは既に存在します。'OK'で上書きします。'キャンセル'で変更しません。",
	serverSaveTemplate: "|''種別:''|%0|\n|''URL:''|%1|\n|''ワークスペース:''|%2|\n\nこのtiddlerはこのサーバーの詳細情報を記録するために自動的に作成されました",
	serverSaveModifier: "(System)",
	listViewTemplate: {
		columns: [
			{name: 'Selected', field: 'Selected', rowName: 'title', type: 'Selector'},
			{name: 'Tiddler', field: 'tiddler', title: "Tiddler", type: 'Tiddler'},
			{name: 'Size', field: 'size', tiddlerLink: 'size', title: "サイズ", type: 'Size'},
			{name: 'Tags', field: 'tags', title: "タグ", type: 'Tags'}
			],
		rowClasses: [
			]}
	});

merge(config.macros.upgrade,{
	wizardTitle: "TiddlyWiki本体のアップグレード",
	step1Title: "このTiddlyWikiを最新版へ更新(あるいは修復)",
	step1Html: "TiddlyWiki本体のバージョンを <a href='%0' class='externalLink' target='_blank'>%1</a> から最新版に更新しようとしています。この更新をしてもあなたの作成したデータが削除されることはありません。<br><br>なお、本体をアップデートすることで旧プラグインの動作に支障が出る可能性があります。もし更新後の動作に問題が生じたときは、次のサイトを参照してください。<a href='http://www.tiddlywiki.org/wiki/CoreUpgrades' class='externalLink' target='_blank'>http://www.tiddlywiki.org/wiki/CoreUpgrades</a>",
	errorCantUpgrade: "このTiddlyWikiを更新できませんでした。ローカルに保存したファイルにしか、TiddlyWikiの更新はできません。",
	errorNotSaved: "更新を行う前にまずファイルを保存してください。",
	step2Title: "更新作業の詳細を確認",
	step2Html_downgrade: "TiddlyWikiのバージョンを %1 から %0 へダウングレードしようとしています。<br><br>TiddlyWiki本体を旧バージョンにダウングレードすることは推奨されません。",
	step2Html_restore: "このTiddlyWikiはすでに最新版(%0)です。<br><br>もちろんTiddlyWiki本体が破損していたときなどのために、このまま更新を継続することもできます。",
	step2Html_upgrade: "TiddlyWikiのバージョンを %1 から %0 に更新しようとしています。",
	upgradeLabel: "更新",
	upgradePrompt: "更新処理の準備",
	statusPreparingBackup: "バックアップの準備中",
	statusSavingBackup: "バックアップファイル保存中",
	errorSavingBackup: "バックアップファイルの保存中にエラーが発生しました",
	statusLoadingCore: "本体プログラムを読み込み中",
	errorLoadingCore: "本体プログラムの読み込み中にエラーが発生しました",
	errorCoreFormat: "新しいプログラムにエラーが発生しました",
	statusSavingCore: "本体プログラムの保存中",
	statusReloadingCore: "本体プログラムのリロード中",
	startLabel: "開始",
	startPrompt: "更新処理を開始する",
	cancelLabel: "キャンセル",
	cancelPrompt: "更新処理を中断する",
	step3Title: "更新処理を中断",
	step3Html: "更新処理を中断しました"
	});

merge(config.macros.sync,{
	listViewTemplate: {
		columns: [
			{name: 'Selected', field: 'selected', rowName: 'title', type: 'Selector'},
			{name: 'Tiddler', field: 'tiddler', title: "Tiddler", type: 'Tiddler'},
			{name: 'Server Type', field: 'serverType', title: "種別", type: 'String'},
			{name: 'Server Host', field: 'serverHost', title: "サーバーホスト", type: 'String'},
			{name: 'Server Workspace', field: 'serverWorkspace', title: "ワークスペース", type: 'String'},
			{name: 'Status', field: 'status', title: "同期ステータス", type: 'String'},
			{name: 'Server URL', field: 'serverUrl', title: "サーバーURL", text: "開く", type: 'Link'}
			],
		rowClasses: [
			],
		buttons: [
			{caption: "これらのtiddlerを同期", name: 'sync'}
			]},
	wizardTitle: "外部サーバーやファイルとの同期",
	step1Title: "同期したいtiddlerを選択してください",
	step1Html: "<input type='hidden' name='markList'></input>", // DO NOT TRANSLATE
	syncLabel: "同期",
	syncPrompt: "各tiddlerを同期します",
	hasChanged: "ローカル側変更あり",
	hasNotChanged: "ローカル側変更なし",
	syncStatusList: {
		none: {text: "...", color: "transparent", display:null},
		changedServer: {text: "サーバー側で変更あり", color: '#8080ff', display:null},
		changedLocally: {text: "ローカル側で変更あり", color: '#80ff80', display:null},
		changedBoth: {text: "双方で変更あり", color: '#ff8080', display:null},
		notFound: {text: "サーバーに見つかりません", color: '#ffff80', display:null},
		putToServer: {text: "更新をサーバーに保存しました", color: '#ff80ff', display:null},
		gotFromServer: {text: "サーバーから更新を取得しました", color: '#80ffff', display:null}
		}
	});

merge(config.commands.closeTiddler,{
	text: "閉じる",
	tooltip: "このtiddlerを閉じます"});

merge(config.commands.closeOthers,{
	text: "他を閉じる",
	tooltip: "他の全てのtiddlerを閉じます"});

merge(config.commands.editTiddler,{
	text: "編集",
	tooltip: "このtiddlerを編集します",
	readOnlyText: "閲覧",
	readOnlyTooltip: "このtiddlerのソースを表示します"});

merge(config.commands.saveTiddler,{
	text: "確定",
	tooltip: "このtiddlerへの変更を保存します"});

merge(config.commands.cancelTiddler,{
	text: "キャンセル",
	tooltip: "このtiddlerへの変更を破棄します",
	warning: "本当に '%0' の変更を破棄して良いですか?",
	readOnlyText: "終了",
	readOnlyTooltip: "このtiddlerを通常表示にします"});

merge(config.commands.deleteTiddler,{
	text: "削除",
	tooltip: "このtiddlerを削除します",
	warning: "本当に '%0' を削除して良いですか?"});

merge(config.commands.permalink,{
	text: "リンクURL",
	tooltip: "このtiddlerへのURLをアドレス欄に生成します"});

merge(config.commands.references,{
	text: "参照一覧",
	tooltip: "このtiddlerへの参照を一覧表示します",
	popupNone: "参照がありません"});

merge(config.commands.jump,{
	text: "ジャンプ",
	tooltip: "他に開いているtiddlerへジャンプ"});

merge(config.commands.syncing,{
	text: "同期",
	tooltip: "このtiddlerと外部のサーバー(ファイル)との同期を制御します",
	currentlySyncing: "<div>現在の同期状態<br>種別: <span class='popupHighlight'>'%0'</span><br></"+"div><div>ホスト: <span class='popupHighlight'>%1</span></"+"div><br><div>ワークスペース: <span class='popupHighlight'>%2</span></"+"div>", // Note escaping of closing <div> tag
	notCurrentlySyncing: "同期されていません",
	captionUnSync: "このtiddlerの同期を停止",
	chooseServer: "このtiddlerを次のサーバーと同期する:",
	currServerMarker: "\u25cf ",
	notCurrServerMarker: "  "});

merge(config.commands.fields,{
	text: "拡張情報",
	tooltip: "このtiddlerの拡張情報を表示します",
	emptyText: "このtiddlerには拡張情報がありません",
	listViewTemplate: {
		columns: [
			{name: 'Field', field: 'field', title: "項目", type: 'String'},
			{name: 'Value', field: 'value', title: "値", type: 'String'}
			],
		rowClasses: [
			],
		buttons: [
			]}});

merge(config.shadowTiddlers,{
	DefaultTiddlers: "[[TranslatedGettingStarted]]",
	MainMenu: "[[TranslatedGettingStarted]]\n\n\n^^~TiddlyWiki version <<version>>\n(c) 2007 [[UnaMesa|http://www.unamesa.org/]]^^",
	TranslatedGettingStarted: "この空の~TiddlyWikiを使い始めるにあたって、まずは以下のtiddlerを編集してください。:\n;SiteTitle & SiteSubtitle: \n:このサイトのタイトルおよびサブタイトル。この上に表示されています。<br>保存後はブラウザのタイトルバーにも表示されます。\n;MainMenu: \n:メニュー。たいていは左側に表示されています。\n;DefaultTiddlers: \n:ここにtiddlerの名前が書かれていると、この TiddlyWiki を開いたときに、<br>そのtiddlerが初期表示されます。\nあなたの名前(編集したtiddlerに表示されます): <<option txtUserName>>",
	SiteTitle: "My TiddlyWiki",
	SiteSubtitle: "a reusable non-linear personal web notebook",
	SiteUrl: "http://www.tiddlywiki.com/",
	OptionsPanel: "これらの~TiddlyWikiを制御する各オプションの設定は、使用中のブラウザに保存されます。\n\n署名として使用するあなたの名前を~WikiWord形式(例 JoeBloggs)で入力してください。\n<<option txtUserName>>\n\n<<option chkSaveBackups>> バックアップを保存\n<<option chkAutoSave>> 自動保存\n<<option chkRegExpSearch>> 正規表現で検索\n<<option chkCaseSensitiveSearch>> 検索で大文字小文字を区別\n<<option chkAnimate>> アニメーション\n\n----\n詳細設定 [[TranslatedAdvancedOptions|AdvancedOptions]]",
	SideBarOptions: '<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal "YYYY年MM月DD日" "ジャーナル">><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel "オプション \u00bb" "TiddlyWiki の詳細設定">>',
	SideBarTabs: '<<tabs txtMainTab "時系列" "更新時刻の降順" TabTimeline "全て" "全てのtiddler" TabAll "タグ別" "全てのタグ" TabTags "その他" "その他の一覧" TabMore>>',
	TabMore: '<<tabs txtMoreTab "未作成" "リンクがあるのに存在しないtiddler" TabMoreMissing "孤立" "どこからもリンクされていないtiddler" TabMoreOrphans "隠し" "隠されているtiddler" TabMoreShadowed>>'});

merge(config.annotations,{
	AdvancedOptions: "このtiddlerでは詳細オプションを設定できます",
	ColorPalette: "この隠しtiddlerで設定された各値によって、この~TiddlyWikiでの色の枠組みが規定されます。",
	DefaultTiddlers: "この隠しtiddlerに列挙された各tiddlerは、この~TiddlyWIkiを開くと同時に自動的に表示されます。",
	EditTemplate: "この隠しtiddlerにあるHTMLテンプレートは、tiddler編集中の表示方法を決定します。",
	GettingStarted: "この隠しtiddlerは基本的な使用方法を説明します。",
	ImportTiddlers: "この隠しtiddlerは他のtiddlerの取り込み機能を提供します。",
	MainMenu: "この隠しtiddlerの内容は「メインメニュー」に表示されます。画面左手に表示されます。",
	MarkupPreHead: "この隠しtiddlerの内容は、このTiddlyWikiHTMLファイルの<head>セクション開始直後に挿入されます。",
	MarkupPostHead: "この隠しtiddlerの内容は、このTiddlyWikiHTMLファイルの<head>セクション終了直前に挿入されます。",
	MarkupPreBody: "この隠しtiddlerの内容は、このTiddlyWikiHTMLファイルの<body>セクション開始直後に挿入されます。",
	MarkupPostBody: "この隠しtiddlerの内容は、このTiddlyWikiHTMLファイルのスクリプトブロック直後にある、<body>セクション終了直前に挿入されます。",
	OptionsPanel: "この隠しtiddlerの内容は、右手のサイドバー内でスライド式のオプションパネルとして表示されます。",
	PageTemplate: "この隠しtiddlerにあるHTMLテンプレートは、~TiddlyWiki全体のレイアウトを決定します。",
	PluginManager: "この隠しtiddlerはプラグインマネージャ機能を提供します。",
	SideBarOptions: "この隠しtiddlerの内容は右手のサイドバー内のオプションパネルとして表示されます。",
	SideBarTabs: "この隠しtiddlerの内容は右手のサイドバー内にタブパネルとして表示されます。",
	SiteSubtitle: "この隠しtiddlerはページのサブタイトルとして利用されます。",
	SiteTitle: "この隠しtiddlerはページのメインタイトルとして利用されます。",
	SiteUrl: "この隠しtiddlerには、このTiddlyWikiを公開する際のURLを指定する必要があります。",
	StyleSheetColors: "この隠しtiddlerはページ内各要素の色に関するCSSを規定します。このtiddlerを編集しないでください。色を修正するには代わりに StyleSheet 隠しtiddler を編集してください。",
	StyleSheet: "この隠しtiddlerはカスタムCSSを規定します。",
	StyleSheetLayout: "この隠しtiddlerはページ内各要素のレイアウトに関するCSSを規定します。このtiddlerを編集しないでください。レイアウトを修正するには代わりに StyleSheet 隠しtiddler を編集してください。",
	StyleSheetLocale: "この隠しtiddlerはページ内各要素の翻訳ロケールに関するCSSを規定します。",
	StyleSheetPrint: "この隠しtiddlerは印刷に関するCSSを規定します。",
	TabAll: "この隠しtiddlerの内容は右手のサイドバー内「全て」タブに表示されます。",
	TabMore: "この隠しtiddlerの内容は右手のサイドバー内「その他」タブに表示されます。",
	TabMoreMissing: "この隠しtiddlerの内容は右手のサイドバー内「未作成」タブに表示されます。",
	TabMoreOrphans: "この隠しtiddlerの内容は右手のサイドバー内「孤立」タブに表示されます。",
	TabMoreShadowed: "この隠しtiddlerの内容は右手のサイドバー内「隠し」タブに表示されます。",
	TabTags: "この隠しtiddlerの内容は右手のサイドバー内「タグ別」タブに表示されます。",
	TabTimeline: "この隠しtiddlerの内容は右手のサイドバー内「時系列」タブに表示されます。",
	ToolbarCommands: "この隠しtiddlerはtiddlerツールバーにどのようなコマンドを表示するかを決定します。",
	ViewTemplate: "この隠しtiddlerにあるHTMLテンプレートは、各tiddlerの表示方法を決定します。"
	});
//}}}
[[TopPage]]
<!--{{{-->
<div id='header' class='header'>
    <div id='title'>
        <div id='topMenu' refresh='content' tiddler='MainMenu'></div>
        <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 class='clearAll'></div>
</div>
<div id='contentFooter' refresh='content' tiddler='contentFooter'></div>
<!--}}}-->
/***
!Code
<<codeformat js>>
***/
//{{{
// ShRun (Shell Run)
// シェルオープンマクロ
// Windows専用(WShellが無い場合は、通常のTiddlyリンクとなる)
config.macros.shrun = {};
config.macros.shrun.handler = function(place,macroName,params)
{
    var link = createExternalLink( place, params[0] );
    var text = params[1] ? params[1] : params[0];
    createTiddlyText( link, text );
        
    try {
        var ws = new ActiveXObject("WScript.Shell");

        link.onclick = this.onclick;
        link.href = "javascript:;";
        link.href2 = params[0];
    } catch(ex) {
    }
};
config.macros.shrun.onclick = function()
{
    var ws = new ActiveXObject("WScript.Shell");
    ws.Run('"' + this.href2 + '"');

    return false;
};
//}}}
プラグインの紹介
~TiddlyBlog
/*{{{*/
/*Bleach Theme for TiddlyWiki*/
/*Design and CSS by Saq Imtiaz*/
/*Version 1.0*/
/*}}}*/
/*{{{*/
/***
!General
***/
body {
 background: #fff;
}

#contentWrapper{
margin: 2.5em auto;
width:759px;
line-height: 1.6em;
border:1px solid #999;
font-size: 11px;
font-family: Lucida Grande, Tahoma, Arial, Helvetica, sans-serif;
color: #555;height:1%;
}

.clearAll {clear:both;}
.tagClear {clear:none;}
/*}}}*/

/*{{{*/
/***
!Header
***/
#header {background:#fff; border-bottom:1px solid #999;padding: 2.5em 2em 1.6em 2em; height:1%;
 }

.siteTitle {
font-family: 'Trebuchet MS' sans-serif;
font-weight: bold;
font-size: 32px;
color: #EF680E;
background-color: #FFF; 
}

.siteSubtitle {
	font-size: 1.0em;
        display:block; 
color: #999999; margin-top:0.5em !important; margin-top:1em; margin-left:3em;
}

#topMenu { positon:relative; float:right; display:inline; margin-right:2em;}
#topMenu br {display:none; }
#topMenu { background: #fff; color:#000;padding: 1em 1em;}
#topMenu a, #topMenu .tiddlyLink, #topMenu .button {margin:0 0.5em; color:#666;}

/*}}}*/

/*{{{*/
/***
!displayArea
***/

#displayArea {margin-left:1.35em; margin-right:16.3em; margin-top:0; padding-top:1em; padding-bottom:10px;}

/*}}}*/

/*{{{*/
/***
!Sidebar
***/
#sidebar {position:relative;float:right; line-height: 1.4em; border-left:0px solid#000; display:inline; background:#fff; right:0; 
width: 16em;}

/***
!SidebarOptions
***/
#sidebarOptions {padding-left:0.5em; border-left:1px solid #999;padding-top:1em;}

#sidebarOptions a {
			color:#999;
			text-decoration: none;}
#sidebarOptions	a:hover, #sidebarOptions .button:active {
			color:#333;
			background-color: #fff;border:1px solid #fff;
		}
#sidebarOptions input {border:1px solid #999; width:10em;}



/***
!SidebarTabs
***/
#sidebarTabs {border-left:1px solid #999;}
#sidebarTabs .tabContents {background:#fff;}
#sidebarTabs .tabContents .tiddlyLink, #sidebarTabs .tabContents .button{color:#999;}
#sidebarTabs .tabContents .tiddlyLink:hover,#sidebarTabs .tabContents .button:hover{color:#333;background:#fff;border:none;}

#sidebarTabs .tabContents .button:hover, #sidebarTabs .tabContents .highlight, #sidebarTabs .tabContents .marked, #sidebarTabs .tabContents a.button:active{color:#333;background:#fff}

.tabSelected{color:#fff; background:#999;}

.tabUnselected {
 background: #ccc;
}

 .tabSelected, .tabSelected:hover {
 color: #fff;
 background: #999;
 border: solid 1px #999;
padding-bottom:1px;
}

#sidebarTabs .tabUnselected:hover { border-bottom: none;padding-bottom:3px;color:#4F4B45}

 .tabUnselected {
 color: #999;
 background: #eee;
 border: solid 1px #ccc;
padding-bottom:1px;
}

#sidebarTabs .tabUnselected { border-bottom: none;padding-bottom:3px;}
#sidebarTabs .tabSelected{padding-bottom:3px;}


#sidebarOptions .sliderPanel {
	background: #fff; border:none;
	font-size: .9em;
}
#sidebarOptions .sliderPanel a {font-weight:normal; }
#sidebarOptions .sliderPanel input {border:1px solid #999;width:auto;}
#sidebarOptions .sliderPanel .txtOptionInput {border:1px solid #999;width:9em;}

#sidebarTabs .tabContents {border-right:0; border-left:0; border-bottom:1px solid#999; padding-left:4px;}
 .listLink,#sidebarTabs .tabContents {line-height:1.5em;}
 .listTitle {color:#666;}

#sidebarTabs .tabUnselected:hover { border-bottom: none;padding-bottom:3px;color:#4F4B45}
#sidebarTabs .txtMoreTab .tabContents {border-left:1px solid #999;}
#sidebarTabs .txtMainTab .tabContents li a{font-weight:bold;}
/*}}}*/

/*{{{*/
.title {color:#EF680E;}
.subtitle, .subtitle a { color: #999999; font-size: 1em;margin:0.2em; font-variant: small-caps;}
.shadow .title{color:#999;}

.selected .toolbar a {color:#999999;}
.selected .toolbar a:hover {color:#333; background:transparent;border:1px solid #fff;}

.toolbar .button:hover, .toolbar .highlight, .toolbar .marked, .toolbar a.button:active{color:#333; background:transparent;border:1px solid #fff;}

* html .viewer pre {
	margin-left: 0em;
}

* html .editor textarea, * html .editor input {
	width: 98%;
}

		a,#sidebarOptions .sliderPanel a{
			color:#EF680E;
			text-decoration: none;
		}

		a:hover,#sidebarOptions .sliderPanel a:hover {
			color:#EF680E;
			background-color: #fff; 
border-bottom:1px dotted #EF680E;
		}

.viewer .button, .editorFooter .button{
	color: #555;
	border: 1px solid #EF680E;
}

.viewer .button:hover, 
.editorFooter .button:hover{
	color: #fff;
	background: #EF680E;
	border-color: #EF680E;
}

.viewer .button:active, .viewer .highlight,.editorFooter .button:active, .editorFooter .highlight{color:#fff; background:#DF691B;border-color:#DF691B;}


		#topMenu a, #topMenu .button {
			padding: 20px 10px; border:none; font-weight:bold;
		}

		#topMenu a:link{
			text-decoration: none;
		}
		
		#topMenu a:hover, #topMenu .button:hover {
			background-color: #fff;
			color:#EF680E;
border:none;
		}





.tagging, .tagged {
	border: 1px solid #eee;
	background-color: #F7F7F7;
}

.selected .tagging, .selected .tagged {
	background-color: #eee;
	border: 1px solid #BFBAB3;
}

 .tagging .listTitle, .tagged .listTitle {
	color: #bbb;
}

.selected .tagging .listTitle, .selected .tagged .listTitle {
	color: #666; 
}

.tagging .button, .tagged .button {
		color:#aaa;
}
.selected .tagging .button, .selected .tagged .button {
		color:#BFBAB3;
}

.highlight, .marked {background:transparent; color:#111; border:none; text-decoration:underline;}

.tagging .button:hover, .tagged .button:hover, .tagging .button:active, .tagged .button:active {
		border: none; background:transparent; text-decoration:underline; color:#333;
}





.popup {
	background: #999;
	border: 1px solid #999;
}

.popup li.disabled {
	color: #000;
}

.popup li a, .popup li a:visited {
	color: #eee;
	border: none;
}

.popup li a:hover {
	background: #6F6A68;
	color: #fff;
	border: none;
}


		.tiddler {
			padding-bottom: 40px;
			/*border-bottom: 1px solid #999; */
		}





#messageArea {
	border: 4px solid #999;
	background: #f5f5f5;
	color: #999;
        font-size:90%;
}

#messageArea a:hover { background:#f5f5f5; border:none;}

#messageArea .button{
	color: #666;
	border: 1px solid #CC6714;
}

#messageArea .button:hover {
	color: #fff;
	background: #999;
	border-color: #999;
}












.viewer blockquote {
	border-left: 5px solid #888;
}

.viewer table {
	border: 2px solid #888;
}

.viewer th, thead td {
	background: #888;
	border: 1px solid #888;
	color: #fff;
}
.viewer pre {
	border: 1px solid #999;
	background: #f5f5f5;
}

.viewer code {
	color: #111; background:#f5f5f5;
}

.viewer hr {
	border-top: dashed 1px #999;
}

.editor input {
	border: 1px solid #888;
}

.editor textarea {
	border: 1px solid #888;
}

.tabContents {background:#f7f7f7;}

h1,h2,h3,h4,h5 { color: #555; background: transparent; padding-bottom:2px; font-family: Arial, Helvetica, sans-serif; }
h1 {font-size:18px;}
h2 {font-size:16px;}
h3 {font-size: 14px;}

#contentFooter {background:#999; color:#dfdfdf; clear: both; padding: 0.5em 1em; }

		#contentFooter a {
			color: #dfdfdf;
			border-bottom: 1px dotted #fff; font-weight:normal;
		}
		
		#contentFooter a:hover {
			color: #FFFFFF;
			background-color:transparent;
		}	
/*}}}*/
/***
|!Name|TBCodeFormatMacro|
|!Created by|TiddlyBlog|
|!Location|http://file.tiddly.blog.shinobi.jp/wiki.html|
|!Version|0.0.2|
|!Requires|~TW2.4.1-|

!説明(Description)
TiddlyWikiの等幅フォントブロック"&#123;&#123;&#123; &#125;&#125;&#125;"に構文(C++やJavaScriptなど)の色つけ表示を提供します。
TiddlyWikiのバージョン2.4.1以降を対象に作成されています。

!使い方(Usage)
新しいtiddlerに、このtiddlerの内容をコピーし、タグに'systemConfig'を付けて保存し、再読み込みします。TiddlyWikiがバージョン2.1以降であればImportTiddlers(取り込み)機能も使えます。
----
{{{<<codeformat 書式名>>}}}
|!書式名|!構文|
|cpp|C/C++|
|js|JavaScript/JScript|
|vbs|VBScirpt|
|省略時|デフォルト(構文無し)|
|version0.0.2対応構文|c

次に処理される等幅フォントブロックに対してコードフォーマットを指定します。
等幅フォントブロックの表示が完了すると、コードフォーマットの指定はクリアされます。
同じTiddler内にあるブロックが対象となるよう指定して下さい。
(マクロは設置されているが、ブロックが設置されていない場合、別のTiddlerで表示されるブロックに影響する場合があります)

!!例
//{{{
<<codeformat js>>
{{{
function hoge() {
	document.write("Hello World!");
}
}}}
//}}}
表示結果
<<codeformat js>>
{{{
function hoge() {
	document.write("Hello World!");
}
}}}
----
{{{<<codeformat tab-width=タブ幅>>}}}

タブ幅(0~)を設定します。
表示時にタブ文字をnbspに置換します。
(タブ幅はタブ文字1つに対するnbspの数を指定します)
デフォルトは4、タブ文字の置換が不要な場合は0を指定します。
この設定はブロックの表示後も保持されます。

!履歴(History)
* 2008/9/15, version 0.0.1 test release
* 2008/9/16, version 0.0.2 タブ幅指定対応

!注意(Notes)
Windows+IE6でのみ動作確認を行っています。
IE以外のブラウザは考慮されていません。
書式の追加希望、不具合報告は[[ブログ|http://tiddly.blog.shinobi.jp/]]まで。

!Code
<<codeformat js>>
***/
//{{{
config.formatterHelpers.codeFormats = {
	cpp : {
		commentColor : "#008000",
		stringColor : "#ff00ff",
		reserve1Color : "#0000ff",
		reserve2Color : "#ff0000",
		reserve3Color : "#aa5500",
		preprocColor : "#0000ff",
		lineComment : "//",
		startComment : "/*",
		endComment : "*/",
		singleQuote : true,
		doubleQuote : true,
		multilineString : false,
		escapeCode : "\\",
		preProcess : "#",
		caseKeyword : true,
		reserve1Keywords : ["asm","auto","bad_cast","bad_typeid","bool","break","case","catch","char","class","const","const_cast","continue","default","delete","do","double","dynamic_cast","else","enum","except","explicit","extern","false","finally","float","for","friend","goto","if","inline","int","long","mutable","namespace","new","operator","private","protected","public","register","reinterpret_cast","return","short","signed","sizeof","static","static_cast","struct","switch","template","this","throw","true","try","type_info","typedef","typeid","typename","union","unsigned","using","virtual","void","volatile","while","xalloc"],
		reserve2Keywords : [],
		reserve3Keywords : []
	},
	js : {
		commentColor : "#008000",
		stringColor : "#ff00ff",
		reserve1Color : "#0000ff",
		reserve2Color : "#ff0000",
		reserve3Color : "#aa5500",
		preprocColor : "#0000ff",
		lineComment : "//",
		startComment : "/*",
		endComment : "*/",
		singleQuote : true,
		doubleQuote : true,
		multilineString : false,
		escapeCode : "\\",
		preProcess : "",
		caseKeyword : true,
		reserve1Keywords : ["abstract","boolean","break","byte","case","catch","char","class","const","continue","debugger","default","delete","do","double","else","enum","export","extends","false","final","finally","float","for","function","goto","if","implements","import","in","instanceof","int","interface","long","native","new","null","package","private","protected","public","return","short","static","super","switch","synchronized","this","throw","throws","transient","true","try","typeof","var","void","while","with","enum","byvalue","cast","future","generic","inner","operator","outer","rest","var"],
		reserve2Keywords : ["Anchor","anchors","Applet","applets","Area","Array","Body","Button","Checkbox","Date","document","FileUpload","Form","forms","Frame","frames","Hidden","history","History","Image","images","Layer","layers","Link","links","location","Math","MimeType","mimeTypes","navigator","Option","options","Password","Plugin","plugins","radio","Radio","RegExp","regular expression","Reset","screen","Script","Select","String","Style","StyleSheet","Submit","Text","Textarea","window"],
		reserve3Keywords : []
	},
	vbs : {
		commentColor : "#008000",
		stringColor : "#ff00ff",
		reserve1Color : "#0000ff",
		reserve2Color : "#ff0000",
		reserve3Color : "#aa5500",
		preprocColor : "#0000ff",
		lineComment : "'",
		startComment : "",
		endComment : "",
		singleQuote : false,
		doubleQuote : true,
		multilineString : false,
		escapeCode : "",
		preProcess : "#",
		caseKeyword : false,
		reserve1Keywords : ["ADDHANDLER","ADDRESSOF","ALIAS","AND","ANDALSO","ANSI","AS","ASSEMBLY","AUTO","BOOLEAN","BYREF","BYTE","BYVAL","CALL","CASE","CATCH","CBOOL","CBYTE","CCHAR","CDATE","CDEC","CDBL","CHAR","CINT","CLASS","CLNG","COBJ","CONST","CSHORT","CSNG","CSTR","CTYPE","DATE","DECIMAL","DECLARE","DEFAULT","DELEGATE","DIM","DIRECTCAST","DO","DOUBLE","EACH","ELSE","ELSEIF","EMPTY","END","ENUM","EQV","ERASE","ERROR","EVENT","EXECUTE","EXECUTEGLOBAL","EXIT","EXPLICIT","FALSE","FILEGET","FINALLY","FOR","FRIEND","FUNCTION","GET","GETTYPE","GOTO","HANDLES","IF","IMP","IMPLEMENTS","IMPORTS","IN","INHERITS","INTEGER","INTERFACE","IS","LET","LIB","LIKE","LONG","LOOP","ME","MOD","MODULE","MUSTINHERIT","MUSTOVERRIDE","MYBASE","MYCLASS","NAMESPACE","NEXT","NEW","NOT","NOTHING","NOTINHERITABLE","NOTOVERRIDABLE","NULL","OBJECT","ON","OPTION","OR","ORELSE","OVERLOADS","OVERRIDABLE","OVERRIDES","PARAMARRAY","PRESERVE","PRIVATE","PROPERTY","PROTECTED","PUBLIC","RANDOMIZE","RAISEEVENT","READONLY","REDIM","REM","RESUME","RETURN","SELECT","SET","SHADOWS","SHARED","SHORT","SINGLE","STATIC","STEP","STOP","STRING","STRUCTURE","SUB","SYNCLOCK","THEN","THROW","TO","TRUE","TRY","TYPEOF","UNICODE","UNTIL","WEND","WHEN","WHILE","WITH","WITHEVENTS","WRITEONLY","XOR"],
		reserve2Keywords : ["ABS","ADD","ARRAY","ASC","ASSERT","ATAN","ATN","BIGINT","BINARY","BIT","CBOOL","CBYTE","CCUR","CDATE","CDBL","CHR","CINT","CLNG","CLOSE","COMMANDTYPE","COS","CREATEOBJECT","CSNG","CSTR","CURRENTCULTURE","DATABIND","DATASOURCE","DATE","DATEADD","DATEDIFF","DATEPART","DATESERIAL","DATESTRING","DATETIME","DATEVALUE","DAY","DEBUG","DIRECTION","EVAL","EXECUTENONQUERY","EXECUTEREADER","EXP","FAIL","FILECLOSE","FILEOPEN","FILEPUT","FILEWIDTH","FILTER","FIX","FLOAT","FORMATCURRENCY","FORMATDATETIME","FORMATNUMBER","FORMATPERCENT","GETLOCALE","GETOBJECT","GETREF","HEX","HOUR","INPUT","INPUTBOX","INSTR","INSTRREV","INT","ISARRAY","ISDATE","ISEMPTY","ISNOTHING","ISDBNULL","ISNULL","ISNUMERIC","ISOBJECT","ISREFERENCE","JOIN","LANGUAGE","LBOUND","LCASE","LEFT","LEN","LINEINPUT","LOADPICTURE","LOCK","LSET","LOG","LTRIM","MID","MINUTE","MKDIR","MONEY","MONTH","MONTHNAME","MSGBOX","NAMESPACE","NCHAR","NOW","NTEXT","NVARCHAR","OCT","OPEN","PADLEFT","PADRIGHT","PAGE","PARAMETERDIRECTION","PARAMETERS","PRINT","PRINTLINE","READ","REAL","RENAME","REPLACE","RESET","RESPONSE","RGB","RIGHT","RMDIR","RND","ROUND","RSET","RTRIM","RUNAT","SAVESETTING","SCRIPTENGINE","SCRIPTENGINEBUILDVERSION","SCRIPTENGINEMAJORVERSION","SCRIPTENGINEMINORVERSION","SECOND","SETATTR","SETLOCALE","SGN","SIN","SIZE","SMALLDATETIME","SMALLINT","SMALLMONEY","SPACE","SPLIT","SQLDBTYPE","SQR","SQRT","STOREDPROCEDURE","STRCOMP","STRING","TAN","TEXT","TIME","TIMER","TIMESERIAL","TIMESTAMP","TIMESTRING","TIMEVALUE","TINYINT","TODAY","TRIM","TYPENAME","UBOUND","UCASE","UNIQUEIDENTIFIER","VALUE","VARBINARY","VARCHAR","VARIANT","VARTYPE","WEEKDAY","WEEKDAYNAME","WRITE","WRITEIF","WRITELINE","WRITELINEIF","YEAR"],
		reserve3Keywords : ["DICTIONARY","DOCUMENT","ELEMENT","ERR","FILESYSTEMOBJECT ","FORM","HISTORY","LINK","LOCATION","MATCH","NAVIGATOR","REGEXP","TEXTSTREAM","WINDOW"]
	}
};

config.formatterHelpers.codeFormatter = function(e,name,text,tab_width) {
	// コード名有無
	if(!name) {
		createTiddlyText(e,text);
		return;
	}

	// 書式有無
	var format = config.formatterHelpers.codeFormats[name];
	if(!format) {
		createTiddlyText(e,text);
		return;
	}

	var index = 0;
	var lineRegExp = /.*(?:\n|$)/g;
	var spaceRegExp = /[ \f\t\v]+/g;
	var linecommentRegExp = null;
	var blockcommentRegExp = null;
	var singlequoteRegExp = null;
	var doublequoteRegExp = null;
	var keywordRegExp = /\w+/g;
	var otherRegExp = /[^\s\w]/g;
	var match;

	// ラインコメント用正規表現作成
	if(format.lineComment) {
		linecommentRegExp = new RegExp(format.lineComment.escapeRegExp()+".*","g");
	}

	// ブロックコメント用正規表現作成
	if(format.startComment && format.endComment) {
		blockcommentRegExp = new RegExp(format.startComment.escapeRegExp()+".*"+format.endComment.escapeRegExp(),"mg");
	}

	// シングルクオート用正規表現作成
	if(format.singleQuote) {
		singlequoteRegExp = new RegExp(
			format.escapeCode ? "'(?:[^'"+format.escapeCode.escapeRegExp()+"]|"+format.escapeCode.escapeRegExp()+".)*'" : "'[^']*'",
			format.multilineString ? "mg" : "g")
	}

	// ダブルクオート用正規表現作成
	if(format.doubleQuote) {
		doublequoteRegExp = new RegExp(
			format.escapeCode ? "\"(?:[^\""+format.escapeCode.escapeRegExp()+"]|"+format.escapeCode.escapeRegExp()+".)*\"" : "\"[^\"]*\"",
			format.multilineString ? "mg" : "g")
	}

	// 標準書式
	var stdFormat = function(regexp,startwith,color) {
		if(regexp && text.startWith(startwith,index)) {
			regexp.lastIndex = index;
			match = regexp.exec(text);
			if(match && match.index == index) {
				createTiddlyCode(e,match[0],color);
				index += match[0].length;
				return true;
			}
		}
		return false;
	};

	// 予約語検索用関数
	var reservedSearch = 
			format.caseKeyword?
			function(ary,str) {
				for(var i=0; i<ary.length; i++) {
					if(ary[i]==str) return true;
				}
				return false;
			}:
			function(ary,str) {
				for(var i=0; i<ary.length; i++) {
					if(ary[i].toUpperCase==str.toUpperCase) return true;
				}
				return false;
			};

	// タブの空白置換
	if(tab_width) {
		var replaced = "";
		while(match = lineRegExp.exec(text)) {
			replaced += match[0].tabreplace(tab_width);
		}
		text = replaced;
	}

	index = 0;
	while(true) {
		// 改行
		if(text.startWith("\n",index)) {
			createTiddlyText(e,config.browser.isIE?"\r":"\n");
			index++;
			lineindex = index;
			continue;
		}

		// スペース
		spaceRegExp.lastIndex = index;
		match = spaceRegExp.exec(text);
		if(match && match.index == index) {
			createTiddlyText(e,match[0]);
			index += match[0].length;
			continue;
		}

		// ラインコメント
		if(stdFormat(linecommentRegExp,format.lineComment,format.commentColor)) {
			continue;
		}

		// ブロックコメント
		if(stdFormat(blockcommentRegExp,format.startComment,format.commentColor)) {
			continue;
		}

		// 文字列(シングルクオート)
		if(stdFormat(singlequoteRegExp,"'",format.stringColor)) {
			continue;
		}

		// 文字列(ダブルクオート)
		if(stdFormat(doublequoteRegExp,"\"",format.stringColor)) {
			continue;
		}

		// 単語
		keywordRegExp.lastIndex = index;
		match = keywordRegExp.exec(text);
		if(match && match.index == index) {
			var reservedColor = "";
			if(reservedSearch(format.reserve1Keywords,match[0])) {
				reservedColor = format.reserve1Color;
			} else
			if(reservedSearch(format.reserve2Keywords,match[0])) {
				reservedColor = format.reserve2Color;
			} else
			if(reservedSearch(format.reserve3Keywords,match[0])) {
				reservedColor = format.reserve3Color;
			}
			if(reservedColor) {
				createTiddlyCode(e,match[0],reservedColor);
			} else {
				createTiddlyText(e,match[0]);
			}
			index += match[0].length;
			continue;
		}

		// その他
		otherRegExp.lastIndex = index;
		match = otherRegExp.exec(text);
		if(match && match.index == index) {
			createTiddlyText(e,match[0]);
			index += match[0].length;
		} else {
			break;
		}
	}
};

config.formatterHelpers.org_enclosedTextHelper = config.formatterHelpers.enclosedTextHelper;
config.formatterHelpers.enclosedTextHelper = function(w) {
	// オリジナルモード(コードフォーマット指定無しor<pre>タグ以外
	if(!config.macros.codeformat.name||this.element!="pre") {
		return config.formatterHelpers.org_enclosedTextHelper.call(this,w);
	}

	this.lookaheadRegExp.lastIndex = w.matchStart;
	var lookaheadMatch = this.lookaheadRegExp.exec(w.source);
	if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
		var e = createTiddlyElement(w.output,this.element,null,null,"");
		config.formatterHelpers.codeFormatter(
			e,config.macros.codeformat.name,lookaheadMatch[1],config.macros.codeformat.tab_width);
		w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;

		// コード名の初期化
		config.macros.codeformat.name = "";
	}
};

function createTiddlyCode(parent,code,color) {
	var e = createTiddlyElement(parent,"span",null,null,code);
	if(color) {
		e.style["color"] = color;
	}

	return e;
}

String.prototype.startWith = function(s,index) {
	if(!index) index = 0;
	return (this.substr(index,s.length) == s);
};

String.prototype.width = function() {
    var r = 0;
	for (var i = 0; i < this.length; i++) {
		var c = this.charCodeAt(i);
		// Shift_JIS: 0x0 ~ 0x80, 0xa0 , 0xa1 ~ 0xdf , 0xfd ~ 0xff
		// Unicode : 0x0 ~ 0x80, 0xf8f0, 0xff61 ~ 0xff9f, 0xf8f1 ~ 0xf8f3
		if ( (c >= 0x0 && c < 0x81) || (c == 0xf8f0) || (c >= 0xff61 && c < 0xffa0) || (c >= 0xf8f1 && c < 0xf8f4)) {
			r += 1;
		} else {
			r += 2;
		}
	}
	return r;
};

String.prototype.tabreplace = function(width) {
	var match;
	var text = this;
	while(match = /\t+/.exec(text)) {
		var left = text.substring(0,match.index);
		var right = text.substring(match.lastIndex);
		var spcount = 
			width - (left.width() % width) +
			(match[0].length-1) * width;
		var spacer = "";
		for(var i=0; i<spcount; i++) spacer += " ";
		text = left + spacer + right;
	}
	return text;
};

config.macros.codeformat = {
	handler : function(place,macroName,params) {
		if(params[0]&&params[0].startWith("tab-width=")) {
			alert(parseInt(params[0].substring("tab-width=".length)));
			config.macros.codeformat.tab_width = parseInt(params[0].substring("tab_width=".length));
		} else {
			config.macros.codeformat.name = params[0]?params[0].trim():"";
		}
	},
	name : "",
	tab_width : 4
};

//}}}
/***
|!Name|TBExclusiveLockPlugin|
|!Created by|TiddlyBlog|
|!Location|http://file.tiddly.blog.shinobi.jp/wiki.html|
|!Version|0.0.3|
|!Requires|~TW2.4.1-|

!説明(Description)
TiddlyWikiを共有サーバーで使用した場合、同時に更新されることを防ぐ排他ロック機構を実装します。
TiddlyWikiのバージョン2.4.1以降を対象に作成されています。

!使い方(Usage)
新しいtiddlerに、このtiddlerの内容をコピーし、タグに'systemConfig'を付けて保存し、再読み込みします。TiddlyWikiがバージョン2.1以降であればImportTiddlers(取り込み)機能も使えます。

*非ロック状態での制限事項<br>Tiddlerの編集、確定、削除、新規作成が行えません。<br>同期、取り込み、アップグレード、プラグインの隠しTiddlerが表示できません。

*ロック状態での制限事項<br>ありません。<br>全ての機能が使用できます。

*ロックをかける<br>以下のいずれかでロックを行うことができます。
**サイドバーより「排他ロック」を実行する。
**ロックがかかっていない状態で、Tiddlerの編集、確定、削除、新規作成を開始する。(ポップアップによる確認あり)
**ロックがかかっていない状態で、保存を行う。(ポップアップによる確認なし)

*ロックを外す<br>以下のいずれかでアンロックを行うことができます。
**サイドバーより「排他アンロック」を実行する。
**保存を行う。(保存後、自動でアンロックされます)

!履歴(History)
* 2008/9/5, version 0.0.1 test release
* 2008/9/16, version 0.0.2 ロック情報表示機能追加
* 2008/9/17, version 0.0.3 ロック前更新状態チェック機能追加

!注意(Notes)
日本語化されたTiddlyWikiのみ対応します。
Windows+IE6でのみ動作確認を行っています。
IE以外のブラウザは考慮されていません。(おそらく使用できません)
何らかの理由で、ロックを保持したままブラウザが終了してしまった場合、ロックファイルが残ったままとなります。
この場合、手動でロックファイルを削除して下さい。(TiddlerWikiのファイル名+".lck")
ただし、正常動作中にロックファイルを削除することは大変危険ですので注意して下さい。
不具合報告は[[ブログ|http://tiddly.blog.shinobi.jp/]]まで。

!Code
<<codeformat js>>
***/
//{{{
merge(config.shadowTiddlers,{
	SideBarOptions: '<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal "YYYY年MM月DD日" "ジャーナル">><<exclusiveLock>><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel "オプション \u00bb" "TiddlyWiki の詳細設定">>'
});

config.macros.exclusiveLock = {};

merge(config.macros.exclusiveLock,{
	isLocked	: false,
	content		: "",
	modified	: new Date(),
	version		: "0.0.3",
	label		: "排他ロック",
	label2		: "排他アンロック",
	prompt		: "TiddlyWikiをロックします",
	prompt2		: "TiddlyWikiをアンロックします",
	accessKey	: "L",
	locked		: "TiddlyWikiをロックしました",
	unlocked	: "TiddlyWikiをアンロックしました",
	cantlock	: "TiddlyWikiをロックできません。",
	cantunlock	: "TiddlyWikiをアンロックできません。",
	confirm		: "TiddlyWikiがロックされていません。\nロックしますか?",
	needlock	: "TiddlyWikiをロックして下さい",
	dirty		: "TiddlyWikiの変更が保存されていません。\nアンロックしますか?",
	lockinfo	: "\n\nロック情報:\n",
	nolockinfo	: "\n(ロック情報取得失敗)",
	changed		: "TiddlyWikiが更新されているためロックできません。\nブラウザからリロードして下さい。"
});

config.macros.exclusiveLock.handler = function(place,macroName,params)
{
	if ( readOnly ) return;

	if ( !this.isLocked ) {
		createTiddlyButton(place,this.label,this.prompt,this.onClick,null,null,this.accessKey);
	} else {
		createTiddlyButton(place,this.label2,this.prompt2,this.onClick,null,null,this.accessKey);
	}
};

config.macros.exclusiveLock.getContentPath = function()
{
	var originalPath = document.location.toString();
	if(originalPath.substr(0,5) != "file:") {
		return "";
	}

	return getLocalPath(originalPath);
};

config.macros.exclusiveLock.updateContent = function()
{
	var localPath = this.getContentPath();
	if(!localPath) return;

	var content = loadOriginal(localPath);
	if(!content) return;

	var modified = fileModified(localPath);
	if(!modified) return;

	config.macros.exclusiveLock.content = content;
	config.macros.exclusiveLock.modified = modified;
};

config.macros.exclusiveLock.compareContent = function()
{
	var localPath = this.getContentPath();
	if(!localPath) return;

	var content = loadOriginal(localPath);
	if(!content) return;

	var modified = fileModified(localPath);
	if(!modified) return;

	return (config.macros.exclusiveLock.content == content &&
			config.macros.exclusiveLock.modified - modified == 0);
};

config.macros.exclusiveLock.onClick = function(e)
{
	clearMessage();

	if ( !config.macros.exclusiveLock.isLocked ) {
		if ( config.macros.exclusiveLock.lock() ) {
			displayMessage( config.macros.exclusiveLock.locked );
		}
	} else {
		if ( config.macros.exclusiveLock.unlock() ) {
			displayMessage( config.macros.exclusiveLock.unlocked );
		}
	}

	return false;
};

config.macros.exclusiveLock.lock = function()
{
	if ( this.isLocked ) return true;

	var contentPath = this.getContentPath();
	if(!contentPath) {
		alert(config.messages.notFileUrlError);
		return false;
	}

	if(!this.compareContent()) {
		alert(this.changed);
		return false;
	}

	var lockfilePath = contentPath + ".lck";

	try {
		var fso = new ActiveXObject("Scripting.FileSystemObject");
		var file = fso.CreateTextFile(lockfilePath,false);
		file.WriteLine("Version:" + this.version);
		file.WriteLine("Date:" + (new Date()).toLocaleString());
		file.WriteLine("User:" + config.options.txtUserName);
		file.Close();
	} catch (ex) {
//		showException(ex);
		var info;
		try {
			info = this.lockinfo;
			var fso = new ActiveXObject("Scripting.FileSystemObject");
			var file = fso.OpenTextFile(lockfilePath,/*ForReading*/1);
			info += " " + file.ReadLine() + "\n";
			info += " " + file.ReadLine() + "\n";
			info += " " + file.ReadLine() + "\n";
			file.Close();
		} catch (ex) {
//			showException(ex);
			info = this.nolockinfo;
		}
		alert(this.cantlock + info);
		return false;
	}

	this.isLocked = true;
	refreshDisplay();

	return true;
};

config.macros.exclusiveLock.unlock = function()
{
	if ( !this.isLocked ) return true;

	if ( store && store.isDirty && store.isDirty() && window.hadConfirmExit === false ) {
		if ( !confirm(this.dirty) ) {
			return false;
		}
	}

	var contentPath = this.getContentPath();
	if(!contentPath) {
		alert(config.messages.notFileUrlError);
		return false;
	}

	var lockfilePath = contentPath + ".lck";

	try {
		var fso = new ActiveXObject("Scripting.FileSystemObject");
		var file = fso.GetFile(lockfilePath);
		file.Delete();
	} catch (ex) {
//		showException(ex);
		alert(this.cantunlock);
		return false;
	}

	this.isLocked = false;
	refreshDisplay();

	return true;
};

function fileModified(path)
{
	try {
		var fso = new ActiveXObject("Scripting.FileSystemObject");
		var file = fso.GetFile(path);
		return new Date(file.DateLastModified);
	} catch(ex) {
//		showException(ex);
		return new Date();
	}
}

if(!readOnly) {
	var nowDate = config.macros.exclusiveLock.modified;
	config.macros.exclusiveLock.updateContent();
	if(nowDate < config.macros.exclusiveLock.modified) {
		config.macros.exclusiveLock.modified = nowDate;
	}
}

/** Hook config.macros.newTiddler.onClickNewTiddler function **/
config.macros.newTiddler.org_onClickNewTiddler = config.macros.newTiddler.onClickNewTiddler;
config.macros.newTiddler.onClickNewTiddler = function()
{
	if ( !readOnly && !config.macros.exclusiveLock.isLocked ) {
		if ( !confirm(config.macros.exclusiveLock.confirm) ) {
			return false;
		}
		if ( !config.macros.exclusiveLock.lock() ) {
			return false;
		}
	}

	this.org_onclick = config.macros.newTiddler.org_onClickNewTiddler;

	return this.org_onclick();
};

/** Hook config.commands.editTiddler.handler function **/
config.commands.editTiddler.org_handler = config.commands.editTiddler.handler;
config.commands.editTiddler.handler = function(event,src,title)
{
	if ( !readOnly && !config.macros.exclusiveLock.isLocked ) {
		if ( !confirm(config.macros.exclusiveLock.confirm) ) {
			return false;
		}
		if ( !config.macros.exclusiveLock.lock() ) {
			return false;
		}
	}

	return config.commands.editTiddler.org_handler(event,src,title);
};

/** Hook config.commands.saveTiddler.handler function **/
config.commands.saveTiddler.org_handler = config.commands.saveTiddler.handler;
config.commands.saveTiddler.handler = function(event,src,title)
{
	if ( !readOnly && !config.macros.exclusiveLock.isLocked ) {
		if ( !confirm(config.macros.exclusiveLock.confirm) ) {
			return false;
		}
		if ( !config.macros.exclusiveLock.lock() ) {
			return false;
		}
	}

	return config.commands.saveTiddler.org_handler(event,src,title);
};

/** Hook config.commands.deleteTiddler.handler function **/
config.commands.deleteTiddler.org_handler = config.commands.deleteTiddler.handler;
config.commands.deleteTiddler.handler = function(event,src,title)
{
	if ( !readOnly && !config.macros.exclusiveLock.isLocked ) {
		if ( !confirm(config.macros.exclusiveLock.confirm) ) {
			return false;
		}
		if ( !config.macros.exclusiveLock.lock() ) {
			return false;
		}
	}

	return config.commands.deleteTiddler.org_handler(event,src,title);
};

/** Hook config.macros.sync.handler **/
config.macros.sync.org_handler = config.macros.sync.handler;
config.macros.sync.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
	if ( !readOnly && !config.macros.exclusiveLock.isLocked ) {
		var wizard = new Wizard();
		wizard.createWizard(place,config.macros.exclusiveLock.needlock);
		return;
	}

	config.macros.sync.org_handler(place,macroName,params,wikifier,paramString,tiddler);
};

/** Hook config.macros.importTiddlers.handler **/
config.macros.importTiddlers.org_handler = config.macros.importTiddlers.handler;
config.macros.importTiddlers.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
	if ( !readOnly && !config.macros.exclusiveLock.isLocked ) {
		var wizard = new Wizard();
		wizard.createWizard(place,config.macros.exclusiveLock.needlock);
		return;
	}

	config.macros.importTiddlers.org_handler(place,macroName,params,wikifier,paramString,tiddler);
};

/** Hook config.macros.upgrade.handler **/
config.macros.upgrade.org_handler = config.macros.upgrade.handler;
config.macros.upgrade.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
	if ( !readOnly && !config.macros.exclusiveLock.isLocked ) {
		var wizard = new Wizard();
		wizard.createWizard(place,config.macros.exclusiveLock.needlock);
		return;
	}

	config.macros.upgrade.org_handler(place,macroName,params,wikifier,paramString,tiddler);
};

/** Hook config.macros.plugins.handler **/
config.macros.plugins.org_handler = config.macros.plugins.handler;
config.macros.plugins.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
	if ( !readOnly && !config.macros.exclusiveLock.isLocked ) {
		var wizard = new Wizard();
		wizard.createWizard(place,config.macros.exclusiveLock.needlock);
		return;
	}

	config.macros.plugins.org_handler(place,macroName,params,wikifier,paramString,tiddler);
};

/** Hook saveChanges function **/
var org_saveChanges = saveChanges;
saveChanges = function()
{
	if ( org_saveChanges == undefined ) {
		return;
	}

	var alreadyLocked = config.macros.exclusiveLock.isLocked;

	if ( !config.macros.exclusiveLock.lock() ) {
		return;
	}

	org_saveChanges();
	config.macros.exclusiveLock.updateContent();

	if ( config.macros.exclusiveLock.unlock() && alreadyLocked ) {
		displayMessage( config.macros.exclusiveLock.unlocked );
	}
};

/** Hook checkUnsavedChanges function **/
var org_checkUnsavedChanges = checkUnsavedChanges;
checkUnsavedChanges = function()
{
	if ( org_checkUnsavedChanges == undefined ) {
		config.macros.exclusiveLock.unlock();
		return;
	}

	org_checkUnsavedChanges();

	config.macros.exclusiveLock.unlock();
};
//}}}
/***
|!Name|TBSaveNWPathPatch|
|!Created by|TiddlyBlog|
|!Location|http://file.tiddly.blog.shinobi.jp/wiki.html|
|!Version|0.0.1|
|!Requires|~TW2.0.5-|

!説明(Description)
TiddlyWikiの保存Path名にネットワーク共有(Windows)を使用した際、保存できない現象へのパッチ・プラグインです。
TiddlyWikiのバージョン2.0.5以降が必要です。

!使い方(Usage)
新しいtiddlerに、このtiddlerの内容をコピーし、タグに'systemConfig'を付けて保存し、再読み込みします。TiddlyWikiがバージョン2.1以降であればImportTiddlers(取り込み)機能も使えます。

!履歴(History)
* 2008/9/3, version 0.0.1 test release

!注意(Notes)
このパッチはWindows環境以外では意味ありません。
不具合報告は[[ブログ|http://tiddly.blog.shinobi.jp/]]まで。

!Code
<<codeformat js>>
***/
//{{{
javascript:(
 function() {
  var orig_getLocalPath = getLocalPath;
  getLocalPath = function (originalPath) {
   if (orig_getLocalPath == undefined) {
    return originalPath;
   }
   var localPath = orig_getLocalPath(originalPath);
   if (localPath.indexOf("//") == 0) {
    localPath = localPath.replace(new RegExp("/","g"),"\\");
   }
   return localPath;
  }
 }
)();
//}}}
/***
|!Name|TWSaveSJPathPatch|
|!Created by|Zephyr (FURUKAWA, Masashi)|
|!Location|http://flow.dip.jp/mt/archives/u/twmemo.html#TWSaveSJPathPatch|
|!Version|0.2.0|
|!Requires|~TW2.0.5-|

!説明(Description)
TiddlyWikiの保存Path名に全角を使用した際、Windows上のFirefoxで保存できない現象へのパッチ・プラグインです。
TiddlyWikiのバージョン2.0.5以降が必要です。
It's a patch plugin for TiddlyWiki saving problem when using 2-byte character path name on Firefox in Windows.
It's requires TiddlyWiki version 2.0.5 or later.

!使い方(Usage)
新しいtiddlerに、このtiddlerの内容をコピーし、タグに'systemConfig'を付けて保存し、再読み込みします。TiddlyWikiがバージョン2.1以降であればImportTiddlers(取り込み)機能も使えます。
Create new tiddler, copy this contents, put a tag 'systemConfig', save and reload. You can use "ImportTiddlers" function if your TiddlyWiki version is 2.1 or later.

!履歴(History)
* 2006 Apr 22, version 0.1.0 test release
* 2007 Jan 10, version 0.2.0 release
**ブラウザ判別を改良

!注意(Notes)
このパッチは日本語WindowsとFirefoxの環境以外では意味ありません。
This patch have an effect only for Firefox and Windows/Japanese environment.

!参考(References)
[[XULPlanet.com: Interface Reference - nsIUTF8ConverterService|http://xulplanet.com/references/xpcomref/ifaces/nsIUTF8ConverterService.html]]
[[XulPlanet-JP: XUL チュートリアル - XPCOM インターフェース|http://xul-app.hp.infoseek.co.jp/xultu-janit/xpcom.html]]
[[ブラウザ判別では"Gecko"を調べてください - Web標準普及プロジェクト|http://www.mozilla.gr.jp/standards/webtips1005.html]]
and TiddlyWiki source code.

!Code
***/
/*{{{*/
javascript:(
 function() {
 if(navigator) {
 if(navigator.userAgent) {
 if(navigator.userAgent.indexOf("Gecko/") != -1 && navigator.userAgent.indexOf("Windows") != -1) {
 var orig_getLocalPath = getLocalPath;
 getLocalPath = hook_getLocalPath;
 }
 }
 }

 function hook_getLocalPath(originalPath) {
 if (orig_getLocalPath == undefined) {
 return originalPath;
 }
 return orig_getLocalPath(mozConvertSJISURIToUTF8(originalPath));
 }

 function mozConvertSJISURIToUTF8(s) {
 if (orig_getLocalPath == undefined) {
 return s;
 }
 try {
 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
 }
 catch(e) {
 return s;
 }
 var cvtsv = Components.classes["@mozilla.org/intl/utf8converterservice;1"].getService(Components.interfaces.nsIUTF8ConverterService);
 var u = cvtsv.convertURISpecToUTF8(s, "Shift_JIS");
 return u;
 }

 }
)();
/*}}}*/
プラグイン一覧
*[[ネットワーク共有で保存Patch|TBSaveNWPathPatch]]
*[[コードフォーマットMacro|TBCodeFormatMacro]]
*[[排他制御Plugin|TBExclusiveLockPlugin]]

~~[[管理用]]~~
----
^^~TiddlyWiki version <<version>>
(c) 2007 [[UnaMesa|http://www.unamesa.org/]]^^
Type the text for [[contentFooter]]
[[MainMenu]]
[[TranslatedGettingStarted]]