Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spanish translations #314

Merged
merged 2 commits into from
Jan 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/sync_translate.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ python3 auto_translator.py en zh-CN
# python3 auto_translator.py en pt
python3 auto_translator.py en ru
python3 auto_translator.py en tr
python3 auto_translator.py en es



Expand Down
332 changes: 332 additions & 0 deletions assets/translations/strings_es.i18n.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,332 @@
{
"general": {
"reset": "Renicio",
"appTitle": "Hiddify Next",
"toggle": {
"enabled": "Activado",
"disabled": "Desactivado"
},
"state": {
"disable": "Desactivar"
},
"sort": "Clasificar",
"sortBy": "Ordenar por",
"addToClipboard": "Añadir al portapapeles"
},
"home": {
"emptyProfilesMsg": "Comience agregando un perfil de suscripción",
"connection": {
"disconnecting": "Desconectando",
"experimentalNotice": "Funciones experimentales en uso",
"tapToConnect": "Toque para conectarse",
"connecting": "Conectando",
"connected": "Conectado",
"experimentalNoticeMsg": "Ha habilitado algunas funciones experimentales que podrían afectar la calidad de la conexión y provocar errores inesperados. Siempre puede cambiar o restablecer estas opciones desde la página de opciones de configuración.",
"disableExperimentalNotice": "No volver a mostrar"
},
"pageTitle": "Hogar",
"noActiveProfileMsg": "Elige un perfil",
"stats": {
"traffic": "Tráfico en vivo",
"trafficTotal": "Tráfico total",
"uplink": "Enlace ascendente",
"downlink": "Enlace descendente"
}
},
"profile": {
"overviewPageTitle": "Perfiles",
"activeProfileNameSemanticLabel": "Nombre del perfil activo: \"${name}\".",
"activeProfileBtnSemanticLabel": "Ver todos los perfiles.",
"subscription": {
"expired": "Caducado",
"traffic": "Tráfico",
"updatedTimeAgo": "Actualizado ${timeago}",
"remainingDuration": "${duration} días restantes",
"remainingTrafficSemanticLabel": "${consumed} de ${total} tráfico consumido.",
"noTraffic": "Fuera de cuota"
},
"update": {
"updateSubscriptions": "Actualizar suscripciones",
"successMsg": "Perfil actualizado con éxito",
"namedSuccessMsg": "\"${name}\" actualizado exitosamente",
"buttonTxt": "Actualizar",
"tooltip": "Actualización del perfil",
"failureMsg": "No se pudo actualizar el perfil",
"namedFailureMsg": "No se pudo actualizar \"${name}\""
},
"share": {
"exportToClipboardSuccess": "Exportado al portapapeles",
"exportConfigToClipboardSuccess": "Configuración copiada al portapapeles",
"buttonText": "Compartir",
"exportSubLinkToClipboard": "Exportar enlace de suscripción al portapapeles",
"subLinkQrCode": "Código QR del enlace de suscripción",
"exportConfigToClipboard": "Exportar configuración al portapapeles"
},
"delete": {
"successMsg": "Perfil eliminado exitosamente",
"buttonTxt": "Borrar",
"confirmationMsg": "¿Eliminar perfil permanentemente?"
},
"save": {
"successMsg": "Perfil guardado exitosamente",
"buttonText": "Ahorrar",
"failureMsg": "No se pudo guardar el perfil"
},
"detailsPageTitle": "Perfil",
"nonActiveProfileBtnSemanticLabel": "Seleccione \"${name}\" como perfil activo.",
"sortBy": {
"lastUpdate": "Recientemente actualizado",
"name": "Alfabéticamente"
},
"add": {
"buttonText": "Nuevo perfil",
"shortBtnTxt": "Nuevo perfil",
"fromClipboard": "Agregar desde el portapapeles",
"scanQr": "Escanear código QR",
"qrScanner": {
"permissionDeniedError": "Permiso denegado",
"unexpectedError": "Algo salió mal",
"torchSemanticLabel": "Linterna",
"facingSemanticLabel": "Frente a la cámara"
},
"manually": "Entrada manual",
"addingProfileMsg": "Agregar perfil",
"failureMsg": "No se pudo agregar el perfil"
},
"edit": {
"buttonTxt": "Editar",
"selectActiveTxt": "Seleccionar perfil activo"
},
"detailsForm": {
"nameLabel": "Nombre",
"nameHint": "Nombre de perfil",
"urlLabel": "URL",
"urlHint": "URL de configuración completa",
"emptyNameMsg": "Se requiere el nombre",
"invalidUrlMsg": "URL invalida",
"lastUpdate": "Última actualización",
"updateInterval": "Actualización automática",
"updateIntervalDialogTitle": "Intervalo de actualización automática (en horas)"
}
},
"proxies": {
"pageTitle": "Proxies",
"emptyProxiesMsg": "No proxies disponibles",
"delayTestTooltip": "Prueba de Restraso",
"sortTooltip": "Ordenar Proxies",
"sortOptions": {
"unsorted": "Por Defecto",
"name": "Alfabéticamente",
"delay": "Por retraso"
}
},
"logs": {
"resumeTooltip": "reanudar",
"pageTitle": "Registros",
"filterHint": "Filtrar",
"allLevelsFilter": "Todo",
"shareCoreLogs": "Compartir registros principales",
"shareAppLogs": "Compartir registros de aplicaciones",
"pauseTooltip": "Pausa",
"clearTooltip": "Claro"
},
"settings": {
"requiresRestartMsg": "Para que esto surta efecto, reinicie la aplicación.",
"experimentalMsg": "Las funciones con el indicador Experimental aún están en desarrollo y pueden causar problemas.",
"general": {
"regionMsg": "Ayuda a configurar opciones predeterminadas para omitir direcciones nacionales",
"themeModes": {
"system": "Seguir el tema del sistema",
"dark": "Modo Oscuro",
"light": "Modo Claro",
"black": "Modo Negro"
},
"silentStart": "Inicio Silencioso",
"ignoreBatteryOptimizationsMsg": "Elimine las restricciones para un rendimiento VPN óptimo",
"sectionTitle": "General",
"locale": "Idioma",
"region": "Región",
"regions": {
"ir": "Irán (ir)",
"cn": "China (CN)",
"ru": "Rusia (ru)",
"af": "Afganistán (af)",
"other": "Otro"
},
"themeMode": "Modo temático",
"enableAnalytics": "Habilitar análisis",
"enableAnalyticsMsg": "Dar permiso para recopilar análisis y enviar informes de fallos para mejorar la aplicación.",
"autoStart": "Inicie en el arranque",
"openWorkingDir": "Abrir directorio de trabajo",
"ignoreBatteryOptimizations": "Deshabilitar la optimización de la batería",
"dynamicNotification": "Mostrar velocidad en la notificación"
},
"advanced": {
"debugModeMsg": "Reinicie la aplicación para aplicar este cambio.",
"sectionTitle": "Avanzado",
"debugMode": "Modo de depuración",
"memoryLimit": "Limite de memoria"
},
"network": {
"perAppProxyModes": {
"off": "Todo",
"offMsg": "Proxy en todas las aplicaciones",
"include": "Proxy",
"includeMsg": "Proxy solo en aplicaciones seleccionadas",
"exclude": "Bypass",
"excludeMsg": "No hacer proxy de aplicaciones seleccionadas"
},
"hideSystemApps": "Ocultar aplicaciones del sistema",
"perAppProxyPageTitle": "Proxy por aplicación",
"showSystemApps": "Mostrar aplicaciones del sistema",
"clearSelection": "Selección clara"
},
"config": {
"resetBtn": "Restablecer opciones",
"serviceModes": {
"proxy": "Proxy",
"systemProxy": "Sistema Proxy",
"tun": "VPN"
},
"logLevel": "Registro del Nivel",
"resolveDestination": "Resolver Destino",
"ipv6Modes": {
"disable": "Desactivar",
"enable": "Activar",
"prefer": "Preferido",
"only": "Exclusivo"
},
"remoteDnsAddress": "DNS Remoto",
"directDnsAddress": "DNS Directo",
"connectionTestUrl": "URL de prueba de conexión",
"urlTestInterval": "URL Prueba de Intervalo",
"strictRoute": "Ruta estricta",
"serviceMode": "Modo de servicio",
"section": {
"route": "Opciones de ruta",
"dns": "Opciones de DNS",
"inbound": "Opciones entrantes",
"outbound": "Opciones de salida",
"tlsTricks": "Trucos TLS",
"misc": "Opciones varias"
},
"pageTitle": "Opciones de configuración",
"ipv6Mode": "Ruta IPv6",
"remoteDnsDomainStrategy": "Estrategia de dominio DNS remoto",
"directDnsDomainStrategy": "Estrategia de dominio DNS directo",
"mixedPort": "Puerto Mixto",
"localDnsPort": "Puerto DNS local",
"allowConnectionFromLan": "Permitir conexión desde LAN",
"tunImplementation": "Implementación de TUN",
"mtu": "MTU",
"enableClashApi": "Habilitar API de choque",
"clashApiPort": "Puerto API de choque",
"enableTun": "Habilitar sintonización",
"setSystemProxy": "Establecer proxy del sistema",
"enableDnsRouting": "Habilitar enrutamiento DNS",
"enableFakeDns": "Habilitar DNS falso",
"bypassLan": "Omitir LAN",
"enableTlsFragment": "Habilitar fragmento TLS",
"tlsFragmentSize": "Tamaño del fragmento TLS",
"tlsFragmentSleep": "Sueño de fragmento TLS",
"enableTlsMixedSniCase": "Habilitar caso SNI mixto TLS",
"enableTlsPadding": "Habilitar el relleno TLS",
"tlsPaddingSize": "Relleno TLS"
},
"geoAssets": {
"successMsg": "Activo actualizado correctamente",
"missingGeoAssetsMsg": "Faltan los archivos de los recursos de enrutamiento seleccionados. Descárgalos o elige los existentes.",
"pageTitle": "Activos de enrutamiento",
"version": "Versión ${version}",
"fileMissing": "Archivo faltante",
"update": "Actualizar",
"download": "Descargar",
"failureMsg": "No se pudo actualizar el activo",
"addRecommended": "Agregar activos recomendados"
},
"pageTitle": "Ajustes",
"experimental": "Experimental"
},
"appUpdate": {
"notAvailableMsg": "Ya estas usando la última versión.",
"dialogTitle": "Actualización disponible",
"updateMsg": "Hay disponible una nueva versión de @:general.appTitle. ¿Te gustaría actualizar ahora?",
"currentVersionLbl": "Versión actual",
"newVersionLbl": "Nueva versión",
"updateNowBtnTxt": "Actualizar ahora",
"laterBtnTxt": "Más tarde",
"ignoreBtnTxt": "Ignorar"
},
"tray": {
"status": {
"disconnect": "Desconectado",
"disconnecting": "Desconectando",
"connect": "Conectar",
"connecting": "Conectando"
},
"dashboard": "Panel",
"quit": "Abandonar",
"open": "Abierto"
},
"failure": {
"singbox": {
"missingPrivilegeMsg": "El modo VPN requiere privilegios de administrador. Reinicie la aplicación como administrador o cambie el modo de servicio.",
"unexpected": "Error de servicio inesperado",
"serviceNotRunning": "El servicio no está funcionando",
"missingPrivilege": "Privilegio perdido",
"missingGeoAssets": "Recursos geográficos faltantes",
"missingGeoAssetsMsg": "Faltan recursos geográficos. considere cambiar el activo activo o descargar uno seleccionado en la configuración.",
"invalidConfigOptions": "Opciones de configuración no válidas",
"invalidConfig": "Configuración no válida",
"create": "Error de creación del servicio",
"start": "Error de inicio del servicio"
},
"profiles": {
"unexpected": "Error Inesperado",
"notFound": "Perfil no encontrado",
"invalidConfig": "Configuracion Invalida",
"invalidUrl": "URL Invalido"
},
"connection": {
"badResponse": "Mala respuesta",
"unexpected": "Error de conexión inesperado",
"timeout": "El tiempo de conexión expiro",
"connectionError": "Error de conexión",
"badCertificate": "Certificado malo"
},
"unexpected": "Error inesperado",
"clash": {
"unexpected": "Error inesperado",
"core": "Error de choque ${reason}"
},
"connectivity": {
"unexpected": "Falla inesperada",
"missingVpnPermission": "Permiso VPN faltante",
"missingNotificationPermission": "Permiso de notificación faltante",
"core": "Error central"
},
"geoAssets": {
"unexpected": "Error inesperado",
"notUpdate": "Actualización no disponible",
"activeNotFound": "Activo geográfico activo no encontrado"
}
},
"play": {
"short_description": "Auto, SSH, VLESS, Vmess, Trojan, Reality, Sing-Box, Clash, Xray, Shadowsocks",
"full_description": "El objetivo clave de HiddifyNext es proporcionar un cliente de túnel seguro, fácil de usar y eficiente. Le permite enrutar todo el tráfico o el tráfico de aplicaciones seleccionadas a un servidor remoto de su elección, utilizando el permiso del servicio VPN.Nota: No proporcionamos ningún servidor; Los usuarios deben garantizar que sus actividades en línea permanezcan privadas mediante el uso de su propio servidor autohospedado o servidores confiables. Soportamos servidores con:- Enlace de suscripción normal a V2ray/Xray- Enlace de suscripción a Choque- Enlace de suscripción a Sing-Box¿Cuáles son nuestras características únicas? - Fácil de usar - Optimizado y Rápido - Seleccionar automáticamente LowestPing - Mostrar información de uso del usuario. - Importe fácilmente un subvínculo con un solo clic mediante enlaces profundos - Gratis y sin anuncios - Cambie fácilmente los subvínculos de usuario - más y másApoyo:- Todos los protocolos soportados por Sing-Box- VLESS + xtls realidad, visión- VMESS- troyano- Calcetines Shoadow- Realidad-V2ray-Histria2-TUIC-SSH- SombraTLSEl código fuente existe en https://github.com/hiddify/Hiddify-NextEl núcleo de la aplicación se basa en sing-box de código abierto.Descripción del permiso:- Servicio VPN: como el objetivo de esta aplicación es proporcionar un cliente de túnel seguro, fácil de usar y eficiente, necesitamos este permiso para poder enrutar el tráfico a través del túnel al servidor remoto.- CONSULTAR TODOS LOS PAQUETES: este permiso se utiliza para permitir a los usuarios incluir o excluir aplicaciones específicas para la tunelización.- RECIBIR ARRANQUE COMPLETADO: este permiso se puede habilitar o deshabilitar desde la configuración de la aplicación para activar esta aplicación al iniciar el dispositivo.- PUBLICAR NOTIFICACIONES: este permiso es esencial ya que empleamos un servicio en primer plano para garantizar el funcionamiento continuo del servicio VPN.- Esta aplicación está libre de publicidad. Los datos analíticos y de fallos solo se producen con el consentimiento explícito del usuario en el primer uso de la aplicación.",
"title": "Hiddify Next (vista previa)"
},
"intro": {
"termsAndPolicyCaution(rich)": "al continuar, aceptas ${tap(@:about.termsAndConditions)}",
"start": "Comenzar"
},
"about": {
"pageTitle": "Acerca de",
"version": "Versión",
"sourceCode": "Código fuente",
"telegramChannel": "Canal de telegramas",
"checkForUpdate": "Buscar actualizaciones",
"privacyPolicy": "Política de privacidad",
"termsAndConditions": "Términos y condiciones"
}
}
4 changes: 2 additions & 2 deletions assets/translations/strings_fa.i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,11 +73,11 @@
"update": {
"buttonTxt": "بروزرسانی",
"tooltip": "بروزرسانی پروفایل",
"updateSubscriptions": "بروزرسانی اشتراک‌ها",
"failureMsg": "در بروزرسانی پروفایل خطایی رخ داد",
"successMsg": "پروفایل با موفقیت بروزرسانی شد",
"namedFailureMsg": "در بروزرسانی \"${name}\" خطایی رخ داد",
"namedSuccessMsg": "\"${name}\" با موفقیت به روز شد",
"updateSubscriptions": "بروزرسانی اشتراک‌ها"
"namedSuccessMsg": "\"${name}\" با موفقیت به روز شد"
},
"share": {
"buttonText": "اشتراک گذاری",
Expand Down
4 changes: 2 additions & 2 deletions assets/translations/strings_ru.i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,11 +73,11 @@
"update": {
"buttonTxt": "Обновить",
"tooltip": "Обновить профиль",
"updateSubscriptions": "Обновить подписки",
"failureMsg": "Не удалось обновить профиль",
"successMsg": "Профиль успешно обновлён",
"namedFailureMsg": "Не удалось обновить \"${name}\".",
"namedSuccessMsg": "\"${name}\" успешно обновлено",
"updateSubscriptions": "Обновить подписки"
"namedSuccessMsg": "\"${name}\" успешно обновлено"
},
"share": {
"buttonText": "Поделиться",
Expand Down
4 changes: 2 additions & 2 deletions assets/translations/strings_tr.i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,11 +73,11 @@
"update": {
"buttonTxt": "Güncelle",
"tooltip": "Profili Güncelle",
"updateSubscriptions": "Abonelikleri Güncelle",
"failureMsg": "Profil güncellenemedi",
"successMsg": "Profil başarıyla güncellendi",
"namedFailureMsg": "\"${name}\" güncellenemedi",
"namedSuccessMsg": "\"${name}\" başarıyla güncellendi",
"updateSubscriptions": "Abonelikleri Güncelle"
"namedSuccessMsg": "\"${name}\" başarıyla güncellendi"
},
"share": {
"buttonText": "Paylaş",
Expand Down
4 changes: 2 additions & 2 deletions assets/translations/strings_zh-CN.i18n.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,11 +73,11 @@
"update": {
"buttonTxt": "更新",
"tooltip": "更新配置文件",
"updateSubscriptions": "更新订阅",
"failureMsg": "更新配置文件失败",
"successMsg": "配置文件更新成功",
"namedFailureMsg": "无法更新\"${name}\"",
"namedSuccessMsg": "\"${name}\" 更新成功",
"updateSubscriptions": "更新订阅"
"namedSuccessMsg": "\"${name}\" 更新成功"
},
"share": {
"buttonText": "分享",
Expand Down
Loading