<?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="title" msgid="9099755437807065998">"ස්ථානීය පද්ධති යාවත්කාලීනය"</string>
    <string name="invalid_file_type" msgid="5363346679377832590">"යාවත්කාලීනය සඳහා මෙය වලංගු ගොනුවක් නොවේ"</string>
    <string name="unknown_file" msgid="4460330045071455406">"නොදන්නා ගොනුවකි"</string>
    <string name="cannot_access_storage" msgid="692801523959625901">"ආචයන උපාංගයට ප්‍රවේශ විය නොහැක"</string>
    <string name="update_in_progress" msgid="7657197919645064655">"පද්ධති යාවත්කාලීනය යොදමින්"</string>
    <string name="update_file_name" msgid="3034222525060204549">"ගොනුව: %s"</string>
    <string name="update_file_size" msgid="4816394194716640579">"තරම: "</string>
    <string name="install_now" msgid="1526380165774958831">"දැන් ස්ථාපනය කරන්න"</string>
    <string name="update_failed" msgid="6878694841476888954">"යාවත්කාලීනය අසමත් විය"</string>
    <string name="verify_in_progress" msgid="8125900023523483860">"යාවත්කාලීනය සත්‍යාපනය වේ…"</string>
    <string name="verify_failure" msgid="5077656735909871291">"කරුණාකර වලංගු යාවත්කාලීන ගොනුවක් තෝරන්න."</string>
    <string name="install_ready" msgid="5831701403889581045">"යාවත්කාලීනය ස්ථාපනයට සූදානම්."</string>
    <string name="install_in_progress" msgid="1447531401625704953">"ස්ථාපනය කරමින් පවතී…"</string>
    <string name="install_success" msgid="7607370228817982339">"යාවත්කාලීනය සාර්ථකයි."</string>
    <string name="install_failed" msgid="6019321590904856934">"පද්ධති යාවත්කාලීන ස්ථාපනය අසමත් විය."</string>
    <string name="rebooting" msgid="2147644401685874548">"යාවත්කාලීනය සාර්ථකයි. දැන් යළි පණගැන්වේ…"</string>
    <string name="volumes" msgid="9062088000979584509">"පරිමාවන් (%d)"</string>
    <string name="path" msgid="7133964085947968274">"මග: %s"</string>
</resources>
