<?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>: не може да се поврзете на Verizon Wi-Fi Access надвор од областа на покривање на Verizon."</string>
    <string name="wifi_eap_error_message_code_32761" msgid="7871615432524623339">"<xliff:g id="SSID">%1$s</xliff:g>: не сте претплатени на Verizon Wi-Fi Access. Контактирајте со нас на 800-922-0204."</string>
    <string name="wifi_eap_error_message_code_32762" msgid="2994908156286205343">"<xliff:g id="SSID">%1$s</xliff:g>: проблем со вашата сметка на Verizon Wi-Fi Access. Контактирајте со нас на 800-922-0204."</string>
    <string name="wifi_eap_error_message_code_32763" msgid="8051026304965697200">"<xliff:g id="SSID">%1$s</xliff:g>: веќе сте поврзани на Verizon Wi-Fi Access."</string>
    <string name="wifi_eap_error_message_code_32764" msgid="7311904315070770780">"<xliff:g id="SSID">%1$s</xliff:g>: наидовме на проблем при обидот да ве поврземе на Verizon Wi-Fi Access. Контактирајте со нас на 800-922-0204."</string>
    <string name="wifi_eap_error_message_code_32765" msgid="576968115890091383">"<xliff:g id="SSID">%1$s</xliff:g>: проблем со вашата сметка на Verizon Wi-Fi Access. Контактирајте со нас на 800-922-0204."</string>
    <string name="wifi_eap_error_message_code_32766" msgid="895346637290649533">"<xliff:g id="SSID">%1$s</xliff:g> : Verizon Wi-Fi Access не е достапна од вашата локација. Обидете повторно подоцна или обидете се од друга локација."</string>
</resources>
