<?xml version="1.0" encoding="utf-8"?>

<!-- Copyright (C) 2012 The Android Open Source Project

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

<resources>

    <!-- String title for the speaking accessibility service -->
    <string name="title_speaking_accessibility_service">Speaking Accessibility Service</string>

    <!-- String title for the vibrating accessibility service -->
    <string name="title_vibrating_accessibility_service">Vibrating Accessibility Service</string>

    <!-- Description of the speaking accessibility service -->
    <string name="some_description">Some description</string>

</resources>
