#-------------------------------------------------------------------------------
# Copyright (c) 2000, 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 implementation.
#-------------------------------------------------------------------------------
# NLS_MESSAGEFORMAT_VAR
#
# Message ID Range: IUPP0000E - IUPP0099E
#

# Progress Messages
publishingConfigurationTask_name=\u69cb\u6210\u3092\u516c\u958b\u3057\u3066\u3044\u307e\u3059...
initializingDirTask_name=\u5b9b\u5148\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fc\u3092\u521d\u671f\u5316\u3057\u3066\u3044\u307e\u3059...
copyingFilesTask_name=\u30d5\u30a1\u30a4\u30eb\u3092\u30b3\u30d4\u30fc\u3057\u3066\u3044\u307e\u3059...
generatingBookmarksTask_name=\u30d6\u30c3\u30af\u30de\u30fc\u30af\u3092\u751f\u6210\u3057\u3066\u3044\u307e\u3059...
generatingBookmarkTask_name=\u30d6\u30c3\u30af\u30de\u30fc\u30af ''{0}'' \u3092\u751f\u6210\u3057\u3066\u3044\u307e\u3059...
generatingBookmarkIndexTask_name=\u30d6\u30c3\u30af\u30de\u30fc\u30af\u7d22\u5f15\u3092\u751f\u6210\u3057\u3066\u3044\u307e\u3059...
publishingLinkedElementTask_name=\u30e1\u30bd\u30c3\u30c9\u8981\u7d20\u3092\u516c\u958b\u3057\u3066\u3044\u307e\u3059\u3002\u516c\u958b\u6e08\u307f: {0}\u3001\u6b8b\u308a: {1}
publishingElementTask_name=\u30e1\u30bd\u30c3\u30c9\u8981\u7d20\u3092\u516c\u958b\u3057\u3066\u3044\u307e\u3059: {0}:{1}
generatingGlossaryTask_name=\u7528\u8a9e\u96c6\u3092\u751f\u6210\u3057\u3066\u3044\u307e\u3059...
generatingSearchIndexTask_name=\u691c\u7d22\u7d22\u5f15\u3092\u751f\u6210\u3057\u3066\u3044\u307e\u3059...
generatingWARFileTask_name=WAR \u30d5\u30a1\u30a4\u30eb\u3092\u751f\u6210\u3057\u3066\u3044\u307e\u3059...
buildingProcessClosureTask_name=\u30d7\u30ed\u30bb\u30b9\u306e\u683c\u7d0d\u6a5f\u69cb\u3092\u30d3\u30eb\u30c9\u3057\u3066\u3044\u307e\u3059...
buildingElementClosureTask_name=''{0}'' \u306e\u8981\u7d20\u306e\u683c\u7d0d\u6a5f\u69cb\u3092\u30d3\u30eb\u30c9\u3057\u3066\u3044\u307e\u3059...
loadLibraryTask_name=\u30e9\u30a4\u30d6\u30e9\u30ea\u30fc\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u30ed\u30fc\u30c9\u3057\u3066\u3044\u307e\u3059...

# Error Messages logged in the Publishing Report
publishElementError_msg=IUPP0000E: \u8981\u7d20\u3092\u516c\u958b\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f: {0}
serverError_msg=IUPP0001E: \u30b5\u30fc\u30d0\u30fc\u304b\u3089\u30c7\u30fc\u30bf\u304c\u623b\u3055\u308c\u307e\u305b\u3093\u3002
invalidHttpResponseError_msg=IUPP0002E: http://{0}:{1}:{2} \u304b\u3089\u306e\u5fdc\u7b54\u304c\u7121\u52b9\u3067\u3059\u3002

# Warning Messages logged in the Publishing Report
invalidElementWarning_msg=IUPP0003W: \u8981\u7d20\u304c\u69cb\u6210\u5185\u3067\u6709\u52b9\u306a\u8981\u7d20\u3067\u306f\u306a\u3044\u305f\u3081\u3001\u516c\u958b\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002
invalidMethodElementWarning_msg=IUPP0004W: \u8981\u7d20\u306f\u30e1\u30bd\u30c3\u30c9\u8981\u7d20\u3067\u306f\u306a\u3044\u305f\u3081\u3001\u516c\u958b\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f: {0}
copyFileWarning_msg=IUPP0005W: \u30d5\u30a1\u30a4\u30eb\u3092''{0}'' \u304b\u3089 ''{1}'' \u306b\u30b3\u30d4\u30fc\u3067\u304d\u307e\u305b\u3093\u3002
missingIconFileWarning_msg=IUPP0006W: \u30ce\u30fc\u30c9\u30fb\u30a2\u30a4\u30b3\u30f3\u30fb\u30d5\u30a1\u30a4\u30eb ''{0}'' \u304c\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
missingIconNameWarning_msg=IUPP0007W: \u30ce\u30fc\u30c9\u30fb\u30a2\u30a4\u30b3\u30f3\u306e\u540d\u524d\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3002
externalUrl_msg={0} \u30df\u30ea\u79d2\u9593\u3001\u6b21\u306e\u5916\u90e8 URL \u3092\u53c2\u7167\u3057\u3066\u3044\u307e\u3059: {1}
discaredCategoryWarning_msg=\u7a7a\u306e\u30b3\u30f3\u30c6\u30f3\u30c4\u30fb\u30ab\u30c6\u30b4\u30ea\u30fc\u8981\u7d20\u304c\u516c\u958b\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002

# Error Details
createSearchIndexError_msg=IUPP0008E: \u691c\u7d22\u7d22\u5f15\u30d5\u30a1\u30a4\u30eb\u304c\u4f5c\u6210\u3055\u308c\u307e\u305b\u3093\u3067\u3057\u305f\u3002

# Process Tree Nodes
referenceWorkflowsNode_text=\u53c2\u7167\u30ef\u30fc\u30af\u30d5\u30ed\u30fc
taskNode_text=\u30bf\u30b9\u30af
primarilyPerformsNode_text=\u4e3b\u306a\u30bf\u30b9\u30af
additionallyPerformsNode_text=\u8ffd\u52a0\u5b9f\u884c
performingRolesNode_text=\u5b9f\u884c\u30ed\u30fc\u30eb
inputWorkProductsNode_text=\u5165\u529b\u30ef\u30fc\u30af\u30fb\u30d7\u30ed\u30c0\u30af\u30c8
outputWorkProductsNode_text=\u51fa\u529b\u30ef\u30fc\u30af\u30fb\u30d7\u30ed\u30c0\u30af\u30c8
responsibleForNode_text=\u62c5\u5f53
modifiesNode_text=\u5909\u66f4
responsibleRoleNode_text=\u62c5\u5f53\u306e\u30ed\u30fc\u30eb
containingWorkProductNode_text=\u53ce\u5bb9\u5074\u306e\u30ef\u30fc\u30af\u30fb\u30d7\u30ed\u30c0\u30af\u30c8
containedWorkProductsNode_text=\u53ce\u5bb9\u5bfe\u8c61\u306e\u30ef\u30fc\u30af\u30fb\u30d7\u30ed\u30c0\u30af\u30c8
guidanceNode_text=\u30ac\u30a4\u30c0\u30f3\u30b9
inputToNode_text=\u5165\u529b\u5148
outputFromNode_text=\u51fa\u529b\u5143

# HTML Title for Index Page
indexLabel_text=\u7d22\u5f15
