<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2008 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="app_label" msgid="5439897702697364618">"Зберігання вмісту, захищен. DRM"</string>
    <string name="permlab_accessDrm" msgid="1806974558208719656">"Доступ до DRM-вмісту."</string>
    <string name="permdesc_accessDrm" msgid="4007141468321381195">"Дозволяє програмі отримувати доступ до вмісту, захищеного DRM."</string>
    <string name="permlab_installDrm" msgid="4716871004736576753">"Установити DRM-вміст."</string>
    <string name="permdesc_installDrm" msgid="6760690341551044340">"Дозволяє програмі встановлювати вміст, захищений DRM."</string>
</resources>
