<?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="4555573944292156870">"<xliff:g id="SSID">%1$s</xliff:g>: no puedes conectarte a Verizon Wi‑Fi Access si no estás en el área de cobertura de Verizon."</string>
    <string name="wifi_eap_error_message_code_32761" msgid="6990683739673245807">"<xliff:g id="SSID">%1$s</xliff:g>: no tienes una suscripción a Verizon Wi‑Fi Access. Llámanos al 800-922-0204."</string>
    <string name="wifi_eap_error_message_code_32762" msgid="6557033506833966794">"<xliff:g id="SSID">%1$s</xliff:g>: hay un problema con tu cuenta de Verizon Wi‑Fi Access. Llámanos al 800-922-0204."</string>
    <string name="wifi_eap_error_message_code_32763" msgid="3400795159444109915">"<xliff:g id="SSID">%1$s</xliff:g>: ya te has conectado a Verizon Wi‑Fi Access."</string>
    <string name="wifi_eap_error_message_code_32764" msgid="1312072776680938826">"<xliff:g id="SSID">%1$s</xliff:g>: no se ha podido conectar a Verizon Wi‑Fi Access. Llámanos al 800-922-0204."</string>
    <string name="wifi_eap_error_message_code_32765" msgid="8150337243297471644">"<xliff:g id="SSID">%1$s</xliff:g>: hay un problema con tu cuenta de Verizon Wi‑Fi Access. Llámanos al 800-922-0204."</string>
    <string name="wifi_eap_error_message_code_32766" msgid="962325801073733226">"<xliff:g id="SSID">%1$s</xliff:g>: Verizon Wi‑Fi Access no está disponible en tu ubicación. Inténtalo de nuevo más tarde o cuando estés en otro sitio."</string>
</resources>
