<?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="uid_label" msgid="8421971615411294156">"මාධ්‍ය"</string>
    <string name="storage_description" msgid="4081716890357580107">"පෙදෙසි ආචයනය"</string>
    <string name="app_label" msgid="9035307001052716210">"මාධ්‍ය ගබඩාව"</string>
    <string name="artist_label" msgid="8105600993099120273">"කලාකරු"</string>
    <string name="ringtone_default" msgid="1744846699922263043">"පෙරනිමි රිංග්ටෝනය"</string>
    <string name="notification_sound_default" msgid="6541609166469990135">"පෙරනිමි දැනුම්දීම් හඬ"</string>
    <string name="alarm_sound_default" msgid="5488847775252870314">"පෙරනිමි එලාම හඬ"</string>
    <string name="root_images" msgid="5861633549189045666">"රූප"</string>
    <string name="root_videos" msgid="8792703517064649453">"වීඩියෝ"</string>
    <string name="root_audio" msgid="3505830755201326018">"ශ්‍රව්‍යය"</string>
    <string name="sound_name_awaken" msgid="5266892392848526147">"පිබිදීම"</string>
    <string name="sound_name_bounce" msgid="8771447635446665231">"පොළා පැනීම"</string>
    <string name="sound_name_drip" msgid="1744684469020662152">"ජල බිංදු වැටීම"</string>
    <string name="sound_name_gallop" msgid="2664454314532060876">"ඉක්මන් පැනීම"</string>
    <string name="sound_name_nudge" msgid="5445751598250698244">"සෙමින් පෙළඹවීම"</string>
    <string name="sound_name_orbit" msgid="4623457897813255481">"කක්ෂය"</string>
    <string name="sound_name_rise" msgid="2200258555031675806">"නැගීම"</string>
    <string name="sound_name_sway" msgid="348448316663085643">"පැද්දීම"</string>
    <string name="sound_name_wag" msgid="2730733083078126563">"එහා මෙහා යාම"</string>
    <string name="add_ringtone_text" msgid="8077717303037760418">"නාද රිද්මය එක් කරන්න"</string>
    <string name="add_alarm_text" msgid="2440919366091720815">"ඇඟවීමක් එක් කරන්න"</string>
    <string name="add_notification_text" msgid="5013822215567515665">"දැනුම්දීම එක් කරන්න"</string>
    <string name="delete_ringtone_text" msgid="2963662097583300181">"මකන්න"</string>
    <string name="unable_to_add_ringtone" msgid="6256097521165711269">"අභිරුචි නාද රිද්මය එක් කළ නොහැකිය"</string>
    <string name="unable_to_delete_ringtone" msgid="2258180073859253495">"අභිරුචි නාද රිද්මය මැකිය නොහැකිය"</string>
</resources>
