###############################################################################
# Copyright (c) 2008 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 API and implementation
###############################################################################
#
report_small_url=en/small.html
report_middle_url=en/middle.html
report_large_url=en/large.html

RoomSimulationAction_Large=Auditorium
RoomSimulationAction_Middle=Large Meeting Room
RoomSimulationAction_Small=Small Meeting Room

PartRightRoom_begin_to_make_PageImage__2 = begin to make PageImage.
PartRightRoom_simulation_of_current_page_is_over__8 = simulation of current page is over.
PartRightRoom_dump_the_image_in_the_web_browser__26 = dump the image.
PartRightRoom_prepare_Simulation_Image__29 = prepare Simulation Image.
