#
# Copyright 2017-present Open Networking Foundation
#
# 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.
#
#

# Text that appears in the navigation panel
nav_item_topo=Topología

# Message when no devices are connected
no_devices_are_connected=Ningún dispositivo conectado

# Action Key Toolbar Tooltips ...
tbtt_tog_instances=Muestra el panel de instancias de ONOS
tbtt_tog_summary=Muestra el panel de sumario de ONOS
tbtt_tog_use_detail=Habilita el panel de detalles
tbtt_tog_host=Activa visibilidad de hosts
tbtt_tog_offline=Activa la visibilidad offline
tbtt_tog_porthi=Muestra puertos resaltados
tbtt_bad_links=Muestra enlaces con problemas 
tbtt_tog_map=Muestra mapa geográfico en el fondo
tbtt_sel_map=Selecciona mapa geográfico de fondo
tbtt_tog_sprite=Activa capa sprite
tbtt_reset_loc=Inicializa localización de nodos
tbtt_tog_oblique=Activa la vista oblicua (experimental)
tbtt_cyc_layers=Capas cíclicas de nodo
tbtt_cyc_dev_labs=Etiquetas cíclicas de dispositivo
tbtt_cyc_host_labs=Etiquetas cíclicas de hoste
tbtt_unpin_node=Desbloquea el nodo (Unpin-hover mouse over)
tbtt_reset_zoom=Reinicia nivel de zoom
tbtt_tog_toolbar=Muestra la barra de herramientas
tbtt_eq_master=Iguala los roles de master

# Quick Help Gestures
qh_gest_click=Selecciona item y muestra detalles
qh_gest_shift_click=Activa seleccion de estado
qh_gest_drag=Vuelve a fijar en un punto el dispositivo / host
qh_gest_cmd_scroll=Zoom in / out
qh_gest_cmd_drag=Pan

# Flash Messages
fl_background_map=Mapa de fondo
fl_sprite_layer=Capa sprite
fl_pan_zoom_reset=Reinicializa nivel de zoom
fl_eq_masters=Igualando los roles de master

fl_device_labels_hide=Oculta etiquetas de dispositivo
fl_device_labels_show_friendly=Muestra etiquetas con el nombre del dispositivo 
fl_device_labels_show_id=Muestra etiquetas con el indicador (device ID)
fl_host_labels_show_friendly=Muestra etiquetas con el nombre del host 
fl_host_labels_show_ip=Muestra dirección IP del host
fl_host_labels_show_mac=Muestra la dirección MAC del host
fl_host_labels_hide=Oculta etiquetas de host

fl_offline_devices=Dispositivos fuera de línea
fl_bad_links=Enlaces con problemas
fl_reset_node_locations=Reinicia la localización de nodos

fl_layer_all=Muestra todas las capas
fl_layer_pkt=Muestra la capa de paquetes
fl_layer_opt=Muestra la capa óptica

fl_panel_instances=Instances Panel de instancias
fl_panel_summary=Panel de sumario
fl_panel_details=Panel de detalles

fl_port_highlighting=Puerto resalatado

fl_oblique_view=Vista oblicua
fl_normal_view=Vista Normal

fl_monitoring_canceled=Monitorización cancelada
fl_selecting_intent=Seleccionando Intent

# Core Overlays
ov_tt_protected_intents=Capa de Intents protegidos
ov_tt_traffic=Capa de tráfico
ov_tt_none=Sin capas

# Traffic Overlay
tr_btn_create_h2h_flow=Crear flujo Host-to-Host Flow
tr_btn_create_msrc_flow=Crear flujo Multi-Source
tr_btn_show_device_flows=Muestra flujos de dispositivo
tr_btn_show_related_traffic=Muestra el tráfico relacionado
tr_btn_cancel_monitoring=Cancela la motitorización de tráfico
tr_btn_monitor_all=Monitoriza todo el tráfico
tr_btn_show_dev_link_flows=Muestra flujos en enlace de dispositivo
tr_btn_show_all_rel_intents=Muestra todos los intents relacionados
tr_btn_show_prev_rel_intent=Muestra los anteriores intents relacionados
tr_btn_show_next_rel_intent=Muestra los siguientes intents relacionados
tr_btn_monitor_sel_intent=Monitoriza el trafico del intent seleccionado
tr_fl_fstats_bytes=Estadísticas de flujo (bytes)
tr_fl_pstats_bits=Estadísticas de puerto (bits / segundo)
tr_fl_pstats_pkts=Estadísticas de puerto (paquetes / segundo)
tr_fl_dev_flows=Flujos de dispositivo
tr_fl_rel_paths=Caminos relacionados
tr_fl_prev_rel_int=Previos intent relacionados
tr_fl_next_rel_int=Siguientes intent relacionados
tr_fl_traf_on_path=Tráfico en el camino seleccionado
tr_fl_h2h_flow_added=Añadido flujo Host-to-Host
tr_fl_multisrc_flow=Flujo Multi-Source

# Button tooltips
btn_show_view_device=Muestra la vista de dispositivo
btn_show_view_flow=Muestra vista de flujos de este dispositivo
btn_show_view_port=Muestra la vista de puertos de este dispositivo
btn_show_view_group=Muestra la vista de grupo para este dispositivo
btn_show_view_meter=Muestra la vista de contadores para este dispositivo

# Panel Titles
title_select_map=Mapa seleccionado
title_panel_summary=Sumario de ONOS
title_selected_items=Items Seleccionados
title_edge_link=Enlace de terminación
title_infra_link=Enlace de infraestructura

# Custom Panel Labels / Values
lp_label_friendly= Nombre

lp_label_a_type=Tipo A
lp_label_a_id=A id
lp_label_a_friendly=Nombre A
lp_label_a_port=Puerto A 

lp_label_b_type=Tipo B
lp_label_b_id=B id
lp_label_b_friendly=Nombre B
lp_label_b_port=Puerto B

lp_label_a2b=A to B
lp_label_b2a=B to A

lp_value_no_link=[no link]
