//------------------------------------------------------------------------------
// Copyright (c) 2000, 2007 IBM Corporation and others.
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v1.0
// which accompanies this distribution, and is available at
// http://www.eclipse.org/legal/epl-v10.html
// 
// Contributors:
// IBM Corporation - initial implementation
//------------------------------------------------------------------------------

/* resource files for content page javascript 
 * this file should be localized
*/
ContentPageResource = function() {


this.expandAllText = "セクションをすべて展開";
this.collapseAllText = "セクションをすべて縮小表示";
this.backToTopText = "上に戻る";

this.expandAllSubSectionsText = "ステップをすべて展開";
this.collapseAllSubSectionsText = "ステップをすべて縮小表示";

this.toolbar_bookmark = "このページをブックマークする";
this.toolbar_back = "戻る";
this.toolbar_forward = "進む";
this.toolbar_expand_all = "すべて展開";
this.toolbar_collapse_all = "すべて縮小表示";
this.toolbar_print = "印刷";

this.expandText = "展開"
this.collapseText = "縮小表示"
this.checkedAltText = "はい"	

};

