<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2020 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="wifi_eap_error_message_code_32760" msgid="5711364720754353427">"<xliff:g id="SSID">%1$s</xliff:g>: Povezave s storitvijo Verizon Wi-Fi Access ni mogoče vzpostaviti zunaj območja, ki ga pokriva operater Verizon."</string>
    <string name="wifi_eap_error_message_code_32761" msgid="7871615432524623339">"<xliff:g id="SSID">%1$s</xliff:g>: Niste naročeni na storitev Verizon Wi-Fi Access. Pokličite nas na 800-922-0204."</string>
    <string name="wifi_eap_error_message_code_32762" msgid="2994908156286205343">"<xliff:g id="SSID">%1$s</xliff:g>: Prišlo je do težave z vašim računom za storitev Verizon Wi-Fi Access. Pokličite nas na 800-922-0204."</string>
    <string name="wifi_eap_error_message_code_32763" msgid="8051026304965697200">"<xliff:g id="SSID">%1$s</xliff:g>: Povezava s storitvijo Verizon Wi-Fi Access je že vzpostavljena."</string>
    <string name="wifi_eap_error_message_code_32764" msgid="7311904315070770780">"<xliff:g id="SSID">%1$s</xliff:g>: Prišlo je do težave pri povezovanju s storitvijo Verizon Wi-Fi Access. Pokličite nas na 800-922-0204."</string>
    <string name="wifi_eap_error_message_code_32765" msgid="576968115890091383">"<xliff:g id="SSID">%1$s</xliff:g>: Prišlo je do težave z vašim računom za storitev Verizon Wi-Fi Access. Pokličite nas na 800-922-0204."</string>
    <string name="wifi_eap_error_message_code_32766" msgid="895346637290649533">"<xliff:g id="SSID">%1$s</xliff:g>: Storitev Verizon Wi-Fi Access ni na voljo na vaši lokaciji. Poskusite znova pozneje ali z druge lokacije."</string>
</resources>
