<?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">"ಪ್ಲೇ ಮಾಡಿ"</string>
    <string name="action_mute_short" msgid="5239851786101022633">"ಮ್ಯೂಟ್"</string>
    <string name="action_mute_long" msgid="6846675719189989477">"ಸಂವಾದವನ್ನು ಮ್ಯೂಟ್ ಮಾಡಿ"</string>
    <string name="action_unmute_short" msgid="7157822835069715986">"ಅನ್‌ಮ್ಯೂಟ್"</string>
    <string name="action_unmute_long" msgid="22482625837159466">"ಸಂವಾದವನ್ನು ಅನ್‌ಮ್ಯೂಟ್ ಮಾಡಿ"</string>
    <string name="action_canned_reply" msgid="4045960823021872834">"\"ಡ್ರೈವ್ ಮಾಡುತ್ತಿದ್ದೇನೆ.\""</string>
    <string name="canned_reply_message" msgid="7959257272917598063">"ಡ್ರೈವ್ ಮಾಡುತ್ತಿದ್ದೇನೆ."</string>
    <string name="toast_message_sent_success" msgid="1159956191974273064">"ಸಂದೇಶವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಕಳುಹಿಸಲಾಗಿದೆ."</string>
    <string name="notification_service_label" msgid="7512186049723777468">"ಕಾರ್‌ ಅಧಿಸೂಚನೆ ಕೇಳುವ ಸೇವೆ"</string>
    <string name="notifications" msgid="2865534625906329283">"ಅಧಿಸೂಚನೆಯ ಕೇಂದ್ರ"</string>
    <string name="clear_all" msgid="1845314281571237722">"ತೆರವುಗೊಳಿಸಿ"</string>
    <string name="ellipsized_string" msgid="6993649229498857557">"…"</string>
    <string name="show_more" msgid="7291378544926443344">"ಹೆಚ್ಚು ತೋರಿಸಿ"</string>
    <string name="notification_header" msgid="324550431063568049">"ಅಧಿಸೂಚನೆಗಳು"</string>
    <string name="empty_notification_header" msgid="4928379791607839720">"ಯಾವುದೇ ಅಧಿಸೂಚನೆಗಳಿಲ್ಲ"</string>
    <string name="show_less" msgid="7342677676229302829">"ಕಡಿಮೆ ತೋರಿಸಿ"</string>
    <string name="show_count_more" msgid="480555295700318609">"<xliff:g id="COUNT">%d</xliff:g> ಇನ್ನಷ್ಟು ತೋರಿಸಿ"</string>
    <string name="message_unshown_count" msgid="2234421277246741233">" +<xliff:g id="COUNT">%d</xliff:g> ಇನ್ನಷ್ಟು"</string>
    <plurals name="restricted_message_text" formatted="false" msgid="507312322886633308">
      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> ಹೊಸ ಸಂದೇಶಗಳು</item>
      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ಹೊಸ ಸಂದೇಶಗಳು</item>
    </plurals>
</resources>
