<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright 2016 Google Inc. All Rights Reserved. -->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">

    <!-- Permission -->
    <skip/>
    <!-- Generic instruction on how to enable permissions for Android Auto [CHAR LIMIT=200] -->
    <string name="permissions_generic">Use your phone to turn on the permissions in\nSettings > Apps > Android Auto > Permissions</string>

    <string name="permission_not_granted">The following permissions where not granted:<xliff:g id="temperature">%1$s</xliff:g></string>
    <string name="all_permission_granted">All permissions granted, starting service</string>
    <string name="permission_dialog_title">Permissions</string>
    <string name="permission_dialog_positive_button_text">Ok</string>

    <!-- Label for a recent call card [CHAR LIMIT=30] -->
    <string name="recent_call">Recent call</string>

    <string name="car_notification_permission_dialog_title">Notification access request</string>
    <string name="car_notification_permission_dialog_text">Please enable notification access and then hit the home button</string>

    <!-- Telecom Related strings-->
    <!-- Label for voicemail [CHAR LIMIT=30] -->
    <string name="voicemail">Voicemail</string>
    <!-- Label for current phone call [CHAR LIMIT=30] -->
    <string name="unknown_number">Current call</string>
    <!-- Label for incoming call [CHAR LIMIT=30] -->
    <string name="notification_incoming_call">Select to answer</string>
    <!-- Label for button to answer a phone call [CHAR LIMIT=30] -->
    <string name="answer_call">Answer</string>
    <!-- Label for button to reject a phone call [CHAR LIMIT=30] -->
    <string name="reject_call">Reject</string>
    <!-- Label for when a call is coming from an unknown caller [CHAR LIMIT=30] -->
    <string name="unknown">Unknown</string>
    <!-- Label for when a call is a conference call [CHAR LIMIT=30] -->
    <string name="conference_call">Conference call</string>
    <!-- Label for the currently ongoing call [CHAR LIMIT=30] -->
    <string name="ongoing_call">Active &#8226; </string>
    <!-- Label for the currently dialed call [CHAR LIMIT=30] -->
    <string name="dialing_call">Dialing</string>
    <!-- Label for a call being disconnected [CHAR LIMIT=30] -->
    <string name="disconnecting_call">Disconnecting Call</string>

    <!-- Text for the radio application. -->
    <string name="radio_app_name">Radio</string>

    <!-- Text to denote the AM radio band. -->
    <string name="radio_am_text">AM</string>

    <!-- Text to denote the FM radio band. -->
    <string name="radio_fm_text">FM</string>

    <string name="car_media_component_package" translatable="false">com.android.car.media</string>

    <string name="car_radio_component_package" translatable="false">com.android.car.radio</string>
    <string name="car_radio_component_service" translatable="false">com.android.car.radio.RadioService</string>
    <string name="car_radio_component_activity" translatable="false">com.android.car.radio.CarRadioProxyActivity</string>
</resources>
