<?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 nieuwe berichten</item>
      <item quantity="one">Nieuw bericht</item>
    </plurals>
    <string name="action_play" msgid="1884580550634079470">"Afspelen"</string>
    <string name="action_mark_as_read" msgid="5185216939940407938">"Markeren als gelezen"</string>
    <string name="action_repeat" msgid="8184323082093728957">"Herhalen"</string>
    <string name="action_reply" msgid="564106590567600685">"Beantwoorden"</string>
    <string name="action_stop" msgid="6950369080845695405">"Stoppen"</string>
    <string name="action_close_messages" msgid="7949295965012770696">"Sluiten"</string>
    <string name="auto_reply_failed_message" msgid="6445984971657465627">"Antwoord kan niet worden verstuurd. Probeer het opnieuw."</string>
    <string name="auto_reply_device_disconnected" msgid="5861772755278229950">"Antwoord kan niet worden verstuurd. Apparaat is niet verbonden."</string>
    <string name="tts_sender_says" msgid="5352698006545359668">"%s zegt"</string>
    <string name="tts_failed_toast" msgid="1483313550894086353">"Kan bericht niet voorlezen."</string>
    <string name="reply_message_display_template" msgid="6348622926232346974">"\'%s\'"</string>
    <string name="message_sent_notice" msgid="7172592196465284673">"Antwoord naar %s gestuurd"</string>
    <string name="name_not_available" msgid="3800013092212550915">"Naam niet beschikbaar"</string>
</resources>
