選択したタブをひとつのツリーにまとめる機能を追加

git-svn-id: http://www.cozmixng.org/repos/piro/treestyletab/trunk@4786 599a83e7-65a4-db11-8015-0010dcdd6dc2
This commit is contained in:
piro 2009-07-23 15:34:28 +00:00
parent e77b600579
commit 3cb53596ac
14 changed files with 140 additions and 61 deletions

View File

@ -1,8 +1,10 @@
<?xml-stylesheet type="text/css" href="chrome://global/skin/"?>
<?xml-stylesheet type="text/css" href="chrome://treestyletab/skin/group.css"?>
<!DOCTYPE page SYSTEM "chrome://treestyletab/locale/treestyletab.dtd">
<page xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
onclick="onClick(event)"
ondblclick="onDblClick(event)">
ondblclick="onDblClick(event)"
title="&group.default;">
<stack flex="1">
<box class="background-image-container">
<image class="icon background-image"/>
@ -13,13 +15,16 @@
<image class="icon"/>
<label id="label"
flex="1"
crop="end"/>
crop="end"
value="&group.default;"
tooltiptext="&group.default;"/>
</hbox>
<hbox align="center">
<image class="icon"/>
<textbox id="editor"
flex="1"
onkeypress="onKeyPress(event)"/>
onkeypress="onKeyPress(event)"
value="&group.default;"/>
</hbox>
</deck>
</vbox>
@ -39,7 +44,7 @@ function trim(aString)
}
var title = location.href.split('?')[1];
if (title) {
if (location.href.indexOf('?') > -1 && title) {
title = trim(decodeURIComponent(title));
document.title = title;
document.documentElement.setAttribute('title', title);

View File

@ -6,11 +6,17 @@
<preference id="extensions.multipletab.show.multipletab-selection-item-removeTabSubTree"
name="extensions.multipletab.show.multipletab-selection-item-removeTabSubTree"
type="bool"/>
<preference id="extensions.multipletab.show.multipletab-selection-item-createSubTree"
name="extensions.multipletab.show.multipletab-selection-item-createSubTree"
type="bool"/>
</preferences>
<vbox id="prefpane-selection-menu-items">
<checkbox id="extensions.multipletab.show.multipletab-selection-item-removeTabSubTree-check"
preference="extensions.multipletab.show.multipletab-selection-item-removeTabSubTree"
label="&selection.removeTabSubTree.label;"/>
<checkbox id="extensions.multipletab.show.multipletab-selection-item-createSubTree-check"
preference="extensions.multipletab.show.multipletab-selection-item-createSubTree"
label="&selection.createSubTree.label;"/>
</vbox>
</overlay>

View File

@ -731,7 +731,7 @@ var TreeStyleTabService = {
getGroupTabURI : function(aTitle)
{
return 'about:treestyletab-group?'+encodeURIComponent(aTitle);
return 'about:treestyletab-group'+(aTitle === void(0) ? '' : '?'+encodeURIComponent(aTitle) );
},
/* get tab(s) */
@ -2264,6 +2264,24 @@ catch(e) {
}
},
createSubTree : function(aTabs)
{
if (!aTabs || !aTabs.length) return;
aTabs = this.cleanUpTabsArray(aTabs);
var b = this.getTabBrowserFromChild(aTabs[0]);
var root = b.addTab(this.getGroupTabURI());
aTabs.forEach(function(aTab) {
var parent = aTab;
while (parent = this.getParentTab(parent))
{
if (aTabs.indexOf(parent) > -1) return;
}
b.treeStyleTab.attachTabTo(aTab, root);
}, this);
},
bookmarkTabSubTree : function(aTabOrTabs)
{
var tabs = aTabOrTabs;

View File

@ -44,6 +44,11 @@
label="&selection.removeTabSubTree.label;"
accesskey="&selection.removeTabSubTree.accesskey;"
oncommand="TreeStyleTabService.removeTabSubTree(MultipleTabService.getSelectedTabs());"/>
<menuitem id="multipletab-selection-item-createSubTree"
insertafter="multipletab-selection-splitWindow"
label="&selection.createSubTree.label;"
accesskey="&selection.createSubTree.accesskey;"
oncommand="TreeStyleTabService.createSubTree(MultipleTabService.getSelectedTabs());"/>
</menupopup>
<stringbundleset id="stringbundleset">

View File

@ -116,6 +116,7 @@ pref("browser.tabs.loadFolderAndReplace.override", false);
pref("extensions.multipletab.show.multipletab-selection-item-removeTabSubTree", true);
pref("extensions.multipletab.show.multipletab-selection-item-createSubTree", true);
pref("extensions.treestyletab.TMP.doNotUpdate.isTabVisible", false);

View File

@ -142,6 +142,9 @@
<!ENTITY selection.removeTabSubTree.label "Ausgewählte Zweige schließen">
<!ENTITY selection.removeTabSubTree.accesskey "s">
<!ENTITY selection.createSubTree.label "Gather to a New Tree">
<!ENTITY selection.createSubTree.accesskey "g">
<!ENTITY context.reloadTabSubTree.label "Diesen Zweig neu laden">
<!ENTITY context.reloadTabSubTree.accesskey "r">
<!ENTITY context.reloadDescendantTabs.label "Untergeordnete Tabs neu laden">
@ -164,3 +167,5 @@
<!ENTITY context.tabbarPosition.accesskey "p">
<!ENTITY context.bookmarkTabSubTree.label "Zweig als Lesezeichen speichern">
<!ENTITY context.bookmarkTabSubTree.accesskey "t">
<!ENTITY group.default "New Group">

View File

@ -16,7 +16,7 @@
<!ENTITY config.tabbar.invertTab "Invert tab appearance">
<!ENTITY config.tabbar.invertTabContents "Invert tab contents">
<!ENTITY config.enableSubtreeIndent "Indent tabs">
<!ENTITY config.allowSubtreeCollapseExpand "Allow to collapse/expand sub tree of tabs">
<!ENTITY config.allowSubtreeCollapseExpand "Allow to collapse/expand tree of tabs">
<!ENTITY config.tabbar.hideNewTabButton "Show &quot;Open a new tab&quot; button">
<!ENTITY config.tabbar.hideAlltabsButton "Show &quot;List all tabs&quot; button">
@ -59,7 +59,7 @@
<!ENTITY config.loadDroppedLinkToNewChildTab.newTab "Open link in a new child tab of the tab">
<!ENTITY config.openGroupBookmarkAsTabSubTree.caption "&quot;Open All in Tabs&quot; from bookmark folders">
<!ENTITY config.openGroupBookmarkAsTabSubTree.subtree "Open as a sub tree (Recommended)">
<!ENTITY config.openGroupBookmarkAsTabSubTree.subtree "Open as a tree (Recommended)">
<!ENTITY config.openGroupBookmarkAsTabSubTree.flat "Open as separate tabs (Firefox default)">
<!ENTITY config.openGroupBookmarkAsTabSubTree.flat.fx2 "Open as separate tabs">
<!ENTITY config.openGroupBookmarkAsTabSubTree.replace "Replace the current one tab with the pages in the folder">
@ -111,9 +111,9 @@
<!ENTITY config.autoCollapseExpandSubTreeOnSelect "When a tab gets focus, expand his tree and collapse others automatically">
<!ENTITY config.autoCollapseExpandSubTreeOnSelect.onCurrentTabRemove "Exclude focus moving caused by current tab closing">
<!ENTITY config.collapseExpandSubTree.dblclick "Collapse/Expand subtree of the tab by double-click">
<!ENTITY config.collapseExpandSubTree.dblclick "Collapse/Expand tree of the tab by double-click">
<!ENTITY config.autoExpandSubTreeOnAppendChild "Expand subtree automatically, when tabs are inserted into the subtree">
<!ENTITY config.autoExpandSubTreeOnAppendChild "Expand tree automatically, when tabs are inserted into the tree">
<!ENTITY config.closeParentBehavior.caption "When a parent tab is closed">
<!ENTITY config.closeParentBehavior.close "Close child tabs too">
@ -125,8 +125,8 @@
<!ENTITY config.focusMode "Focus to the next/previous tab even if it is invisible, by Control(Command)-Tab">
<!ENTITY config.insertNewChildAt.caption "Insertion position of new child tabs">
<!ENTITY config.insertNewChildAt.first "Insert to the top of the sub tree, as the first child">
<!ENTITY config.insertNewChildAt.last "Append to the last of the sub tree">
<!ENTITY config.insertNewChildAt.first "Insert to the top of the tree, as the first child">
<!ENTITY config.insertNewChildAt.last "Append to the last of the tree">
<!ENTITY config.useEffectiveTLD.caption "Detecting method for &quot;same website&quot;">
<!ENTITY config.useEffectiveTLD.enabled "by Domain (&quot;aaa.example.com&quot; and &quot;bbb.example.com&quot; are same websites)">
@ -136,30 +136,34 @@
<!ENTITY context.openSelectionLinks.label "Open Selection Links in Tabs">
<!ENTITY context.openSelectionLinks.accesskey "l">
<!ENTITY context.openSelectionLinks.label "Open Selection Links in Tabs">
<!ENTITY context.openSelectionLinks.accesskey "l">
<!ENTITY selection.createSubTree.label "Gather to a New Tree">
<!ENTITY selection.createSubTree.accesskey "g">
<!ENTITY selection.removeTabSubTree.label "Close Selected Trees">
<!ENTITY selection.removeTabSubTree.accesskey "s">
<!ENTITY context.reloadTabSubTree.label "Reload this Tree">
<!ENTITY context.reloadTabSubTree.accesskey "r">
<!ENTITY selection.removeTabSubTree.label "Close Selected Trees">
<!ENTITY selection.removeTabSubTree.accesskey "s">
<!ENTITY context.reloadTabSubTree.label "Reload this Tree">
<!ENTITY context.reloadTabSubTree.accesskey "r">
<!ENTITY context.reloadDescendantTabs.label "Reload Children">
<!ENTITY context.reloadDescendantTabs.accesskey "r">
<!ENTITY context.removeTabSubTree.label "Close this Tree">
<!ENTITY context.removeTabSubTree.accesskey "s">
<!ENTITY context.removeTabSubTree.label "Close this Tree">
<!ENTITY context.removeTabSubTree.accesskey "s">
<!ENTITY context.removeDescendantTabs.label "Close Children">
<!ENTITY context.removeDescendantTabs.accesskey "d">
<!ENTITY context.collapseAllSubtree.label "Collapse All Trees">
<!ENTITY context.collapseAllSubtree.accesskey "c">
<!ENTITY context.expandAllSubtree.label "Expand All Trees">
<!ENTITY context.expandAllSubtree.accesskey "e">
<!ENTITY context.toggleAutoHide.label "Auto hide tab bar">
<!ENTITY context.toggleAutoHide.accesskey "h">
<!ENTITY context.toggleFixed.label "Fix width/height of tab bar">
<!ENTITY context.toggleFixed.label.horizontal "Fix height of tab bar">
<!ENTITY context.toggleFixed.label.vertical "Fix width of tab bar">
<!ENTITY context.toggleFixed.accesskey "f">
<!ENTITY context.tabbarPosition.label "Position">
<!ENTITY context.tabbarPosition.accesskey "p">
<!ENTITY context.bookmarkTabSubTree.label "Bookmark this Tree...">
<!ENTITY context.bookmarkTabSubTree.accesskey "t">
<!ENTITY context.collapseAllSubtree.label "Collapse All Trees">
<!ENTITY context.collapseAllSubtree.accesskey "c">
<!ENTITY context.expandAllSubtree.label "Expand All Trees">
<!ENTITY context.expandAllSubtree.accesskey "e">
<!ENTITY context.toggleAutoHide.label "Auto hide tab bar">
<!ENTITY context.toggleAutoHide.accesskey "h">
<!ENTITY context.toggleFixed.label "Fix width/height of tab bar">
<!ENTITY context.toggleFixed.label.horizontal "Fix height of tab bar">
<!ENTITY context.toggleFixed.label.vertical "Fix width of tab bar">
<!ENTITY context.toggleFixed.accesskey "f">
<!ENTITY context.tabbarPosition.label "Position">
<!ENTITY context.tabbarPosition.accesskey "p">
<!ENTITY context.bookmarkTabSubTree.label "Bookmark this Tree...">
<!ENTITY context.bookmarkTabSubTree.accesskey "t">
<!ENTITY group.default "New Group">

View File

@ -143,6 +143,9 @@
<!ENTITY selection.removeTabSubTree.label "Cerrar árboles seleccionados">
<!ENTITY selection.removeTabSubTree.accesskey "s">
<!ENTITY selection.createSubTree.label "Gather to a New Tree">
<!ENTITY selection.createSubTree.accesskey "g">
<!ENTITY context.reloadTabSubTree.label "Reload this Tree">
<!ENTITY context.reloadTabSubTree.accesskey "r">
<!ENTITY context.reloadDescendantTabs.label "Reload Children">
@ -165,3 +168,5 @@
<!ENTITY context.tabbarPosition.accesskey "p">
<!ENTITY context.bookmarkTabSubTree.label "Añadir a marcadores este árbol...">
<!ENTITY context.bookmarkTabSubTree.accesskey "t">
<!ENTITY group.default "New Group">

View File

@ -143,6 +143,9 @@
<!ENTITY selection.removeTabSubTree.label "Chiudi i sottoalberi selezionati">
<!ENTITY selection.removeTabSubTree.accesskey "s">
<!ENTITY selection.createSubTree.label "Gather to a New Tree">
<!ENTITY selection.createSubTree.accesskey "g">
<!ENTITY context.reloadTabSubTree.label "Reload this Tree">
<!ENTITY context.reloadTabSubTree.accesskey "r">
<!ENTITY context.reloadDescendantTabs.label "Reload Children">
@ -165,3 +168,5 @@
<!ENTITY context.tabbarPosition.accesskey "p">
<!ENTITY context.bookmarkTabSubTree.label "Questo sottoalbero nei segnalibri...">
<!ENTITY context.bookmarkTabSubTree.accesskey "l">
<!ENTITY group.default "New Group">

View File

@ -16,7 +16,7 @@
<!ENTITY config.tabbar.invertTab "タブの表示を左右反転">
<!ENTITY config.tabbar.invertTabContents "タブの内容を左右反転">
<!ENTITY config.enableSubtreeIndent "タブをインデント表示する">
<!ENTITY config.allowSubtreeCollapseExpand "サブツリーを折りたためるようにする">
<!ENTITY config.allowSubtreeCollapseExpand "ツリーを折りたためるようにする">
<!ENTITY config.tabbar.hideNewTabButton "「新しいタブを開く」ボタンを表示する">
<!ENTITY config.tabbar.hideAlltabsButton "「タブの一覧を表示」ボタンを表示する">
@ -56,10 +56,10 @@
<!ENTITY config.loadDroppedLinkToNewChildTab.caption "リンクやURLをタブにドラッグドロップした時">
<!ENTITY config.loadDroppedLinkToNewChildTab.load "ドロップ先のタブの中に読み込むFirefox初期状態">
<!ENTITY config.loadDroppedLinkToNewChildTab.newTab "ドロップ先のタブのサブツリーに新しいタブを開く">
<!ENTITY config.loadDroppedLinkToNewChildTab.newTab "ドロップ先のタブのツリーに新しいタブを開く">
<!ENTITY config.openGroupBookmarkAsTabSubTree.caption "ブックマークフォルダの内容をタブで開く時の扱い">
<!ENTITY config.openGroupBookmarkAsTabSubTree.subtree "一つのサブツリーとして開く(推奨)">
<!ENTITY config.openGroupBookmarkAsTabSubTree.subtree "一つのツリーとして開く(推奨)">
<!ENTITY config.openGroupBookmarkAsTabSubTree.flat "ばらばらのタブとして開くFirefox初期状態">
<!ENTITY config.openGroupBookmarkAsTabSubTree.flat.fx2 "ばらばらのタブとして開く">
<!ENTITY config.openGroupBookmarkAsTabSubTree.replace "現在のタブ1つだけをブックマークの内容で置き換える">
@ -111,9 +111,9 @@
<!ENTITY config.autoCollapseExpandSubTreeOnSelect "タブを切り替えた時は、フォーカスされたタブのツリーを自動的に展開して、他のツリーを折り畳む">
<!ENTITY config.autoCollapseExpandSubTreeOnSelect.onCurrentTabRemove "現在のタブを閉じてタブのフォーカスが切り替わった場合は何もしない">
<!ENTITY config.collapseExpandSubTree.dblclick "タブのダブルクリックでサブツリーを開閉する">
<!ENTITY config.collapseExpandSubTree.dblclick "タブのダブルクリックでツリーを開閉する">
<!ENTITY config.autoExpandSubTreeOnAppendChild "折り畳まれたサブツリー内に子孫のタブが追加された時、サブツリーを自動的に展開する">
<!ENTITY config.autoExpandSubTreeOnAppendChild "折り畳まれたツリー内に子孫のタブが追加された時、ツリーを自動的に展開する">
<!ENTITY config.closeParentBehavior.caption "親のタブを閉じた時の挙動">
<!ENTITY config.closeParentBehavior.close "子孫のタブも一緒に閉じる">
@ -125,8 +125,8 @@
<!ENTITY config.focusMode "Control(Command)-Tabでタブを切り替える時、折りたたまれたタブにもフォーカスする">
<!ENTITY config.insertNewChildAt.caption "新しい子タブを開く位置">
<!ENTITY config.insertNewChildAt.first "サブツリーの最初の位置に挿入する">
<!ENTITY config.insertNewChildAt.last "サブツリーの末尾に追加する">
<!ENTITY config.insertNewChildAt.first "ツリーの最初の位置に挿入する">
<!ENTITY config.insertNewChildAt.last "ツリーの末尾に追加する">
<!ENTITY config.useEffectiveTLD.caption "同じサイトかどうかの判別方法">
<!ENTITY config.useEffectiveTLD.enabled "ドメイン名で判別するaaa.example.comとbbb.example.comを同じサイトと見なす">
@ -137,27 +137,32 @@
<!ENTITY context.openSelectionLinks.label "選択したリンクをすべてタブで開く">
<!ENTITY context.openSelectionLinks.accesskey "l">
<!ENTITY selection.removeTabSubTree.label "すべてのサブツリーを閉じる">
<!ENTITY selection.removeTabSubTree.accesskey "s">
<!ENTITY context.reloadTabSubTree.label "このサブツリーを再読み込み">
<!ENTITY context.reloadTabSubTree.accesskey "r">
<!ENTITY selection.removeTabSubTree.label "すべてのツリーを閉じる">
<!ENTITY selection.removeTabSubTree.accesskey "s">
<!ENTITY selection.createSubTree.label "ひとつのツリーに集める">
<!ENTITY selection.createSubTree.accesskey "g">
<!ENTITY context.reloadTabSubTree.label "このツリーを再読み込み">
<!ENTITY context.reloadTabSubTree.accesskey "r">
<!ENTITY context.reloadDescendantTabs.label "このタブの子タブをすべて再読み込み">
<!ENTITY context.reloadDescendantTabs.accesskey "r">
<!ENTITY context.removeTabSubTree.label "このサブツリーを閉じる">
<!ENTITY context.removeTabSubTree.accesskey "s">
<!ENTITY context.removeTabSubTree.label "このツリーを閉じる">
<!ENTITY context.removeTabSubTree.accesskey "s">
<!ENTITY context.removeDescendantTabs.label "このタブの子タブをすべて閉じる">
<!ENTITY context.removeDescendantTabs.accesskey "d">
<!ENTITY context.collapseAllSubtree.label "サブツリーをすべてたたむ">
<!ENTITY context.collapseAllSubtree.accesskey "c">
<!ENTITY context.expandAllSubtree.label "サブツリーをすべて展開する">
<!ENTITY context.expandAllSubtree.accesskey "e">
<!ENTITY context.toggleAutoHide.label "タブバーを自動的に隠す">
<!ENTITY context.toggleAutoHide.accesskey "h">
<!ENTITY context.toggleFixed.label "タブバーの幅/高さを固定">
<!ENTITY context.toggleFixed.label.horizontal "タブバーの高さを固定">
<!ENTITY context.toggleFixed.label.vertical "タブバーの幅を固定">
<!ENTITY context.toggleFixed.accesskey "f">
<!ENTITY context.tabbarPosition.label "タブバーの位置">
<!ENTITY context.tabbarPosition.accesskey "p">
<!ENTITY context.bookmarkTabSubTree.label "このサブツリーをブックマーク...">
<!ENTITY context.bookmarkTabSubTree.accesskey "t">
<!ENTITY context.collapseAllSubtree.label "ツリーをすべてたたむ">
<!ENTITY context.collapseAllSubtree.accesskey "c">
<!ENTITY context.expandAllSubtree.label "ツリーをすべて展開する">
<!ENTITY context.expandAllSubtree.accesskey "e">
<!ENTITY context.toggleAutoHide.label "タブバーを自動的に隠す">
<!ENTITY context.toggleAutoHide.accesskey "h">
<!ENTITY context.toggleFixed.label "タブバーの幅/高さを固定">
<!ENTITY context.toggleFixed.label.horizontal "タブバーの高さを固定">
<!ENTITY context.toggleFixed.label.vertical "タブバーの幅を固定">
<!ENTITY context.toggleFixed.accesskey "f">
<!ENTITY context.tabbarPosition.label "タブバーの位置">
<!ENTITY context.tabbarPosition.accesskey "p">
<!ENTITY context.bookmarkTabSubTree.label "このツリーをブックマーク...">
<!ENTITY context.bookmarkTabSubTree.accesskey "t">
<!ENTITY group.default "新しいグループ">

View File

@ -142,6 +142,9 @@
<!ENTITY selection.removeTabSubTree.label "Zamknij wybrane drzewa">
<!ENTITY selection.removeTabSubTree.accesskey "M">
<!ENTITY selection.createSubTree.label "Gather to a New Tree">
<!ENTITY selection.createSubTree.accesskey "g">
<!ENTITY context.reloadTabSubTree.label "Reload this Tree">
<!ENTITY context.reloadTabSubTree.accesskey "r">
<!ENTITY context.reloadDescendantTabs.label "Reload Children">
@ -164,3 +167,5 @@
<!ENTITY context.tabbarPosition.accesskey "E">
<!ENTITY context.bookmarkTabSubTree.label "Dodaj zakładki do tego drzewa…">
<!ENTITY context.bookmarkTabSubTree.accesskey "A">
<!ENTITY group.default "New Group">

View File

@ -143,6 +143,9 @@
<!ENTITY selection.removeTabSubTree.label "Закрыть выбранные деревья">
<!ENTITY selection.removeTabSubTree.accesskey "s">
<!ENTITY selection.createSubTree.label "Gather to a New Tree">
<!ENTITY selection.createSubTree.accesskey "g">
<!ENTITY context.reloadTabSubTree.label "Reload this Tree">
<!ENTITY context.reloadTabSubTree.accesskey "r">
<!ENTITY context.reloadDescendantTabs.label "Reload Children">
@ -164,4 +167,6 @@
<!ENTITY context.tabbarPosition.label "Позиция">
<!ENTITY context.tabbarPosition.accesskey "p">
<!ENTITY context.bookmarkTabSubTree.label "Добавить это дерево в закладки...">
<!ENTITY context.bookmarkTabSubTree.accesskey "t">
<!ENTITY context.bookmarkTabSubTree.accesskey "t">
<!ENTITY group.default "New Group">

View File

@ -142,6 +142,9 @@
<!ENTITY selection.removeTabSubTree.label "关闭所选的树">
<!ENTITY selection.removeTabSubTree.accesskey "s">
<!ENTITY selection.createSubTree.label "Gather to a New Tree">
<!ENTITY selection.createSubTree.accesskey "g">
<!ENTITY context.reloadTabSubTree.label "刷新所选的树">
<!ENTITY context.reloadTabSubTree.accesskey "r">
<!ENTITY context.reloadDescendantTabs.label "刷新子标签">
@ -164,3 +167,5 @@
<!ENTITY context.tabbarPosition.accesskey "p">
<!ENTITY context.bookmarkTabSubTree.label "将此树加入书签...">
<!ENTITY context.bookmarkTabSubTree.accesskey "t">
<!ENTITY group.default "New Group">

View File

@ -137,6 +137,9 @@
<!ENTITY selection.removeTabSubTree.label "關閉所有選取的樹">
<!ENTITY selection.removeTabSubTree.accesskey "s">
<!ENTITY selection.createSubTree.label "Gather to a New Tree">
<!ENTITY selection.createSubTree.accesskey "g">
<!ENTITY context.reloadTabSubTree.label "重新載入此樹">
<!ENTITY context.reloadTabSubTree.accesskey "r">
<!ENTITY context.reloadDescendantTabs.label "重新載入所有子分頁">
@ -159,3 +162,5 @@
<!ENTITY context.tabbarPosition.accesskey "p">
<!ENTITY context.bookmarkTabSubTree.label "此樹加入書籤...">
<!ENTITY context.bookmarkTabSubTree.accesskey "t">
<!ENTITY group.default "New Group">