diff --git a/assets/translations/strings_es.i18n.json b/assets/translations/strings_es.i18n.json new file mode 100644 index 00000000..c5128dbf --- /dev/null +++ b/assets/translations/strings_es.i18n.json @@ -0,0 +1,130 @@ +{ + "general": { + "reset": "Renicio" + }, + "home": { + "emptyProfilesMsg": "Comience agregando un perfil de suscripción", + "connection": { + "disconnecting": "Desconectando", + "experimentalNotice": "Funciones experimentales en uso" + } + }, + "profile": { + "overviewPageTitle": "Perfiles", + "activeProfileNameSemanticLabel": "Nombre del perfil activo: \"${name}\".", + "activeProfileBtnSemanticLabel": "Ver todos los perfiles.", + "subscription": { + "expired": "Caducado" + }, + "update": { + "updateSubscriptions": "Actualizar suscripciones", + "successMsg": "Perfil actualizado con éxito", + "namedSuccessMsg": "\"${name}\" actualizado exitosamente" + }, + "share": { + "exportToClipboardSuccess": "Exportado al portapapeles", + "exportConfigToClipboardSuccess": "Configuración copiada al portapapeles" + }, + "delete": { + "successMsg": "Perfil eliminado exitosamente" + }, + "save": { + "successMsg": "Perfil guardado exitosamente" + } + }, + "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" + }, + "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" + }, + "advanced": { + "debugModeMsg": "Reinicie la aplicación para aplicar este cambio." + }, + "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" + }, + "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" + }, + "geoAssets": { + "successMsg": "Activo actualizado correctamente", + "missingGeoAssetsMsg": "Faltan los archivos de los recursos de enrutamiento seleccionados. Descárgalos o elige los existentes." + } + }, + "appUpdate": { + "notAvailableMsg": "Ya estas usando la última versión." + }, + "tray": { + "status": { + "disconnect": "Desconectado", + "disconnecting": "Desconectando" + } + }, + "failure": { + "singbox": { + "missingPrivilegeMsg": "El modo VPN requiere privilegios de administrador. Reinicie la aplicación como administrador o cambie el modo de servicio." + }, + "profiles": { + "unexpected": "Error Inesperado", + "notFound": "Perfil no encontrado", + "invalidConfig": "Configuracion Invalida", + "invalidUrl": "URL Invalido" + }, + "connection": { + "badResponse": "Mala respuesta" + } + }, + "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." + } +} \ No newline at end of file diff --git a/assets/translations/strings_fa.i18n.json b/assets/translations/strings_fa.i18n.json index bf6d0aa5..131ae880 100644 --- a/assets/translations/strings_fa.i18n.json +++ b/assets/translations/strings_fa.i18n.json @@ -73,11 +73,11 @@ "update": { "buttonTxt": "بروزرسانی", "tooltip": "بروزرسانی پروفایل", + "updateSubscriptions": "بروزرسانی اشتراک‌ها", "failureMsg": "در بروزرسانی پروفایل خطایی رخ داد", "successMsg": "پروفایل با موفقیت بروزرسانی شد", "namedFailureMsg": "در بروزرسانی \"${name}\" خطایی رخ داد", - "namedSuccessMsg": "\"${name}\" با موفقیت به روز شد", - "updateSubscriptions": "بروزرسانی اشتراک‌ها" + "namedSuccessMsg": "\"${name}\" با موفقیت به روز شد" }, "share": { "buttonText": "اشتراک گذاری", diff --git a/assets/translations/strings_ru.i18n.json b/assets/translations/strings_ru.i18n.json index 380dbeb0..1a0aafcf 100644 --- a/assets/translations/strings_ru.i18n.json +++ b/assets/translations/strings_ru.i18n.json @@ -73,11 +73,11 @@ "update": { "buttonTxt": "Обновить", "tooltip": "Обновить профиль", + "updateSubscriptions": "Обновить подписки", "failureMsg": "Не удалось обновить профиль", "successMsg": "Профиль успешно обновлён", "namedFailureMsg": "Не удалось обновить \"${name}\".", - "namedSuccessMsg": "\"${name}\" успешно обновлено", - "updateSubscriptions": "Обновить подписки" + "namedSuccessMsg": "\"${name}\" успешно обновлено" }, "share": { "buttonText": "Поделиться", diff --git a/assets/translations/strings_tr.i18n.json b/assets/translations/strings_tr.i18n.json index cbd2df77..263f5ca5 100644 --- a/assets/translations/strings_tr.i18n.json +++ b/assets/translations/strings_tr.i18n.json @@ -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ş", diff --git a/assets/translations/strings_zh-CN.i18n.json b/assets/translations/strings_zh-CN.i18n.json index 702765bf..03eaf498 100644 --- a/assets/translations/strings_zh-CN.i18n.json +++ b/assets/translations/strings_zh-CN.i18n.json @@ -73,11 +73,11 @@ "update": { "buttonTxt": "更新", "tooltip": "更新配置文件", + "updateSubscriptions": "更新订阅", "failureMsg": "更新配置文件失败", "successMsg": "配置文件更新成功", "namedFailureMsg": "无法更新\"${name}\"", - "namedSuccessMsg": "\"${name}\" 更新成功", - "updateSubscriptions": "更新订阅" + "namedSuccessMsg": "\"${name}\" 更新成功" }, "share": { "buttonText": "分享", diff --git a/project.inlang/settings.json b/project.inlang/settings.json index f84390a1..c54c6b2d 100644 --- a/project.inlang/settings.json +++ b/project.inlang/settings.json @@ -1,24 +1,25 @@ { - "$schema": "https://inlang.com/schema/project-settings", - "sourceLanguageTag": "en", - "languageTags": [ - "en", - "fa", - "ru", - "tr", - "zh-CN" - ], - "modules": [ - "https://cdn.jsdelivr.net/npm/@inlang/plugin-i18next@4/dist/index.js", - "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-empty-pattern@1/dist/index.js", - "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-identical-pattern@1/dist/index.js", - "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-without-source@1/dist/index.js", - "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-missing-translation@1/dist/index.js" - ], - "plugin.inlang.i18next": { - "pathPattern": "./assets/translations/strings_{languageTag}.i18n.json", - "variableReferencePattern": [ - "@:" - ] - } + "$schema": "https://inlang.com/schema/project-settings", + "sourceLanguageTag": "en", + "languageTags": [ + "en", + "es", + "fa", + "ru", + "tr", + "zh-CN" + ], + "modules": [ + "https://cdn.jsdelivr.net/npm/@inlang/plugin-i18next@4/dist/index.js", + "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-empty-pattern@1/dist/index.js", + "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-identical-pattern@1/dist/index.js", + "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-without-source@1/dist/index.js", + "https://cdn.jsdelivr.net/npm/@inlang/message-lint-rule-missing-translation@1/dist/index.js" + ], + "plugin.inlang.i18next": { + "pathPattern": "./assets/translations/strings_{languageTag}.i18n.json", + "variableReferencePattern": [ + "@:" + ] + } } \ No newline at end of file