<?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>
