/***
|Name|CalendarPlugin|
|Source|http://www.TiddlyTools.com/#CalendarPlugin|
|Version|0.0.0|
|Author|SteveRumsby|
|License|unknown|
|~CoreVersion|2.1|
|Type|plugin|
|Requires||
|Overrides||
|Description|monthly and yearly calendars|
// // updated by Jeremy Sheeley to add cacheing for reminders
// // see http://www.geocities.com/allredfaq/reminderMacros.html
// // ''Changes by ELS 2006.08.23:''
// // added handling for weeknumbers (code supplied by Martin Budden. see "wn**" comment marks)
// // ''Changes by ELS 2005.10.30:''
// // config.macros.calendar.handler()
// // ^^use "tbody" element for IE compatibility^^
// // ^^IE returns 2005 for current year, FF returns 105... fix year adjustment accordingly^^
// // createCalendarDays()
// // ^^use showDate() function (if defined) to render autostyled date with linked popup^^
// // calendar stylesheet definition
// // ^^use .calendar class-specific selectors, add text centering and margin settings^^
!!!!!Configuration:
<<option chkDisplayWeekNumbers>> Display week numbers //(note: Monday will be used as the start of the week)//
|''First day of week:''|<<option txtCalFirstDay>>|(Monday = 0, Sunday = 6)|
|''First day of weekend:''|<<option txtCalStartOfWeekend>>|(Monday = 0, Sunday = 6)|
!!!!!Syntax:
|{{{<<calendar>>}}}|Produce a full-year calendar for the current year|
|{{{<<calendar year>>}}}|Produce a full-year calendar for the given year|
|{{{<<calendar year month>>}}}|Produce a one-month calendar for the given month and year|
|{{{<<calendar thismonth>>}}}|Produce a one-month calendar for the current month|
|{{{<<calendar lastmonth>>}}}|Produce a one-month calendar for last month|
|{{{<<calendar nextmonth>>}}}|Produce a one-month calendar for next month|
***/
// //Modify this section to change the text displayed for the month and day names, to a different language for example. You can also change the format of the tiddler names linked to from each date, and the colours used.
//{{{
config.macros.calendar = {};
//config.macros.calendar.monthnames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
//config.macros.calendar.daynames = ["M", "T", "W", "T", "F", "S", "S"];
config.macros.calendar.monthnames = ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"];
config.macros.calendar.daynames = ["月", "火", "水", "木", "金", "土", "日"];
config.macros.calendar.weekendbg = "#c0c0c0";
config.macros.calendar.monthbg = "#e0e0e0";
config.macros.calendar.holidaybg = "#ffc0c0";
//}}}
// //''Code section:''
// (you should not need to alter anything below here)//
//{{{
if(config.options.txtCalFirstDay == undefined)
config.options.txtCalFirstDay = 0;
if(config.options.txtCalStartOfWeekend == undefined)
config.options.txtCalStartOfWeekend = 5;
if(config.options.chkDisplayWeekNumbers == undefined)//wn**
config.options.chkDisplayWeekNumbers = false;
if(config.options.chkDisplayWeekNumbers)
config.options.txtCalFirstDay = 0;
//config.macros.calendar.tiddlerformat = "0DD/0MM/YYYY"; // This used to be changeable - for now, it isn't// <<smiley :-(>>
//config.macros.calendar.tiddlerformat = "YYYY年MM月DD日";
config.macros.calendar.tiddlerformat = "YYYY.0MM.0DD";
version.extensions.calendar = { major: 0, minor: 6, revision: 0, date: new Date(2006, 1, 22)};
config.macros.calendar.monthdays = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
config.macros.calendar.holidays = [ ]; // Not sure this is required anymore - use reminders instead
//}}}
// //Is the given date a holiday?
//{{{
function calendarIsHoliday(date)
{
var longHoliday = date.formatString("0DD/0MM/YYYY");
var shortHoliday = date.formatString("0DD/0MM");
for(var i = 0; i < config.macros.calendar.holidays.length; i++) {
if(config.macros.calendar.holidays[i] == longHoliday || config.macros.calendar.holidays[i] == shortHoliday) {
return true;
}
}
return false;
}
//}}}
// //The main entry point - the macro handler.
// //Decide what sort of calendar we are creating (month or year, and which month or year)
// // Create the main calendar container and pass that to sub-ordinate functions to create the structure.
// ELS 2005.10.30: added creation and use of "tbody" for IE compatibility and fixup for year >1900//
// ELS 2005.10.30: fix year calculation for IE's getYear() function (which returns '2005' instead of '105')//
// ELS 2006.05.29: add journalDateFmt handling//
//{{{
config.macros.calendar.handler = function(place,macroName,params)
{
var calendar = createTiddlyElement(place, "table", null, "calendar", null);
var tbody = createTiddlyElement(calendar, "tbody", null, null, null);
var today = new Date();
var year = today.getYear();
if (year<1900) year+=1900;
// get format for journal link by reading from SideBarOptions (ELS 5/29/06 - based on suggestion by Martin Budden)
var text = store.getTiddlerText("SideBarOptions");
this.journalDateFmt = "DD-MMM-YYYY";
var re = new RegExp("<<(?:newJournal)([^>]*)>>","mg"); var fm = re.exec(text);
if (fm && fm[1]!=null) { var pa=fm[1].readMacroParams(); if (pa[0]) this.journalDateFmt = pa[0]; }
if (params[0] == "thismonth")
{
cacheReminders(new Date(year, today.getMonth(), 1, 0, 0), 31);
createCalendarOneMonth(tbody, year, today.getMonth());
}
else if (params[0] == "lastmonth") {
var month = today.getMonth()-1; if (month==-1) { month=11; year--; }
cacheReminders(new Date(year, month, 1, 0, 0), 31);
createCalendarOneMonth(tbody, year, month);
}
else if (params[0] == "nextmonth") {
var month = today.getMonth()+1; if (month>11) { month=0; year++; }
cacheReminders(new Date(year, month, 1, 0, 0), 31);
createCalendarOneMonth(tbody, year, month);
}
else {
if (params[0]) year = params[0];
if(params[1])
{
cacheReminders(new Date(year, params[1]-1, 1, 0, 0), 31);
createCalendarOneMonth(tbody, year, params[1]-1);
}
else
{
cacheReminders(new Date(year, 0, 1, 0, 0), 366);
createCalendarYear(tbody, year);
}
}
window.reminderCacheForCalendar = null;
}
//}}}
//{{{
//This global variable is used to store reminders that have been cached
//while the calendar is being rendered. It will be renulled after the calendar is fully rendered.
window.reminderCacheForCalendar = null;
//}}}
//{{{
function cacheReminders(date, leadtime)
{
if (window.findTiddlersWithReminders == null)
return;
window.reminderCacheForCalendar = {};
var leadtimeHash = [];
leadtimeHash [0] = 0;
leadtimeHash [1] = leadtime;
var t = findTiddlersWithReminders(date, leadtimeHash, null, 1);
for(var i = 0; i < t.length; i++) {
//just tag it in the cache, so that when we're drawing days, we can bold this one.
window.reminderCacheForCalendar[t[i]["matchedDate"]] = "reminder:" + t[i]["params"]["title"];
}
}
//}}}
//{{{
function createCalendarOneMonth(calendar, year, mon)
{
var row = createTiddlyElement(calendar, "tr", null, null, null);
createCalendarMonthHeader(calendar, row, config.macros.calendar.monthnames[mon] + " " + year, true, year, mon);
row = createTiddlyElement(calendar, "tr", null, null, null);
createCalendarDayHeader(row, 1);
createCalendarDayRowsSingle(calendar, year, mon);
}
//}}}
//{{{
function createCalendarMonth(calendar, year, mon)
{
var row = createTiddlyElement(calendar, "tr", null, null, null);
createCalendarMonthHeader(calendar, row, config.macros.calendar.monthnames[mon] + " " + year, false, year, mon);
row = createTiddlyElement(calendar, "tr", null, null, null);
createCalendarDayHeader(row, 1);
createCalendarDayRowsSingle(calendar, year, mon);
}
//}}}
//{{{
function createCalendarYear(calendar, year)
{
var row;
row = createTiddlyElement(calendar, "tr", null, null, null);
var back = createTiddlyElement(row, "td", null, null, null);
var backHandler = function() {
removeChildren(calendar);
createCalendarYear(calendar, year-1);
};
createTiddlyButton(back, "<", "Previous year", backHandler);
back.align = "center";
var yearHeader = createTiddlyElement(row, "td", null, "calendarYear", year);
yearHeader.align = "center";
//yearHeader.setAttribute("colSpan", 19);
yearHeader.setAttribute("colSpan",config.options.chkDisplayWeekNumbers?22:19);//wn**
var fwd = createTiddlyElement(row, "td", null, null, null);
var fwdHandler = function() {
removeChildren(calendar);
createCalendarYear(calendar, year+1);
};
createTiddlyButton(fwd, ">", "Next year", fwdHandler);
fwd.align = "center";
createCalendarMonthRow(calendar, year, 0);
createCalendarMonthRow(calendar, year, 3);
createCalendarMonthRow(calendar, year, 6);
createCalendarMonthRow(calendar, year, 9);
}
//}}}
//{{{
function createCalendarMonthRow(cal, year, mon)
{
var row = createTiddlyElement(cal, "tr", null, null, null);
createCalendarMonthHeader(cal, row, config.macros.calendar.monthnames[mon], false, year, mon);
createCalendarMonthHeader(cal, row, config.macros.calendar.monthnames[mon+1], false, year, mon);
createCalendarMonthHeader(cal, row, config.macros.calendar.monthnames[mon+2], false, year, mon);
row = createTiddlyElement(cal, "tr", null, null, null);
createCalendarDayHeader(row, 3);
createCalendarDayRows(cal, year, mon);
}
//}}}
//{{{
function createCalendarMonthHeader(cal, row, name, nav, year, mon)
{
var month;
if(nav) {
var back = createTiddlyElement(row, "td", null, null, null);
back.align = "center";
back.style.background = config.macros.calendar.monthbg;
/*
back.setAttribute("colSpan", 2);
var backYearHandler = function() {
var newyear = year-1;
removeChildren(cal);
cacheReminders(new Date(newyear, mon , 1, 0, 0), 31);
createCalendarOneMonth(cal, newyear, mon);
};
createTiddlyButton(back, "<<", "Previous year", backYearHandler);
*/
var backMonHandler = function() {
var newyear = year;
var newmon = mon-1;
if(newmon == -1) { newmon = 11; newyear = newyear-1;}
removeChildren(cal);
cacheReminders(new Date(newyear, newmon , 1, 0, 0), 31);
createCalendarOneMonth(cal, newyear, newmon);
};
createTiddlyButton(back, "<", "Previous month", backMonHandler);
month = createTiddlyElement(row, "td", null, "calendarMonthname", name)
// month.setAttribute("colSpan", 3);
// month.setAttribute("colSpan", 5);
month.setAttribute("colSpan", config.options.chkDisplayWeekNumbers?6:5);//wn**
var fwd = createTiddlyElement(row, "td", null, null, null);
fwd.align = "center";
fwd.style.background = config.macros.calendar.monthbg;
// fwd.setAttribute("colSpan", 2);
var fwdMonHandler = function() {
var newyear = year;
var newmon = mon+1;
if(newmon == 12) { newmon = 0; newyear = newyear+1;}
removeChildren(cal);
cacheReminders(new Date(newyear, newmon , 1, 0, 0), 31);
createCalendarOneMonth(cal, newyear, newmon);
};
createTiddlyButton(fwd, ">", "Next month", fwdMonHandler);
/*
var fwdYear = createTiddlyElement(row, "td", null, null, null);
var fwdYearHandler = function() {
var newyear = year+1;
removeChildren(cal);
cacheReminders(new Date(newyear, mon , 1, 0, 0), 31);
createCalendarOneMonth(cal, newyear, mon);
};
createTiddlyButton(fwd, ">>", "Next year", fwdYearHandler);
*/
} else {
month = createTiddlyElement(row, "td", null, "calendarMonthname", name)
//month.setAttribute("colSpan", 7);
month.setAttribute("colSpan",config.options.chkDisplayWeekNumbers?8:7);//wn**
}
month.align = "center";
month.style.background = config.macros.calendar.monthbg;
}
//}}}
//{{{
function createCalendarDayHeader(row, num)
{
var cell;
for(var i = 0; i < num; i++) {
if (config.options.chkDisplayWeekNumbers) createTiddlyElement(row, "td");//wn**
for(var j = 0; j < 7; j++) {
var d = j + (config.options.txtCalFirstDay - 0);
if(d > 6) d = d - 7;
cell = createTiddlyElement(row, "td", null, null, config.macros.calendar.daynames[d]);
if(d == (config.options.txtCalStartOfWeekend-0) || d == (config.options.txtCalStartOfWeekend-0+1))
cell.style.background = config.macros.calendar.weekendbg;
}
}
}
//}}}
//{{{
function createCalendarDays(row, col, first, max, year, mon)
{
var i;
if (config.options.chkDisplayWeekNumbers){
if (first<=max) {
var ww = new Date(year,mon,first);
createTiddlyElement(row, "td", null, null, "w"+ww.getWeek());//wn**
}
else createTiddlyElement(row, "td", null, null, null);//wn**
}
for(i = 0; i < col; i++) {
createTiddlyElement(row, "td", null, null, null);
}
var day = first;
for(i = col; i < 7; i++) {
var d = i + (config.options.txtCalFirstDay - 0);
if(d > 6) d = d - 7;
var daycell = createTiddlyElement(row, "td", null, null, null);
var isaWeekend = ((d == (config.options.txtCalStartOfWeekend-0) || d == (config.options.txtCalStartOfWeekend-0+1))? true:false);
if(day > 0 && day <= max) {
var celldate = new Date(year, mon, day);
// ELS 2005.10.30: use <<date>> macro's showDate() function to create popup
if (window.showDate) {
showDate(daycell,celldate,"popup","DD",config.macros.calendar.journalDateFmt,true, isaWeekend); // ELS 5/29/06 - use journalDateFmt
} else {
if(isaWeekend) daycell.style.background = config.macros.calendar.weekendbg;
var title = celldate.formatString(config.macros.calendar.tiddlerformat);
if(calendarIsHoliday(celldate)) {
daycell.style.background = config.macros.calendar.holidaybg;
}
if(window.findTiddlersWithReminders == null) {
var link = createTiddlyLink(daycell, title, false);
link.appendChild(document.createTextNode(day));
} else {
var button = createTiddlyButton(daycell, day, title, onClickCalendarDate);
}
}
}
day++;
}
}
//}}}
// //We've clicked on a day in a calendar - create a suitable pop-up of options.
// //The pop-up should contain:
// // * a link to create a new entry for that date
// // * a link to create a new reminder for that date
// // * an <hr>
// // * the list of reminders for that date
//{{{
function onClickCalendarDate(e)
{
var button = this;
var date = button.getAttribute("title");
var dat = new Date(date.substr(6,4), date.substr(3,2)-1, date.substr(0, 2));
date = dat.formatString(config.macros.calendar.tiddlerformat);
var popup = createTiddlerPopup(this);
popup.appendChild(document.createTextNode(date));
var newReminder = function() {
var t = store.getTiddlers(date);
displayTiddler(null, date, 2, null, null, false, false);
if(t) {
document.getElementById("editorBody" + date).value += "\n<<reminder day:" + dat.getDate() +
" month:" + (dat.getMonth()+1) +
" year:" + (dat.getYear()+1900) + " title: >>";
} else {
document.getElementById("editorBody" + date).value = "<<reminder day:" + dat.getDate() +
" month:" + (dat.getMonth()+1) +
" year:" + (dat.getYear()+1900) + " title: >>";
}
};
var link = createTiddlyButton(popup, "New reminder", null, newReminder);
popup.appendChild(document.createElement("hr"));
var t = findTiddlersWithReminders(dat, [0,14], null, 1);
for(var i = 0; i < t.length; i++) {
link = createTiddlyLink(popup, t[i].tiddler, false);
link.appendChild(document.createTextNode(t[i].tiddler));
}
}
//}}}
//{{{
function calendarMaxDays(year, mon)
{
var max = config.macros.calendar.monthdays[mon];
if(mon == 1 && (year % 4) == 0 && ((year % 100) != 0 || (year % 400) == 0)) {
max++;
}
return max;
}
//}}}
//{{{
function createCalendarDayRows(cal, year, mon)
{
var row = createTiddlyElement(cal, "tr", null, null, null);
var first1 = (new Date(year, mon, 1)).getDay() -1 - (config.options.txtCalFirstDay-0);
if(first1 < 0) first1 = first1 + 7;
var day1 = -first1 + 1;
var first2 = (new Date(year, mon+1, 1)).getDay() -1 - (config.options.txtCalFirstDay-0);
if(first2 < 0) first2 = first2 + 7;
var day2 = -first2 + 1;
var first3 = (new Date(year, mon+2, 1)).getDay() -1 - (config.options.txtCalFirstDay-0);
if(first3 < 0) first3 = first3 + 7;
var day3 = -first3 + 1;
var max1 = calendarMaxDays(year, mon);
var max2 = calendarMaxDays(year, mon+1);
var max3 = calendarMaxDays(year, mon+2);
while(day1 <= max1 || day2 <= max2 || day3 <= max3) {
row = createTiddlyElement(cal, "tr", null, null, null);
createCalendarDays(row, 0, day1, max1, year, mon); day1 += 7;
createCalendarDays(row, 0, day2, max2, year, mon+1); day2 += 7;
createCalendarDays(row, 0, day3, max3, year, mon+2); day3 += 7;
}
}
//}}}
//{{{
function createCalendarDayRowsSingle(cal, year, mon)
{
var row = createTiddlyElement(cal, "tr", null, null, null);
var first1 = (new Date(year, mon, 1)).getDay() -1 - (config.options.txtCalFirstDay-0);
if(first1 < 0) first1 = first1+ 7;
var day1 = -first1 + 1;
var max1 = calendarMaxDays(year, mon);
while(day1 <= max1) {
row = createTiddlyElement(cal, "tr", null, null, null);
createCalendarDays(row, 0, day1, max1, year, mon); day1 += 7;
}
}
//}}}
// //ELS 2005.10.30: added styles
//{{{
setStylesheet(".calendar, .calendar table, .calendar th, .calendar tr, .calendar td { text-align:center; } .calendar, .calendar a { margin:0px !important; padding:0px !important; }", "calendarStyles");
//}}}
/***
|''Name:''|JapaneseTranslation|
|''Description:''|Japanese translation of TiddlyWiki messages<br>based on [[here|http://hsj.jp/works/2005/08/08/tiddlywiki_1.html]]|
|''Version:''|1.0.1|
|''Date:''|Nov 15, 2006|
|''Source:''|http://www.geocities.jp/wikistyle/#JapaneseTranslation|
|''Author:''|style|
|''License:''|BSD open source license|
|''~CoreVersion:''|2.1.0|
|''Browser:''||
***/
//{{{
if (config.options.txtUserName == "YourName")
merge(config.options,{txtUserName: "名無しさん"});
merge(config.messages,{
customConfigError: "プラグインロード中にエラーが発生しました。PluginManagerを参照してください",
pluginError: "Error: %0",
pluginDisabled: "'systemConfigDisable'タグにより無効に設定されています",
pluginForced: "'systemConfigForce'タグにより強制的に有効になっています",
pluginVersionError: "このプラグインを実行するためには新しいバージョンのTiddlyWikiが必要です",
nothingSelected: "先に対象を選択してください",
savedSnapshotError: "このTiddlyWikiファイルは正しく保存されていません。http://www.tiddlywiki.com/#DownloadSoftware を参照してください",
subtitleUnknown: "(不明)",
undefinedTiddlerToolTip: "'%0'という記事はありません",
shadowedTiddlerToolTip: "'%0'という記事はありませんが、システム用に予約されています",
tiddlerLinkTooltip: "%0 - %1, %2",
externalLinkTooltip: "(外部リンク) %0",
noTags: "タグの設定されていない記事",
notFileUrlError: "セーブ機能はローカルのTiddlyWikiファイルに対してのみ使用できます",
cantSaveError: "セーブに失敗しました。このブラウザが対応していないか(Firefox推奨)、ファイルのパス名に使用できない文字が含まれています",
invalidFileError: "元のファイル '%0' は正常なTiddlyWikiのファイルではありません",
backupSaved: "バックアップファイルを保存しました",
backupFailed: "バックアップファイルの保存に失敗しました",
rssSaved: "RSSフィードを保存しまし",
rssFailed: "RSSフィードの保存に失敗しました",
emptySaved: "空のテンプレートファイルを保存しました",
emptyFailed: "空のテンプレートファイルの保存に失敗しました",
mainSaved: "TiddlyWikiファイルを保存しました",
mainFailed: "TiddlyWikiファイルの保存に失敗しました。修正内容は保存されていません",
macroError: "マクロ実行時エラー: <<%0>>",
macroErrorDetails: "マクロ実行中にエラーが発生しました。<<%0>>:\n%1",
missingMacro: "そのようなマクロはありません",
overwriteWarning: "'%0'という記事はすでに存在します。OKを選択すると上書きします",
unsavedChangesWarning: "警告! 保存されていない変更が存在します。\n\nOKを選択:保存\nCancelを選択:編集内容を破棄",
confirmExit: "--------------------------------\n\n変更が保存されていません。このまま終了すると変更内容が失われます\n\n--------------------------------",
saveInstructions: "SaveChanges", // このタイトルのtiddlerを用意しておくと保存失敗時に自動的に表示される
unsupportedTWFormat: "TiddlyWikiでサポートされていないフォーマットです '%0'",
tiddlerSaveError: "セーブ時にエラーが発生しました '%0'",
tiddlerLoadError: "ロード時にエラーが発生しました '%0'",
wrongSaveFormat: "ストレージフォーマットはセーブできません '%0'. 標準フォーマットを使用してください",
invalidFieldName: "不正なフィールド名です %0",
fieldCannotBeChanged: "フィールド '%0' は変更できません"});
merge(config.messages.messageClose,{
text: "閉じる",
tooltip: "このメッセージエリアを閉じます"});
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 = ["日", "月", "火", "水", "木", "金", "土"];
merge(config.views.wikified.tag,{
labelNoTags: "タグはありません",
labelTags: "タグ: ",
openTag: "タグ '%0' を開く",
tooltip: "タグ'%0'の関連記事を表示します",
openAllText: "全て開く",
openAllTooltip: "これらの記事をすべて開きます",
popupNone: "タグ'%0'はこれ以外の記事には設定されていません"});
merge(config.views.wikified,{
defaultText: "'%0'は存在しません。ダブルクリックで作成できます",
defaultModifier: "(未定義)",
shadowModifier: "(システム)",
createdPrompt: "作成日"});
merge(config.views.editor,{
tagPrompt: "下段にはスペース区切りでタグ名を入力します。スペースを含むタグ名は[[括弧で 囲みます]]。また、既存タグ名からの選択も可能です。»",
defaultText: "'%0'の内容を入力してください"});
merge(config.views.editor.tagChooser,{
text: "タグ",
tooltip: "既存のタグから追加するものを選択してください",
popupNone: "タグが設定されていません",
tagTooltip: "タグ'%0'を追加します"});
merge(config.macros.search,{
label: "検索",
prompt: "このTiddlyWiki内を検索します",
accessKey: "F",
successMsg: "%0 件見つかりました。- %1",
failureMsg: "%0 に該当する記事はありません"});
merge(config.macros.tagging,{
label: "タグ",
labelNotTag: "タグなし",
tooltip: "タグ'%0'のついた記事一覧"});
merge(config.macros.timeline,{
dateFormat: "YYYY年MM月DD日"});
merge(config.macros.allTags,{
tooltip: "タグ'%0'のついた記事を全て表示します",
noTags: "タグが設定されていません"});
config.macros.list.all.prompt = "アルファベット順の記事一覧";
config.macros.list.missing.prompt = "存在しない記事一覧";
config.macros.list.orphans.prompt = "リンクされていない記事一覧";
config.macros.list.shadowed.prompt = "システム設定用記事一覧";
merge(config.macros.closeAll,{
label: "全て閉じる",
prompt: "編集中以外の全ての記事を閉じます"});
merge(config.macros.permaview,{
label: "ビューのURL",
prompt: "現在の表示状態を示すURLをアドレス欄に表示します"});
merge(config.macros.saveChanges,{
label: "保存",
prompt: "すべての記事を保存します",
accessKey: "S"});
merge(config.macros.newTiddler,{
label: "新規作成",
prompt: "新しい記事を作成します",
title: "新規記事",
accessKey: "N"});
merge(config.macros.newJournal,{
label: "新規日記",
prompt: "新しい記事を現在の日付をタイトルとして作成します",
accessKey: "J"});
merge(config.macros.plugins,{
skippedText: "(無効:追加後にリロードされていません)",
noPluginText: "プラグインがひとつもインストールされていません",
confirmDeleteText: "本当にこれらの記事を削除しますか?:\n\n%0",
listViewTemplate : {
columns: [
{name: 'Selected', field: 'Selected', rowName: 'title', type: 'Selector'},
{name: 'Title', field: 'title', tiddlerLink: 'title', title: "タイトル", type: 'TiddlerLink'},
{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: "済", falseText: "未"},
{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'}
],
actions: [
{caption: "(処理の選択)", name: ''},
{caption: "指定記事からsystemConfigタグを削除", name: 'remove'},
{caption: "指定記事を永久に削除", name: 'delete'}
]}
});
merge(config.macros.refreshDisplay,{
label: "再描画",
prompt: "TiddlyWiki画面を再描画します"
});
merge(config.macros.importTiddlers,{
defaultPath: "http://www.tiddlywiki.com/index.html",
fetchLabel: "記事一覧取得",
fetchPrompt: "指定したTiddlyWikiファイルから記事一覧を取得します",
fetchError: "記事一覧取得処理中にエラーが発生しました",
confirmOverwriteText: "記事の内容を上書きしますか?:\n\n%0",
wizardTitle: "記事のインポート",
step1: "ステップ1: インポート元TiddlyWikiファイルの指定",
step1prompt: "URLまたはパス名の入力: ",
step1promptFile: "またはファイル参照: ",
step1promptFeeds: "または定義済フィードから選択: ",
step1feedPrompt: "(選択)",
step2: "ステップ2: TiddlyWikiファイルの読み込み",
step2Text: "ファイルを読み込んでいます。しばらくお待ちください: %0",
step3: "ステップ3: インポート対象記事の選択",
step4: "%0 個の記事がインポートされました",
step5: "インポート完了",
listViewTemplate: {
columns: [
{name: 'Selected', field: 'Selected', rowName: 'title', type: 'Selector'},
{name: 'Title', field: 'title', title: "タイトル", type: 'String'},
{name: 'Snippet', field: 'text', title: "内容", type: 'String'},
{name: 'Tags', field: 'tags', title: "タグ", type: 'Tags'}
],
rowClasses: [
],
actions: [
{caption: "(処理の選択)", name: ''},
{caption: "マークした記事をインポートする", name: 'import'}
]}
});
merge(config.commands.closeTiddler,{
text: "閉じる",
tooltip: "この記事を閉じます"});
merge(config.commands.closeOthers,{
text: "他を閉じる",
tooltip: "この記事以外を全て閉じます"});
merge(config.commands.editTiddler,{
text: "編集",
tooltip: "この記事を編集します",
readOnlyText: "表示",
readOnlyTooltip: "この記事のソースを表示します"});
merge(config.commands.saveTiddler,{
text: "決定",
tooltip: "編集内容を確定します"});
merge(config.commands.cancelTiddler,{
text: "取消",
tooltip: "編集内容を破棄します",
warning: "編集内容を破棄しますか '%0'?",
readOnlyText: "終了",
readOnlyTooltip: "通常表示に戻ります"});
merge(config.commands.deleteTiddler,{
text: "削除",
tooltip: "この記事を削除します",
warning: "本当にこの記事を削除しますか '%0'?"});
merge(config.commands.permalink,{
text: "記事のURL",
tooltip: "この記事を示すURLをアドレス欄に表示します"});
merge(config.commands.references,{
text: "リンク元",
tooltip: "この記事にリンクしている記事一覧を表示します",
popupNone: "リンクされていません"});
merge(config.commands.jump,{
text: "ジャンプ",
tooltip: "表示中の他の記事へ移動します"});
merge(config.shadowTiddlers,{
DefaultTiddlers: "GettingStarted",
MainMenu: "GettingStarted",
SiteTitle: "My TiddlyWiki",
SiteSubtitle: "a reusable non-linear personal web notebook",
SiteUrl: "http://www.tiddlywiki.com/",
GettingStarted: "TiddlyWikiを開始するためには、まず以下のシステム設定用記事を編集してください:\n*SiteTitleとSiteSubtitle: このページのタイトル、サブタイトル。また、セーブ後はブラウザのタイトルバーにも表示されます。\n*MainMenu: 通常左側に表示されるメインメニュー\n*DefaultTiddlers: このTiddlyWikiを開いたときに最初に表示する記事。\n署名として使用するあなたの名前を入力してください:<<option txtUserName>>",
SideBarOptions: "<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal 'YYYY年MM月DD日'>><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel '設定 »' 'Change TiddlyWiki advanced options'>>",
OptionsPanel: "これらのインタフェース設定はご使用のブラウザ内に保存されます。\n\n署名として使用するあなたの名前をWikiWord形式(例 JoeBloggs)で入力してください。\n\n<<option txtUserName>>\n<<option chkSaveBackups>> バックアップ取得\n<<option chkAutoSave>> 自動保存\n<<option chkRegExpSearch>> 正規表現による検索\n<<option chkCaseSensitiveSearch>> 英文字大小区別検索\n<<option chkAnimate>> アニメーション\n\n----\n[[詳細設定|AdvancedOptions]]\n[[プラグインマネージャ|PluginManager]]\n[[記事のインポート|ImportTiddlers]]",
AdvancedOptions: "<<option chkGenerateAnRssFeed>> RSSフィード生成\n<<option chkOpenInNewWindow>> 新しいウィンドウでリンクを開く\n<<option chkSaveEmptyTemplate>> 空のテンプレートファイル(empty.html)を保存する\n<<option chkToggleLinks>> 既に開いている記事をクリックした時に閉じる\n^^(Ctrl+クリック等のキーアサインを変更します)^^\n<<option chkHttpReadOnly>> HTTP経由でのアクセス時に編集機能を隠す\n<<option chkForceMinorUpdate>> マイナーチェンジモードをデフォルトとする\n^^(Shift+'決定'やCtrl-Shift-Enterのキーアサインを変更します)^^\n<<option chkConfirmDelete>> 削除前に確認する\n記事編集エディットボックスの高さ: <<option txtMaxEditRows>>\nバックアップ保存用フォルダ: <<option txtBackupFolder>>\n<<option chkInsertTabs>> タブキーをタブ文字入力用に使用する(デフォルトではフィールド移動)",
SideBarTabs: "<<tabs txtMainTab '更新順' '更新順に表示する' TabTimeline '全て' '全ての記事一覧' TabAll 'タグ' 'タグ一覧' TabTags 'その他' 'その他の記事' TabMore>>",
TabTimeline: "<<timeline>>",
TabAll: "<<list all>>",
TabTags: "<<allTags>>",
TabMore: "<<tabs txtMoreTab '未定義' 'リンクされているが存在しない記事一覧' TabMoreMissing '未参照' 'どこからもリンクされていない記事一覧' TabMoreOrphans 'システム' 'システム設定用記事一覧' TabMoreShadowed>>",
TabMoreMissing: "<<list missing>>",
TabMoreOrphans: "<<list orphans>>",
TabMoreShadowed: "<<list shadowed>>",
PluginManager: "<<plugins>>",
ImportTiddlers: "<<importTiddlers>>"});
//-----------------------------------------
merge(config.shadowTiddlers, {
ViewTemplate: "<!--{{{-->\n<div class='toolbar' macro='toolbar closeTiddler closeOthers +editTiddler permalink references jump'></div>\n<div class='title' macro='view title'></div>\n<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date [[YYYY年0MM月0DD日]]'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date [[YYYY年0MM月0DD日]]'></span>)</div>\n<div class='tagging' macro='tagging'></div>\n<div class='tagged' macro='tags'></div>\n<div class='viewer' macro='view text wikified'></div>\n<div class='tagClear'></div>\n<!--}}}-->"});
//}}}