//------------------------------------------------------------------------------
// 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 = "Développer toutes les sections";
this.collapseAllText = "Condenser toutes les sections";
this.backToTopText = "Haut de page";

this.expandAllSubSectionsText = "Développer toutes les étapes";
this.collapseAllSubSectionsText = "Condenser toutes les étapes";

this.toolbar_bookmark = "Marquer cette page";
this.toolbar_back = "Retour";
this.toolbar_forward = "Suivant";
this.toolbar_expand_all = "Développer tout";
this.toolbar_collapse_all = "Réduire tout";
this.toolbar_print = "Imprimer";

this.expandText = "Développer"
this.collapseText = "Réduire"
this.checkedAltText = "Oui"	

};

