<?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 секунда}one{# секунда}few{# секунды}many{# секунд}other{# секунды}}"</string>
    <string name="slider_seek_bar_content_description" msgid="811285658152645524">"Чтобы активировать, проведите двумя пальцами"</string>
</resources>
