//------------------------------------------------------------------------------
// 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 = "Alle Abschnittstrukturen einblenden";
this.collapseAllText = "Alle Abschnittsstrukturen ausblenden";
this.backToTopText = "Seitenanfang";

this.expandAllSubSectionsText = "Alle Schrittstrukturen einblenden";
this.collapseAllSubSectionsText = "Alle Schrittstrukturen ausblenden";

this.toolbar_bookmark = "Lesezeichen für diese Seite setzen";
this.toolbar_back = "Zurück";
this.toolbar_forward = "Vor";
this.toolbar_expand_all = "Alles einblenden";
this.toolbar_collapse_all = "Alles ausblenden";
this.toolbar_print = "Drucken";

this.expandText = "Einblenden"
this.collapseText = "Ausblenden"
this.checkedAltText = "Ja"	

};

