//------------------------------------------------------------------------------
// 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 = "Expandir Todas as Seções";
this.collapseAllText = "Reduzir Todas as Seções";
this.backToTopText = "Voltar ao Início da Página";

this.expandAllSubSectionsText = "Expandir Todas as Etapas";
this.collapseAllSubSectionsText = "Reduzir Todas as Etapas";

this.toolbar_bookmark = "Indicar esta página";
this.toolbar_back = "Voltar";
this.toolbar_forward = "Avançar";
this.toolbar_expand_all = "Expandir Tudo";
this.toolbar_collapse_all = "Reduzir Tudo";
this.toolbar_print = "Imprimir";

this.expandText = "Expandir"
this.collapseText = "Reduzir"
this.checkedAltText = "Sim"	

};

