# messages.properties
#
#/*******************************************************************************
# * 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
# *******************************************************************************/

# Area Labels
area=\u5730\u533a
areaUNIT=\u5e73\u65b9\u516c\u91cc
areaTT=\u5730\u533a

# Road Labels
roadName=\u8def\u540d
roadNameUNIT=
roadNameTT=\u8def\u540d
roadClass=\u7c7b
roadClassUNIT=
roadClassTT=\u9053\u8def\u7c7b\u578b\u3002
numberCrossings=\u7a7f\u8fc7\u8fb9\u754c\u7684\u8def\u7684\u6570\u91cf
numberCrossingsUNIT=\u7a7f\u68ad
numberCorssingsTT=\u5728\u8fb9\u754c\u7a7f\u68ad\u7684\u6570\u76ee

# Population Labels
count=\u8ba1\u6570
countUNIT=PM
countTT=\u79cd\u7fa4\u6210\u5458\u7684\u6570\u76ee
populationIdentifier=\u79cd\u7fa4
populationIdentifierUNIT=
populationIdentifierTT=\u79cd\u7fa4\u7684\u540d\u79f0
name=\u540d\u79f0
nameUNIT=
nameTT=\u540d\u79f0
populatedArea=\u9762\u79ef
populatedAreaUNIT=\u5e73\u65b9\u516c\u91cc
populatedAreaTT=\u8ba1\u7b97\u7684\u79cd\u7fa4\u5bc6\u5ea6\u662f\u8981\u4f7f\u7528\u7684\u503c\uff08\u8986\u76d6\u533a\u57df\u7684\u9762\u79ef\uff09\u3002

# Relationships
borderLength=\u8fb9\u754c\u957f\u5ea6
borderLengthUNIT=\u516c\u91cc
borderLengthTT=\u800c\u4e24\u4e2a\u5730\u7406\u533a\u57df\u4e4b\u95f4\u7684\u8fb9\u754c\u957f\u5ea6\u3002
adjacent=\u76f8\u90bb
adjacentUNIT=
adjacentTT=\u5982\u679c\u662f\u771f\u5219\u4e24\u4e2a\u8282\u70b9\u662f\u76f8\u90bb\u7684
relationship=\u5173\u7cfb
relationshipUNIT=
relationshipTT=\u5173\u7cfb\u7c7b\u578b

# Migration edge labels
migrationRate=\u8fc1\u79fb\u7387
migrationRateUNIT=Fraction / TP
migrationRateTT=The fraction of population migrating on the edge per time period


 
