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