# 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.

plugin.name=ClickIDE
plugin.provider=Naoki Takezoe
wizard.category=Click
wizard.newPage=Click\u30da\u30fc\u30b8
editor.clickXML=Click\u8a2d\u5b9a\u30a8\u30c7\u30a3\u30bf
editor.template=Click\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u30a8\u30c7\u30a3\u30bf
contentType.clickXML=Click\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb
contentType.template=Click\u30da\u30fc\u30b8\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8
validator.clickXML=Click\u8a2d\u5b9a\u30d0\u30ea\u30c7\u30fc\u30bf
preference.wizardTemplate=\u30a6\u30a3\u30b6\u30fc\u30c9\u30fb\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8
preference.templateEditor=\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u30fb\u30a8\u30c7\u30a3\u30bf
action.newClickPage=\u65b0\u898fClick\u30da\u30fc\u30b8\u306e\u4f5c\u6210
action.switchToHTML=HTML\u30d5\u30a1\u30a4\u30eb\u306b\u5207\u308a\u66ff\u3048
action.switchToClass=\u30da\u30fc\u30b8\u30af\u30e9\u30b9\u306b\u5207\u308a\u66ff\u3048
preset.name=Apache Click 2.1.0\u30d7\u30ed\u30b8\u30a7\u30af\u30c8
preset.description=Apache Click 2.1.0\u3092\u4f7f\u7528\u3059\u308b\u305f\u3081\u306b\u52d5\u7684Web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u69cb\u6210\u3057\u307e\u3059
