<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2008 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.
-->

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"
        android:title="@string/language_keyboard_settings_title">

    <PreferenceScreen
            android:fragment="com.android.settings.LocalePicker"
            android:key="phone_language"
            android:title="@string/phone_language"/>

    <com.android.settings.inputmethod.SpellCheckersPreference
            android:key="spellcheckers_settings"
            android:title="@string/spellcheckers_settings_title"/>

    <!-- User dictionary preference title and fragment will be set programmatically. -->
    <PreferenceScreen
            android:key="key_user_dictionary_settings" />

    <PreferenceCategory android:key="keyboard_settings_category"
            android:title="@string/keyboard_settings_category">
        <PreferenceScreen android:key="current_input_method"
                android:title="@string/current_input_method" />
    </PreferenceCategory>

    <PreferenceCategory
            android:key="hard_keyboard"
            android:title="@string/builtin_keyboard_settings_title"
            android:persistent="false">
        <!-- Additional preference screens are inserted here programmatically
             with low order values to set the key map of each attached keyboard. -->

        <CheckBoxPreference
                android:key="auto_replace"
                android:title="@string/auto_replace"
                android:summaryOn="@string/auto_replace_summary"
                android:summaryOff="@string/auto_replace_summary"
                android:order="1000"
                android:persistent="false"/>
        <CheckBoxPreference
                android:key="auto_caps"
                android:title="@string/auto_caps"
                android:summaryOn="@string/auto_caps_summary"
                android:summaryOff="@string/auto_caps_summary"
                android:order="1001"
                android:persistent="false"/>
        <CheckBoxPreference
                android:key="auto_punctuate"
                android:title="@string/auto_punctuate"
                android:summaryOn="@string/auto_punctuate_summary"
                android:summaryOff="@string/auto_punctuate_summary"
                android:order="1002"
                android:persistent="false"/>
    </PreferenceCategory>

    <PreferenceCategory android:key="voice_category"
            android:title="@string/voice_category" >

        <!-- entries, entryValues, and defaultValue will be populated programmatically. -->
        <ListPreference
                android:key="recognizer"
                android:title="@string/recognizer_title"
                android:dialogTitle="@string/recognizer_title" />

        <!-- An intent for this preference will be populated programmatically. -->
        <PreferenceScreen android:key="recognizer_settings"
                android:title="@string/recognizer_settings_title" />

        <PreferenceScreen android:key="tts_settings"
                android:fragment="com.android.settings.tts.TextToSpeechSettings"
                android:title="@string/tts_settings_title" />
    </PreferenceCategory>

    <PreferenceCategory android:key="pointer_settings_category"
            android:title="@string/pointer_settings_category">
        <com.android.settings.PointerSpeedPreference
                android:key="pointer_speed"
                android:title="@string/pointer_speed"
                android:dialogTitle="@string/pointer_speed" />
    </PreferenceCategory>

    <PreferenceCategory android:key="game_controller_settings_category"
            android:title="@string/game_controller_settings_category">
        <CheckBoxPreference
                android:key="vibrate_input_devices"
                android:title="@string/vibrate_input_devices"
                android:summaryOn="@string/vibrate_input_devices_summary"
                android:summaryOff="@string/vibrate_input_devices_summary"
                android:persistent="false"/>
    </PreferenceCategory>
</PreferenceScreen>
