<?xml version="1.0" encoding="UTF-8"?>
<!-- 
  ~ Copyright (C) 2021 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="cancel" msgid="1942863792086990604">"రద్దు చేయండి"</string>
    <string name="emergency_action_title" msgid="4329795972111990414">"ఎమర్జెన్సీ సహాయం"</string>
    <string name="emergency_action_subtitle" msgid="5667616628096114616">"<xliff:g id="EMERGENCY_NUMBER">%1$s</xliff:g>కు కాల్‌ను సిద్ధం చేస్తోంది"</string>
    <string name="count_down_unit" msgid="7461042666268976220">"సె"</string>
    <string name="countdown_text_content_description" msgid="322778383478285712">"{seconds_left,plural, =1{1 సెకను}other{# సెకన్లు}}"</string>
    <string name="slider_seek_bar_content_description" msgid="811285658152645524">"యాక్టివేట్ చేయడానికి రెండు వేళ్లతో స్లయిడ్‌ చేయండి"</string>
</resources>
