################################################################################
##
##  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.
##
################################################################################
# Developer RTE Section

# AutomationManager

notVisible='{0}'\uc774(\uac00) \ud45c\uc2dc\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
unsupportedValues='{0}'\uc5d0\uc11c allAutomationValues\ub97c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
unsupportedReplay='{0}'\uc5d0\uc11c \ub2e4\uc2dc \uc7ac\uc0dd\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
rootApplication=\uc7ac\uc0dd\uc131\ud560 \uc218 \uc788\ub294 ID ['{0}']\uc758 \ub8e8\ud2b8\ub97c \ud574\ub2f9 \uc751\uc6a9 \ud504\ub85c\uadf8\ub7a8\uc73c\ub85c \uc124\uc815\ud574\uc57c \ud569\ub2c8\ub2e4.
notResolved=\ubd80\ubaa8 '{2}'\uc5d0\uc11c '{0}':'{1}' \ubd80\ubd84\uc758 \uc790\uc2dd \ud56d\ubaa9\uc744 \ud655\uc778\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
resolvedTo='{0}'\uc740(\ub294) '{1}'(\uc73c)\ub85c \ud655\uc778\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
idResolved=ID '{0}'\uc774(\uac00) \ub108\ubb34 \ube68\ub9ac \ud655\uc778\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
idNotResolved=ID '{0}'\uc744(\ub97c) \ud655\uc778\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
nullReturned='{0}'\uc5d0\uc11c '{1}'\uc774(\uac00) '{2}' \uc790\uc2dd \ud56d\ubaa9\uc744 \uc0ac\uc6a9\ud558\uc5ec \ub110(Null) \uc790\uc2dd \ud56d\ubaa9\uc744 \ubc18\ud658\ud588\uc2b5\ub2c8\ub2e4.
matchesMsg='{0}'\uc774(\uac00) \uae30\uc900 {'{1}'}\uacfc(\uc640) \uc77c\uce58\ud569\ub2c8\ub2e4.
notDefined='{1}'\uc5d0 '{0}' \uc18d\uc131\uc774 \uc815\uc758\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4.
classNotFound=\uc790\ub3d9\ud654 \ud074\ub798\uc2a4 '{0}'\uc744(\ub97c) \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
methodNotFound=\ud074\ub798\uc2a4 '{1}'\uc758 \uc790\ub3d9\ud654 \uba54\uc11c\ub4dc '{0}'\uc744(\ub97c) \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
missingArgument=\uc778\uc218 \uac12 '{0}'\uc774 \ub204\ub77d\ub418\uc5c8\uc2b5\ub2c8\ub2e4.

# TextFieldAutomationHelper

notReplayable=\ud0a4 \ucf54\ub4dc '{0}'(\uc73c)\ub85c KeyboardEvent\ub97c \uc7ac\uc0dd\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.

# codec/AssetPropertyCodec

notSettable=\uc5d0\uc14b\uc744 \uc124\uc815\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.

# codec/DefaultPropertyCodec

precisionLoss='{0}' \uc18d\uc131\uc744 \ubcc0\ud658\ud558\ub294 \uc911\uc5d0 \uc815\ubc00\ub3c4\uac00 \uc190\uc2e4\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4.

# codec/ListDataObjectCodec

notSupported=selectedItem\uc744 \uc124\uc815\ud558\ub294 \uae30\ub2a5\uc774 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.

# qtp/QTPAdapter

invisible=\ud45c\uc2dc\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
notActiveX=HP Quick Test Pro\uc6a9 Adobe Flex 4 \ud50c\ub7ec\uadf8\uc778\uc744 \ub85c\ub4dc\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. HP Quick Test Pro\uc6a9 Adobe Flex 4 \ud50c\ub7ec\uadf8\uc778\uc740 Microsoft Internet Explorer\ub9cc \uc9c0\uc6d0\ud569\ub2c8\ub2e4.
notWindows=HP Quick Test Pro\uc6a9 Adobe Flex 4 \ud50c\ub7ec\uadf8\uc778\uc744 \ub85c\ub4dc\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. '{0}'\uc5d0\uc11c\ub294 HP Quick Test Pro\uc6a9 Adobe Flex 4 \ud50c\ub7ec\uadf8\uc778\uc774 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
noExternalInterface=HP Quick Test Pro\uc6a9 Adobe Flex 4 \ud50c\ub7ec\uadf8\uc778\uc744 \ub85c\ub4dc\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \uc774 \ud50c\ub808\uc774\uc5b4\uc5d0\uc11c\ub294 ExternalInterface\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
noPlayerID=HP Quick Test Pro\uc6a9 Adobe Flex 4 \ud50c\ub7ec\uadf8\uc778\uc744 \ub85c\ub4dc\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. html \ud398\uc774\uc9c0\uc5d0 \ud50c\ub808\uc774\uc5b4\uc758 ID\uac00 \uc9c0\uc815\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4.
invalidPlayerID=HP Quick Test Pro\uc6a9 Adobe Flex 4 \ud50c\ub7ec\uadf8\uc778\uc744 \ub85c\ub4dc\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. \ud50c\ub808\uc774\uc5b4 ID '{0}'\uc774(\uac00) \uc798\ubabb\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
unableToLoadPluginGeneric=HP Quick Test Pro\uc6a9 Adobe Flex 4 \ud50c\ub7ec\uadf8\uc778\uc744 \ub85c\ub4dc\ud560 \uc218 \uc5c6\uc74c - '{0}'.
notSynchronized=\uc774\uc804 \uc791\uc5c5\uc774 \uc644\ub8cc\ub418\uae30\ub97c \uae30\ub2e4\ub9ac\uace0 \uc788\uc2b5\ub2c8\ub2e4.

# qtp/QTPEnvironment

autClassNotFound='{0}' '{1}'\uc758 AutomationClass\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.



# Licence handler messages 
recordLimitReached=\ub77c\uc774\uc13c\uc2a4\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. \uc2dc\ud5d8\ud310\uc744 \uc0ac\uc6a9\ud558\uba74 \uc81c\ud55c\ub41c \ub808\ucf54\ub4dc\ub9cc \ud5c8\uc6a9\ub429\ub2c8\ub2e4.
replayLimitReached=\ub77c\uc774\uc13c\uc2a4\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. \uc2dc\ud5d8\ud310\uc744 \uc0ac\uc6a9\ud558\uba74 \uc81c\ud55c\ub41c \uc7ac\uc0dd\ub9cc \ud5c8\uc6a9\ub429\ub2c8\ub2e4.
