<?xml version="1.0" encoding="UTF-8"?>
<!-- 
  ~ Copyright (C) 2019 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">
    <plurals name="notification_new_message" formatted="false" msgid="1631343923556571689">
      <item quantity="other">%d new messages</item>
      <item quantity="one">New message</item>
    </plurals>
    <string name="action_play" msgid="1884580550634079470">"Play"</string>
    <string name="action_mark_as_read" msgid="5185216939940407938">"Mark as read"</string>
    <string name="action_repeat" msgid="8184323082093728957">"Repeat"</string>
    <string name="action_reply" msgid="564106590567600685">"Reply"</string>
    <string name="action_stop" msgid="6950369080845695405">"Stop"</string>
    <string name="action_close_messages" msgid="7949295965012770696">"Close"</string>
    <string name="auto_reply_failed_message" msgid="6445984971657465627">"Unable to send reply. Please try again."</string>
    <string name="auto_reply_device_disconnected" msgid="5861772755278229950">"Unable to send reply. Device is not connected."</string>
    <string name="tts_sender_says" msgid="5352698006545359668">"%s says"</string>
    <string name="tts_failed_toast" msgid="1483313550894086353">"Can\'t read out message."</string>
    <string name="reply_message_display_template" msgid="6348622926232346974">"\'%s\'"</string>
    <string name="message_sent_notice" msgid="7172592196465284673">"Reply sent to %s"</string>
    <string name="name_not_available" msgid="3800013092212550915">"Name not available"</string>
</resources>
