<?xml version="1.0" encoding="UTF-8"?>
<!-- 
    Copyright (C) 2018 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 xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <string name="assist_action_play_label" msgid="6278705468288338172">"Play"</string>
    <string name="assist_action_reply_label" msgid="6946087036560525072">"Reply"</string>
    <string name="action_mute_short" msgid="5239851786101022633">"Mute"</string>
    <string name="action_mute_long" msgid="6846675719189989477">"Mute conversation"</string>
    <string name="action_unmute_short" msgid="7157822835069715986">"Unmute"</string>
    <string name="action_unmute_long" msgid="22482625837159466">"Unmute conversation"</string>
    <string name="action_canned_reply" msgid="4045960823021872834">"\'I\'m driving at the moment.\'"</string>
    <string name="canned_reply_message" msgid="7959257272917598063">"I\'m driving at the moment."</string>
    <string name="toast_message_sent_success" msgid="1159956191974273064">"Message sent successfully."</string>
    <string name="notification_service_label" msgid="7512186049723777468">"Car Notification Listener Service"</string>
    <string name="notifications" msgid="2865534625906329283">"Notification centre"</string>
    <string name="clear_all" msgid="1845314281571237722">"Clear all"</string>
    <string name="ellipsized_string" msgid="6993649229498857557">"…"</string>
    <string name="show_more" msgid="7291378544926443344">"Show more"</string>
    <string name="notification_header" msgid="324550431063568049">"Notifications"</string>
    <string name="notification_recents" msgid="5855769440781958546">"Recent"</string>
    <string name="notification_older" msgid="8162161020296499690">"Older notifications"</string>
    <string name="empty_notification_header" msgid="4928379791607839720">"No notifications"</string>
    <string name="collapse_group" msgid="4923097735600949715">"Collapse group"</string>
    <string name="show_more_from_app" msgid="4270626118092846628">"<xliff:g id="COUNT">%1$d</xliff:g> more from <xliff:g id="APP">%2$s</xliff:g>"</string>
    <string name="show_count_more" msgid="480555295700318609">"Show <xliff:g id="COUNT">%d</xliff:g> more"</string>
    <plurals name="message_unshown_count" formatted="false" msgid="2454776257150137504">
      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> more messages</item>
      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> more message</item>
    </plurals>
    <plurals name="restricted_numbered_message_content" formatted="false" msgid="232398073855919710">
      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> new messages</item>
      <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> new message</item>
    </plurals>
    <string name="see_more_message" msgid="6343183827924395955">"See more"</string>
    <string name="restricted_hun_message_content" msgid="631111937988857716">"New message"</string>
    <string name="manage_text" msgid="4225197445283791757">"Manage"</string>
</resources>
