<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2009 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="ringtone_default" msgid="798836092118824500">"Стандардна мелодија"</string>
    <string name="notification_sound_default" msgid="8133121186242636840">"Стандарден звук за известување"</string>
    <string name="alarm_sound_default" msgid="4787646764557462649">"Стандарден звук за аларм"</string>
    <string name="add_ringtone_text" msgid="6642389991738337529">"Додај мелодија"</string>
    <string name="add_alarm_text" msgid="3545497316166999225">"Додајте аларм"</string>
    <string name="add_notification_text" msgid="4431129543300614788">"Додајте известување"</string>
    <string name="delete_ringtone_text" msgid="201443984070732499">"Избриши"</string>
    <string name="unable_to_add_ringtone" msgid="4583511263449467326">"Не може да се додаде приспособена мелодија"</string>
    <string name="unable_to_delete_ringtone" msgid="6792301380142859496">"Не може да се избрише приспособена мелодија"</string>
    <string name="app_label" msgid="3091611356093417332">"Звуци"</string>
</resources>
