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

service.ranking.name = service ranking
service.ranking.description = service property for identifying the service's ranking number

sling.filter.scope.name = filter scopes
sling.filter.scope.description = see http://sling.apache.org/documentation/the-sling-engine/filters.html

org.apache.sling.urlrewriter.rewrite.rules.name = rewrite rules (urlrewrite.xml)
org.apache.sling.urlrewriter.rewrite.rules.description = see http://urlrewritefilter.googlecode.com/svn/trunk/src/doc/manual/4.0/index.html#configuration
