# messages.properties
#
# /*******************************************************************************
# * Copyright (c) 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 API and implementation
# *******************************************************************************/

GeoPPage.Viz=\uc9c0\ub9ac\uc801 \uc2dc\uac01\ud654 \ud658\uacbd \uc124\uc815


GeoPPage.bc=&Borders Color
GeoPPage.drawpolyborders=& \ub2e4\uac01\ud615 \ud14c\ub450\ub9ac\ub97c \uadf8\ub9ac\uae30
GeoPPage.logscale=\ub85c\uadf8 \uc2a4\ucf00\uc77c \uc0ac\uc6a9
GeoPPage.gainf=\uc774\ub4dd &\uc778\uc790

GeoPPage.numErr=\ud544\ub4dc\ub294 \uc720\ud6a8\ud55c \ubc88\ud638\uac00 \uc544\ub2d8.
GFactor.negErr=\uc774\ub4dd \uacc4\uc218\ub294 0.0\ubcf4\ub2e4 \ucee4\uc57c\ud568
