<?xml version="1.0" encoding="UTF-8"?>
<!-- 
/**
 * Copyright (c) 2016, 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="pip_close" msgid="3480680679023423574">"PIP жабу"</string>
    <string name="pip_fullscreen" msgid="8604643018538487816">"Толық экран"</string>
    <string name="pip_play" msgid="674145557658227044">"Ойнату"</string>
    <string name="pip_pause" msgid="8412075640017218862">"Кідірту"</string>
    <string name="pip_hold_home" msgid="340086535668778109">"PIP басқару үшін "<b>"HOME"</b>" басып тұрыңыз"</string>
    <string name="pip_onboarding_description" msgid="2882896641362814195">"PIP функциясын басқару үшін HOME түймесін басып тұрыңыз"</string>
    <string name="pip_onboarding_button" msgid="3957426748484904611">"Түсіндім"</string>
    <string name="recents_tv_dismiss" msgid="3555093879593377731">"Жабу"</string>
</resources>
