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

LBL_ConnectionToDatabase=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3078\u306e\u63a5\u7d9a...
LBL_DatabaseTable=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u8868...

LBL_CONSTRUCTOR=\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf...
LBL_GETTER=\u53d6\u5f97\u30e1\u30bd\u30c3\u30c9...
LBL_SETTER=\u8a2d\u5b9a\u30e1\u30bd\u30c3\u30c9...
LBL_GETTER_AND_SETTER=\u53d6\u5f97\u30e1\u30bd\u30c3\u30c9\u304a\u3088\u3073\u8a2d\u5b9a\u30e1\u30bd\u30c3\u30c9...
LBL_METHOD=\u30e1\u30bd\u30c3\u30c9\u306e\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u304a\u3088\u3073\u5b9f\u88c5...

LBL_TITLE_CONSTRUCTOR=\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u306e\u751f\u6210
LBL_PANEL_CONSTRUCTOR=\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u3067\u521d\u671f\u5316\u3059\u308b\u30d5\u30a3\u30fc\u30eb\u30c9\u306e\u9078\u629e:
LBL_TITLE_GETTERS=\u53d6\u5f97\u30e1\u30bd\u30c3\u30c9\u306e\u751f\u6210
LBL_PANEL_GETTERS=\u53d6\u5f97\u30e1\u30bd\u30c3\u30c9\u3092\u751f\u6210\u3059\u308b\u30d5\u30a3\u30fc\u30eb\u30c9\u306e\u9078\u629e:
LBL_TITLE_SETTERS=\u8a2d\u5b9a\u30e1\u30bd\u30c3\u30c9\u306e\u751f\u6210
LBL_PANEL_SETTERS=\u8a2d\u5b9a\u30e1\u30bd\u30c3\u30c9\u3092\u751f\u6210\u3059\u308b\u30d5\u30a3\u30fc\u30eb\u30c9\u306e\u9078\u629e:
LBL_TITLE_GETTERS_AND_SETTERS=\u53d6\u5f97\u30e1\u30bd\u30c3\u30c9\u304a\u3088\u3073\u8a2d\u5b9a\u30e1\u30bd\u30c3\u30c9\u306e\u751f\u6210
LBL_PANEL_GETTERS_AND_SETTERS=\u53d6\u5f97\u30e1\u30bd\u30c3\u30c9\u304a\u3088\u3073\u8a2d\u5b9a\u30e1\u30bd\u30c3\u30c9\u3092\u751f\u6210\u3059\u308b\u30d5\u30a3\u30fc\u30eb\u30c9\u306e\u9078\u629e:
LBL_TITLE_METHODS=\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u304a\u3088\u3073\u5b9f\u88c5\u3055\u308c\u305f\u30e1\u30bd\u30c3\u30c9\u3092\u751f\u6210
LBL_PANEL_METHODS=\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u304a\u3088\u3073\u5b9f\u88c5\u3059\u308b\u30e1\u30bd\u30c3\u30c9\u3092\u9078\u629e:

JAVA_STYLE=Java\u30b9\u30bf\u30a4\u30eb
ADD_UNDERSCORE=\u30a2\u30f3\u30c0\u30fc\u30b9\u30b3\u30a2\u306e\u8ffd\u52a0
REMOVE_UNDERSCORE=\u30a2\u30f3\u30c0\u30fc\u30b9\u30b3\u30a2\u3092\u524a\u9664

