<?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 за межами зони покриття."</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>
