<?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">"Lokalna posodobitev sistema"</string>
    <string name="invalid_file_type" msgid="5363346679377832590">"To ni veljavna datoteka za posodabljanje"</string>
    <string name="unknown_file" msgid="4460330045071455406">"Neznana datoteka"</string>
    <string name="cannot_access_storage" msgid="692801523959625901">"Dostop do naprave za shranjev. ni mogoč"</string>
    <string name="update_in_progress" msgid="7657197919645064655">"Uveljavljanje posodobitve sistema"</string>
    <string name="update_file_name" msgid="3034222525060204549">"Datoteka: %s"</string>
    <string name="update_file_size" msgid="4816394194716640579">"Velikost: "</string>
    <string name="install_now" msgid="1526380165774958831">"Namesti"</string>
    <string name="update_failed" msgid="6878694841476888954">"Posodobitev ni uspela"</string>
    <string name="verify_in_progress" msgid="8125900023523483860">"Preverjanje posodobitve …"</string>
    <string name="verify_failure" msgid="5077656735909871291">"Izberite veljavno datoteko za posodobitev."</string>
    <string name="install_ready" msgid="5831701403889581045">"Posodobitev je pripravljena na namest."</string>
    <string name="install_in_progress" msgid="1447531401625704953">"Nameščanje poteka …"</string>
    <string name="install_success" msgid="7607370228817982339">"Posodobitev je uspela."</string>
    <string name="install_failed" msgid="6019321590904856934">"Namestitev posodobitve sistema ni uspela"</string>
    <string name="rebooting" msgid="2147644401685874548">"Posodobitev je uspela. Vnovični zagon …"</string>
    <string name="volumes" msgid="9062088000979584509">"Nosilci (%d)"</string>
    <string name="path" msgid="7133964085947968274">"Pot: %s"</string>
</resources>
