<?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="3376257809694293454">"Омогућава апликацији да приступи садржају заштићеном DRM-ом."</string>
    <string name="permlab_installDrm" msgid="4716871004736576753">"Инсталирање DRM садржаја."</string>
    <string name="permdesc_installDrm" msgid="8352431922295326348">"Омогућава апликацији да инсталира садржај заштићен управљањем дигиталним правима (DRM)."</string>
</resources>
