################################################################################
##
##  Licensed to the Apache Software Foundation (ASF) under one or more
##  contributor license agreements.  See the NOTICE file distributed with
##  this work for additional information regarding copyright ownership.
##  The ASF licenses this file to You under the Apache License, Version 2.0
##  (the "License"); you may not use this file except in compliance with
##  the License.  You may obtain a copy of the License at
##
##      http://www.apache.org/licenses/LICENSE-2.0
##
##  Unless required by applicable law or agreed to in writing, software
##  distributed under the License is distributed on an "AS IS" BASIS,
##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
##  See the License for the specific language governing permissions and
##  limitations under the License.
##
################################################################################

# flex2.tools
Mxmlc.OutputMessage=${name}(${length}\ubc14\uc774\ud2b8)
Compc.OutputMessage=${name}(${length}\ubc14\uc774\ud2b8)
Compiler.NoUpdateMessage=${name}\uc740(\ub294) \ucd5c\uc2e0 \ubc84\uc804\uc774\ubbc0\ub85c \ub2e4\uc2dc \ube4c\ub4dc\ud560 \ud544\uc694\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.
Compc.NoUpdateMessage=${name}\uc740(\ub294) \ucd5c\uc2e0 \ubc84\uc804\uc774\ubbc0\ub85c \ub2e4\uc2dc \ube4c\ub4dc\ud560 \ud544\uc694\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.
CompcPreLink.HigherMinimumSupportedVersionRequired=swc '${swc}'\uc5d0\ub294 \ucd5c\uc18c \uc9c0\uc6d0 \ubc84\uc804\uc73c\ub85c ${swcMinimumSupportedVersion} \uc774\uc0c1\uc774 \ud544\uc694\ud569\ub2c8\ub2e4. 
CompcPreLink.PotentialForMissingSkins=swc '${swc}'\uc5d0 \uc2a4\ud0c0\uc77c\uc774 \ub204\ub77d\ub418\uc5c8\uc73c\uba70 \ub77c\uc774\ube0c\ub7ec\ub9ac \uacbd\ub85c\uc5d0 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub294 \uc2a4\ud0c0\uc77c\uc744 \uc81c\uc678\ud558\uace0 \uc885\uc18d\uc131\uc774 \uc5f0\uacb0\ub428\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4. \uc774\ub85c \uc778\ud574 \ucd9c\ub825 swc\ub97c \uc0ac\uc6a9\ud558\ub294 \uc751\uc6a9 \ud504\ub85c\uadf8\ub7a8\uc5d0\uc11c \uc2a4\ud0a8\uc774 \ub204\ub77d\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4. swc\ub294 \uc678\ubd80 \ub77c\uc774\ube0c\ub7ec\ub9ac \uacbd\ub85c\uc5d0 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4.
PreLink.DependencyNotCompatible=${swc}\uc758 \uc885\uc18d\uc131 ${definition}\uc5d0\ub294 \ucd5c\uc18c \uc9c0\uc6d0 \ubc84\uc804\uc73c\ub85c ${swcMinimumVersion}\uc774(\uac00) \uc788\uc73c\uba70, \uc774 \ubc84\uc804\uc740 \ud638\ud658 \ubc84\uc804\uc778 ${compatibilityVersion}\ubcf4\ub2e4 \uc774\ud6c4 \ubc84\uc804\uc785\ub2c8\ub2e4.
PreLink.NoExternalVisibleDefinition=\ub300\uc0c1 \ud30c\uc77c\uc5d0\ub294 \uc678\ubd80\uc5d0\uc11c \uc811\uadfc\ud560 \uc218 \uc788\ub294 \uc815\uc758\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.
PreLink.MissingFactoryClassInFrameMetadata=\uc774 \ucef4\ud30c\uc77c \ub2e8\uc704\uc5d0\ub294 \uad6c\uc131\ub41c \ub7f0\ud0c0\uc784 \uacf5\uc720 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \ubd88\ub7ec\uc624\ub3c4\ub85d \ud504\ub808\uc784 \uba54\ud0c0\ub370\uc774\ud130\uc5d0\uc11c \uc9c0\uc815\ub41c factoryClass\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. \ub7f0\ud0c0\uc784 \uacf5\uc720 \ub77c\uc774\ube0c\ub7ec\ub9ac \uc5c6\uc774 \ucef4\ud30c\uc77c\ud558\ub824\uba74 -static-link-runtime-shared-libraries \uc635\uc158\uc744 true\ub85c \uc124\uc815\ud558\uac70\ub098 -runtime-shared-libraries \uc635\uc158\uc744 \uc81c\uac70\ud558\uc2ed\uc2dc\uc624.
PreLink.InvalidBackgroundColor=\uc798\ubabb\ub41c \ubc30\uacbd \uc0c9\uc0c1: ${backgroundColor}
PreLink.CouldNotParseNumber=${num}'\uc744(\ub97c) ${attribute}\uc758 \ubc88\ud638\ub85c \uad6c\ubb38 \ubd84\uc11d\ud558\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4.
PreLink.MissingSignedLibraryDigest=\ub77c\uc774\ube0c\ub7ec\ub9ac ${libraryPath}\uc758 catalog.xml\uc5d0 \uc11c\uba85\ub41c \ub2e4\uc774\uc81c\uc2a4\ud2b8\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. -create-digest=true\ub97c \uc0ac\uc6a9\ud558\uc5ec \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \ucef4\ud30c\uc77c\ud558\uace0 \ub2e4\uc2dc \uc2dc\ub3c4\ud558\uc2ed\uc2dc\uc624.
PreLink.MissingUnsignedLibraryDigest=\ub77c\uc774\ube0c\ub7ec\ub9ac ${libraryPath}\uc758 catalog.xml\uc5d0 \uc11c\uba85\ub418\uc9c0 \uc54a\uc740 \ub2e4\uc774\uc81c\uc2a4\ud2b8\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. -create-digest=true\ub97c \uc0ac\uc6a9\ud558\uc5ec \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \ucef4\ud30c\uc77c\ud558\uace0 \ub2e4\uc2dc \uc2dc\ub3c4\ud558\uc2ed\uc2dc\uc624.
PreLink.ClassesMappedToSameRemoteAlias=\ud074\ub798\uc2a4 '${className}'\uc744(\ub97c) \ucc98\ub9ac\ud558\ub294 \uc911\uc5d0 \uc6d0\uaca9 \ud074\ub798\uc2a4 \ubcc4\uce6d '${alias}'\uc5d0 \ub300\ud55c '${existingClassName}'\uc758 \ub9e4\ud551\uc774 \ubc1c\uacac\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc774\uc81c Flex\uc5d0\uc11c \ucf54\ub4dc\ub97c \uc0dd\uc131\ud558\uc5ec \ubcc4\uce6d\uc774 \uc774\ubbf8 \ub4f1\ub85d\ub418\uc5c8\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4. \uc6d0\uaca9 \ub370\uc774\ud130\ub97c \uc5ed\uc9c1\ub82c\ud654\ud558\ub294 \uacbd\uc6b0 \ubcc4\uce6d\uc740 \ub2e8\uc77c \ud074\ub798\uc2a4\uc5d0\ub9cc \ub9e4\ud551\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.
PreLink.RequiredRsls=\ud544\uc218 RSL:
PreLink.RequiredRslUrl=\u0020\u0020\u0020\u0020${rslUrl}
PreLink.RequiredRslUrlWithFailover=\u0020\u0020\u0020\u0020\uc7a5\uc560 \uc870\uce58\uac00 1\ud68c \uc218\ud589\ub41c ${rslUrl}\uc785\ub2c8\ub2e4.
PreLink.RequiredRslUrlWithMultipleFailovers=\u0020\u0020\u0020\u0020\uc7a5\uc560 \uc870\uce58\uac00 ${failoverCount}\ud68c \uc218\ud589\ub41c ${rslUrl}\uc785\ub2c8\ub2e4.
PreLink.CompiledAsAComponent=${className}\uc740(\ub294) \uc9c1\uc811 \ucc38\uc870\ub418\ub294 \ubaa8\ub4c8 \ub610\ub294 \uc751\uc6a9 \ud504\ub85c\uadf8\ub7a8\uc785\ub2c8\ub2e4. \uc774 \uc791\uc5c5\uc744 \uc218\ud589\ud558\uba74 ${className} \ubc0f \uadf8 \uc885\uc18d \ud56d\ubaa9\uc774 ${mainDefinition}\uc5d0 \uc5f0\uacb0\ub429\ub2c8\ub2e4. \uc5f0\uacb0\ub418\uc9c0 \uc54a\ub3c4\ub85d \ud558\ub824\uba74 \uc778\ud130\ud398\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\uc774 \uc88b\uc2b5\ub2c8\ub2e4.
ToolsConfiguration.FailedToLoadLicenseFile=\ub77c\uc774\uc13c\uc2a4 \ud30c\uc77c\uc744 \ubd88\ub7ec\uc624\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4. ${fileName}
ToolsConfiguration.BadAS3ESCombination=-as3\uacfc -es \uc870\ud569\uc774 \uc798\ubabb\ub418\uc5c8\uc2b5\ub2c8\ub2e4. -as3=${as3}\uc640(\uacfc) Q906-es=${es}\uc785\ub2c8\ub2e4. \ub458 \uc911 \ud558\ub098\uac00 'true'\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4.
ToolsConfiguration.BadESStrictCombination=-es=${es}\uc640(\uacfc) Q909-strict=${strict}\uc785\ub2c8\ub2e4. -strict\ub294 \ud5c8\uc6a9\ub418\uc9c0\ub9cc \ub3d9\uc801 \uc18d\uc131\uc5d0 \ub300\ud55c \ucc38\uc870 \uc2dc \ucef4\ud30c\uc77c\ub7ec \uc624\ub958\uac00 \ubc1c\uc0dd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.
ToolsConfiguration.DeprecatedConfigurationOption=${var}'\uc740(\ub294) ${since} \uc774\ud6c4\ub85c \uc0ac\uc6a9\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. '${replacement}'\uc744(\ub97c) \uc0ac\uc6a9\ud558\uc2ed\uc2dc\uc624.
Optimizer.NotAValidSwfFile=${fileName}\uc774(\uac00) \uc720\ud6a8\ud55c SWF \ud30c\uc77c\uc774 \uc544\ub2d9\ub2c8\ub2e4.
