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

notExist={0} \u306f\u5b58\u5728\u3057\u307e\u305b\u3093\u3002
autoMapping=automapping\u5c5e\u6027 \u306f true|false \u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093\u3002
autoBinding=autobinding\u5c5e\u6027 \u306f true|false \u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093\u3002
headerType=type\u5c5e\u6027 \u306f String|Integer|Date \u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093\u3002
modeValue=value\u5c5e\u6027\u306f production|profile|development|debug|trace \u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093\u3002
modeLogTo=logto\u5c5e\u6027\u306f console|servlet \u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093\u3002
scope=scope\u5c5e\u6027\u306f application|request \u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093\u3002
unsupportedEncoding={0} \u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u306a\u3044\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u3067\u3059\u3002
velocityParseError={0}
