diff --git a/meshchatx/src/frontend/locales/de.json b/meshchatx/src/frontend/locales/de.json index 16f6cc1..df3c9ec 100644 --- a/meshchatx/src/frontend/locales/de.json +++ b/meshchatx/src/frontend/locales/de.json @@ -1390,6 +1390,10 @@ "title": "RNCP", "description": "Dateien über Reticulum (RNCP) mit Fortschritt senden und empfangen." }, + "rngit_explorer": { + "title": "RNGit-Explorer", + "description": "Über das Mesh gehörte RNGit-Knoten, Repository-Namen abfragen und git clone-Befehle kopieren (nur lesend)." + }, "rnstatus": { "title": "RNStatus", "description": "Schnittstellen-Zähler und verbindungsbezogener Status von Reticulum." @@ -1870,6 +1874,38 @@ "web_path_hint": "Browser können keine vollständigen Dateipfade anzeigen. Nutzen Sie die Desktop-App zum Auswählen oder fügen Sie den vollständigen Pfad auf diesem Rechner ein.", "web_save_path_prompt": "Geben Sie den absoluten Ordnerpfad auf dem Rechner mit MeshChat (Server) ein, in dem die abgerufene Datei gespeichert werden soll:" }, + "rngit_explorer": { + "back_tools": "Zurück zu Werkzeugen", + "heard_heading": "Gehörte RNGit-Knoten", + "heard_hint": "Aus Reticulum-Ankündigungen für ``git.repositories``. Klicken Sie eine Zeile an, um den Ziel-Hash unten einzutragen.", + "heard_empty": "Noch keine RNGit-Ankündigungen im Speicher. Wenn ein Peer rngit betreibt, sollte er hier erscheinen.", + "heard_load_failed": "Ankündigungen konnten nicht geladen werden", + "refresh_heard": "Aktualisieren", + "heard_title_short": "RNGit · {prefix}", + "unnamed_node": "RNGit-Knoten", + "hops_label": "Hops: {n}", + "intro": "RNGit hat keinen globalen Index: Kandidaten-Repositorynamen einfügen (einer pro Zeile). MeshChatX versucht für jedes eine entfernte Ref-Liste; erreichbare Repos zeigen eine git clone-Zeile zum Kopieren. Die App hostet oder lädt keine Git-Daten.", + "destination_hash": "RNGit-Ziel-Hash (32 Hex)", + "group_name": "Gruppe (rngit-Konfiguration)", + "repo_names_label": "Zu prüfende Repositorynamen", + "repo_names_placeholder": "MeshChatX\nmy-other-repo", + "for_push": "Liste für Push (Rechteprüfung)", + "probe": "Repositorys abfragen", + "probing": "RNGit wird abgefragt…", + "probe_done": "Abfrage beendet", + "probe_failed": "Abfrage fehlgeschlagen", + "results": "Ergebnisse", + "reachable": "OK", + "unreachable": "—", + "detail_title": "Repository: {repo}", + "clone_command": "Mit git klonen", + "copy": "Kopieren", + "copied": "In die Zwischenablage kopiert", + "copy_failed": "Kopieren fehlgeschlagen", + "refs_preview": "Refs (Vorschau)", + "truncated": "(gekürzt)", + "no_clone_hint": "Keine Klon-Zeile für nicht erreichbare Namen; Zugriff oder Schreibweise auf dem rngit-Server prüfen." + }, "rnprobe": { "network_diagnostics": "Netzwerkdiagnose", "title": "RNProbe - Ziel-Probe", @@ -2264,6 +2300,8 @@ "nav_rnprobe_desc": "Erreichbarkeit und Verzögerung prüfen", "nav_rncp": "RNCP", "nav_rncp_desc": "Dateikopie über Reticulum (RNCP)", + "nav_rngit_explorer": "RNGit-Explorer", + "nav_rngit_explorer_desc": "rngit-Repos abfragen und Klon-URL kopieren", "nav_rnstatus": "RNStatus", "nav_rnstatus_desc": "Schnittstellen- und Link-Statistik", "nav_rnpath": "RNPath", diff --git a/meshchatx/src/frontend/locales/en.json b/meshchatx/src/frontend/locales/en.json index e45b48b..8148dad 100644 --- a/meshchatx/src/frontend/locales/en.json +++ b/meshchatx/src/frontend/locales/en.json @@ -1450,6 +1450,10 @@ "title": "RNCP", "description": "Send files to or fetch files from another destination over Reticulum, with progress and optional compression." }, + "rngit_explorer": { + "title": "RNGit explorer", + "description": "RNGit nodes heard on the mesh, probe repo names, and copy git clone commands (read-only)." + }, "rnstatus": { "title": "RNStatus", "description": "Per-interface traffic counters and link status from your Reticulum instance." @@ -1930,6 +1934,38 @@ "web_path_hint": "Browsers cannot expose full file paths. Use the desktop app to browse, or paste the full path to the file on this machine.", "web_save_path_prompt": "Enter the absolute folder path on the machine running MeshChat (server) where the fetched file should be saved:" }, + "rngit_explorer": { + "back_tools": "Back to tools", + "heard_heading": "Heard rngit nodes", + "heard_hint": "From Reticulum announces for ``git.repositories``. Click a row to fill the destination hash below.", + "heard_empty": "No rngit announces in memory yet. When a peer runs rngit, it should appear here.", + "heard_load_failed": "Could not load announces", + "refresh_heard": "Refresh", + "heard_title_short": "RNGit · {prefix}", + "unnamed_node": "RNGit node", + "hops_label": "Hops: {n}", + "intro": "RNGit has no global index: paste candidate repository names (one per line). MeshChatX tries a remote ref list for each; reachable repos show a git clone line you can copy. This does not host or fetch git data inside the app.", + "destination_hash": "RNGit destination hash (32 hex)", + "group_name": "Group (rngit config)", + "repo_names_label": "Repository names to try", + "repo_names_placeholder": "MeshChatX\nmy-other-repo", + "for_push": "List for push (permission check)", + "probe": "Probe repositories", + "probing": "Probing rngit…", + "probe_done": "Probe finished", + "probe_failed": "Probe failed", + "results": "Results", + "reachable": "OK", + "unreachable": "—", + "detail_title": "Repository: {repo}", + "clone_command": "Clone with git", + "copy": "Copy", + "copied": "Copied to clipboard", + "copy_failed": "Could not copy", + "refs_preview": "Refs (preview)", + "truncated": "(truncated)", + "no_clone_hint": "No clone line for unreachable names; fix access or spelling on the rngit server." + }, "rnprobe": { "network_diagnostics": "Network Diagnostics", "title": "RNProbe - Destination Probe", @@ -2376,6 +2412,8 @@ "nav_rnprobe_desc": "Probe reachability and delay", "nav_rncp": "RNCP", "nav_rncp_desc": "File copy over Reticulum (RNCP)", + "nav_rngit_explorer": "RNGit explorer", + "nav_rngit_explorer_desc": "Probe rngit repos and copy clone URL", "nav_rnstatus": "RNStatus", "nav_rnstatus_desc": "Interface and link statistics", "nav_rnpath": "RNPath", diff --git a/meshchatx/src/frontend/locales/es.json b/meshchatx/src/frontend/locales/es.json index 3e31b11..be3e567 100644 --- a/meshchatx/src/frontend/locales/es.json +++ b/meshchatx/src/frontend/locales/es.json @@ -1450,6 +1450,10 @@ "title": "RNCP", "description": "Enviar y recibir archivos sobre Reticulum (RNCP) con progreso." }, + "rngit_explorer": { + "title": "Explorador RNGit", + "description": "Nodos RNGit oídos en la malla, sondear nombres de repositorios y copiar comandos git clone (solo lectura)." + }, "rnstatus": { "title": "RNStatus", "description": "Los contadores de interfase y el estado de conexión de Reticulum." @@ -1930,6 +1934,38 @@ "web_path_hint": "Los navegadores no pueden exponer las rutas completas del archivo. Utilice la aplicación de escritorio para navegar, o pegar la ruta completa al archivo en esta máquina.", "web_save_path_prompt": "Introduzca la ruta de carpeta absoluta en la máquina que ejecuta MeshChat (servidor) donde se debe guardar el archivo trazado:" }, + "rngit_explorer": { + "back_tools": "Volver a herramientas", + "heard_heading": "Nodos rngit detectados", + "heard_hint": "Desde anuncios de Reticulum para ``git.repositories``. Pulse una fila para rellenar el hash de destino abajo.", + "heard_empty": "Aún no hay anuncios rngit en memoria. Cuando un par ejecute rngit, debería aparecer aquí.", + "heard_load_failed": "No se pudieron cargar los anuncios", + "refresh_heard": "Actualizar", + "heard_title_short": "RNGit · {prefix}", + "unnamed_node": "Nodo RNGit", + "hops_label": "Saltos: {n}", + "intro": "RNGit no tiene índice global: pegue nombres candidatos de repositorio (uno por línea). MeshChatX intenta una lista de refs remota para cada uno; los repos alcanzables muestran una línea git clone para copiar. La aplicación no aloja ni obtiene datos git.", + "destination_hash": "Hash de destino RNGit (32 hex)", + "group_name": "Grupo (configuración rngit)", + "repo_names_label": "Nombres de repositorio a probar", + "repo_names_placeholder": "MeshChatX\nmy-other-repo", + "for_push": "Listar para push (comprobar permisos)", + "probe": "Sondear repositorios", + "probing": "Sondeando rngit…", + "probe_done": "Sondeo terminado", + "probe_failed": "Sondeo fallido", + "results": "Resultados", + "reachable": "OK", + "unreachable": "—", + "detail_title": "Repositorio: {repo}", + "clone_command": "Clonar con git", + "copy": "Copiar", + "copied": "Copiado al portapapeles", + "copy_failed": "No se pudo copiar", + "refs_preview": "Refs (vista previa)", + "truncated": "(truncado)", + "no_clone_hint": "Sin línea de clonación para nombres inalcanzables; corrija acceso u ortografía en el servidor rngit." + }, "rnprobe": { "network_diagnostics": "Diagnósticos de red", "title": "RNProbe - Destination Probe", @@ -2376,6 +2412,8 @@ "nav_rnprobe_desc": "Probe alcanzabilidad y demora", "nav_rncp": "RNCP", "nav_rncp_desc": "Copia de archivo sobre Reticulum (RNCP)", + "nav_rngit_explorer": "Explorador RNGit", + "nav_rngit_explorer_desc": "Sondear repos rngit y copiar URL de clonación", "nav_rnstatus": "RNStatus", "nav_rnstatus_desc": "Estadísticas de interfaz y enlaces", "nav_rnpath": "RNPath", diff --git a/meshchatx/src/frontend/locales/fr.json b/meshchatx/src/frontend/locales/fr.json index 2674b5e..01b4132 100644 --- a/meshchatx/src/frontend/locales/fr.json +++ b/meshchatx/src/frontend/locales/fr.json @@ -1450,6 +1450,10 @@ "title": "RNCP", "description": "Envoyez et recevez des fichiers sur Reticulum (RNCP) avec progrès." }, + "rngit_explorer": { + "title": "Explorateur RNGit", + "description": "Nœuds RNGit entendus sur le maillage, sonder les noms de dépôts et copier les commandes git clone (lecture seule)." + }, "rnstatus": { "title": "Statut RN", "description": "Compteurs par interface et statut orienté lien de Reticulum." @@ -1930,6 +1934,38 @@ "web_path_hint": "Les navigateurs ne peuvent pas exposer les chemins de fichiers complets. Utilisez l'application de bureau pour parcourir, ou coller le chemin complet vers le fichier sur cette machine.", "web_save_path_prompt": "Saisissez le chemin absolu du dossier sur la machine qui exécute MeshChat (serveur) où le fichier récupéré doit être enregistré :" }, + "rngit_explorer": { + "back_tools": "Retour aux outils", + "heard_heading": "Nœuds rngit entendus", + "heard_hint": "D'après les annonces Reticulum pour ``git.repositories``. Cliquez une ligne pour remplir le hachage de destination ci-dessous.", + "heard_empty": "Aucune annonce rngit en mémoire pour l'instant. Lorsqu'un pair exécute rngit, il devrait apparaître ici.", + "heard_load_failed": "Impossible de charger les annonces", + "refresh_heard": "Actualiser", + "heard_title_short": "RNGit · {prefix}", + "unnamed_node": "Nœud RNGit", + "hops_label": "Sauts : {n}", + "intro": "RNGit n'a pas d'index global : collez des noms de dépôt candidats (un par ligne). MeshChatX tente une liste de refs distante pour chacun ; les dépôts joignables affichent une ligne git clone à copier. L'application n'héberge ni ne récupère les données git.", + "destination_hash": "Hachage de destination RNGit (32 hex)", + "group_name": "Groupe (configuration rngit)", + "repo_names_label": "Noms de dépôt à tester", + "repo_names_placeholder": "MeshChatX\nmy-other-repo", + "for_push": "Lister pour push (vérification des droits)", + "probe": "Sonder les dépôts", + "probing": "Sondage rngit…", + "probe_done": "Sondage terminé", + "probe_failed": "Sondage échoué", + "results": "Résultats", + "reachable": "OK", + "unreachable": "—", + "detail_title": "Dépôt : {repo}", + "clone_command": "Cloner avec git", + "copy": "Copier", + "copied": "Copié dans le presse-papiers", + "copy_failed": "Copie impossible", + "refs_preview": "Refs (aperçu)", + "truncated": "(tronqué)", + "no_clone_hint": "Pas de ligne clone pour les noms inaccessibles ; corrigez l'accès ou l'orthographe sur le serveur rngit." + }, "rnprobe": { "network_diagnostics": "Diagnostics réseau", "title": "RNProbe - Sonde de destination", @@ -2376,6 +2412,8 @@ "nav_rnprobe_desc": "Possibilité d'accès et délai", "nav_rncp": "RNCP", "nav_rncp_desc": "Copie de fichier sur Reticulum (RNCP)", + "nav_rngit_explorer": "Explorateur RNGit", + "nav_rngit_explorer_desc": "Sonder les dépôts rngit et copier l'URL de clonage", "nav_rnstatus": "Statut RN", "nav_rnstatus_desc": "Statistiques sur les interfaces et les liaisons", "nav_rnpath": "RNPath", diff --git a/meshchatx/src/frontend/locales/it.json b/meshchatx/src/frontend/locales/it.json index fb9f5b4..db03c42 100644 --- a/meshchatx/src/frontend/locales/it.json +++ b/meshchatx/src/frontend/locales/it.json @@ -1502,6 +1502,10 @@ "title": "RNCP", "description": "Invia e ricevi file su Reticulum (RNCP) con avanzamento." }, + "rngit_explorer": { + "title": "Esplora RNGit", + "description": "Nodi RNGit sentiti sulla mesh, sonda i nomi dei repository e copia i comandi git clone (sola lettura)." + }, "rnstatus": { "title": "RNStatus", "description": "Contatori per interfaccia e stato orientato al collegamento da Reticulum." @@ -1982,6 +1986,38 @@ "web_path_hint": "I browser non possono esporre percorsi completi. Usa l'app desktop per sfogliare o incolla il percorso completo su questa macchina.", "web_save_path_prompt": "Inserisci il percorso assoluto della cartella sulla macchina che esegue MeshChat (server) dove salvare il file recuperato:" }, + "rngit_explorer": { + "back_tools": "Torna agli strumenti", + "heard_heading": "Nodi rngit rilevati", + "heard_hint": "Da annunci Reticulum per ``git.repositories``. Clicca una riga per compilare l'hash di destinazione sotto.", + "heard_empty": "Nessun annuncio rngit in memoria. Quando un peer esegue rngit, dovrebbe comparire qui.", + "heard_load_failed": "Impossibile caricare gli annunci", + "refresh_heard": "Aggiorna", + "heard_title_short": "RNGit · {prefix}", + "unnamed_node": "Nodo RNGit", + "hops_label": "Salti: {n}", + "intro": "RNGit non ha un indice globale: incolla nomi di repository candidati (uno per riga). MeshChatX prova un elenco refs remoto per ciascuno; i repository raggiungibili mostrano una riga git clone da copiare. L'app non ospita né scarica dati git.", + "destination_hash": "Hash destinazione RNGit (32 hex)", + "group_name": "Gruppo (config rngit)", + "repo_names_label": "Nomi repository da provare", + "repo_names_placeholder": "MeshChatX\nmy-other-repo", + "for_push": "Elenco per push (verifica permessi)", + "probe": "Sonda repository", + "probing": "Sondaggio rngit…", + "probe_done": "Sondaggio completato", + "probe_failed": "Sondaggio fallito", + "results": "Risultati", + "reachable": "OK", + "unreachable": "—", + "detail_title": "Repository: {repo}", + "clone_command": "Clona con git", + "copy": "Copia", + "copied": "Copiato negli appunti", + "copy_failed": "Impossibile copiare", + "refs_preview": "Refs (anteprima)", + "truncated": "(troncato)", + "no_clone_hint": "Nessuna riga clone per nomi irraggiungibili; correggi accesso o ortografia sul server rngit." + }, "rnprobe": { "network_diagnostics": "Diagnostica di Rete", "title": "RNProbe - Sonda Destinazione", @@ -2376,6 +2412,8 @@ "nav_rnprobe_desc": "Verifica raggiungibilità e ritardo", "nav_rncp": "RNCP", "nav_rncp_desc": "Copia file su Reticulum (RNCP)", + "nav_rngit_explorer": "Esplora RNGit", + "nav_rngit_explorer_desc": "Sonda repo rngit e copia URL di clone", "nav_rnstatus": "RNStatus", "nav_rnstatus_desc": "Statistiche interfaccia e collegamento", "nav_rnpath": "RNPath", diff --git a/meshchatx/src/frontend/locales/nl.json b/meshchatx/src/frontend/locales/nl.json index 693c13d..2361b43 100644 --- a/meshchatx/src/frontend/locales/nl.json +++ b/meshchatx/src/frontend/locales/nl.json @@ -1450,6 +1450,10 @@ "title": "RNCP", "description": "Stuur en ontvang bestanden over Reticulum (RNCP) met vooruitgang." }, + "rngit_explorer": { + "title": "RNGit-verkenner", + "description": "RNGit-knopen op de mesh gehoord, reponaamsonderzoek en git clone-opdrachten kopiëren (alleen lezen)." + }, "rnstatus": { "title": "RNStatus", "description": "Per-interface tellers en link-georiënteerde status van Reticulum." @@ -1930,6 +1934,38 @@ "web_path_hint": "Browsers kunnen geen volledige bestandspaden blootleggen. Gebruik de desktop-app om te bladeren, of plak het volledige pad naar het bestand op deze machine.", "web_save_path_prompt": "Voer het absolute mappad in op de machine met MeshChat (server) waar het opgehaalde bestand moet worden opgeslagen:" }, + "rngit_explorer": { + "back_tools": "Terug naar gereedschappen", + "heard_heading": "Gehoorde rngit-knopen", + "heard_hint": "Uit Reticulum-aankondigingen voor ``git.repositories``. Klik op een rij om de bestemmings-hash hieronder in te vullen.", + "heard_empty": "Nog geen rngit-aankondigingen in geheugen. Wanneer een peer rngit draait, zou die hier moeten verschijnen.", + "heard_load_failed": "Aankondigingen laden mislukt", + "refresh_heard": "Vernieuwen", + "heard_title_short": "RNGit · {prefix}", + "unnamed_node": "RNGit-knoop", + "hops_label": "Hops: {n}", + "intro": "RNGit heeft geen wereldwijde index: plak kandidaat-reponamen (één per regel). MeshChatX probeert per naam een externe ref-lijst; bereikbare repos tonen een git clone-regel om te kopiëren. De app host of haalt geen git-gegevens op.", + "destination_hash": "RNGit-bestemmingshash (32 hex)", + "group_name": "Groep (rngit-configuratie)", + "repo_names_label": "Te proberen reponamen", + "repo_names_placeholder": "MeshChatX\nmy-other-repo", + "for_push": "Lijst voor push (rechtencontrole)", + "probe": "Repos verkennen", + "probing": "rngit wordt bevraagd…", + "probe_done": "Verkenning voltooid", + "probe_failed": "Verkenning mislukt", + "results": "Resultaten", + "reachable": "OK", + "unreachable": "—", + "detail_title": "Repository: {repo}", + "clone_command": "Klonen met git", + "copy": "Kopiëren", + "copied": "Naar klembord gekopieerd", + "copy_failed": "Kopiëren mislukt", + "refs_preview": "Refs (voorbeeld)", + "truncated": "(ingekort)", + "no_clone_hint": "Geen clone-regel voor onbereikbare namen; controleer toegang of spelling op de rngit-server." + }, "rnprobe": { "network_diagnostics": "Netwerkdiagnostiek", "title": "RNProbe - Destination Probe", @@ -2376,6 +2412,8 @@ "nav_rnprobe_desc": "Bereikbaarheid en vertraging", "nav_rncp": "RNCP", "nav_rncp_desc": "Bestandskopie over Reticulum (RNCP)", + "nav_rngit_explorer": "RNGit-verkenner", + "nav_rngit_explorer_desc": "rngit-repos verkennen en kloon-URL kopiëren", "nav_rnstatus": "RNStatus", "nav_rnstatus_desc": "Interface- en koppelingsstatistieken", "nav_rnpath": "RNPath", diff --git a/meshchatx/src/frontend/locales/ru.json b/meshchatx/src/frontend/locales/ru.json index d5973e5..3446226 100644 --- a/meshchatx/src/frontend/locales/ru.json +++ b/meshchatx/src/frontend/locales/ru.json @@ -1390,6 +1390,10 @@ "title": "RNCP", "description": "Отправка и приём файлов по Reticulum (RNCP) с прогрессом." }, + "rngit_explorer": { + "title": "Обозреватель RNGit", + "description": "Услышанные в сети узлы RNGit, проверка имён репозиториев и копирование команд git clone (только чтение)." + }, "rnstatus": { "title": "RNStatus", "description": "Счётчики по интерфейсам и состояние канала от Reticulum." @@ -1870,6 +1874,38 @@ "web_path_hint": "Браузеры не показывают полные пути к файлам. Используйте настольное приложение для выбора или вставьте полный путь на этой машине.", "web_save_path_prompt": "Введите абсолютный путь к папке на машине с MeshChat (сервер), куда сохранить полученный файл:" }, + "rngit_explorer": { + "back_tools": "Назад к инструментам", + "heard_heading": "Услышанные узлы rngit", + "heard_hint": "Из объявлений Reticulum для ``git.repositories``. Нажмите строку, чтобы подставить хеш назначения ниже.", + "heard_empty": "Пока нет объявлений rngit в памяти. Когда узел запустит rngit, он появится здесь.", + "heard_load_failed": "Не удалось загрузить объявления", + "refresh_heard": "Обновить", + "heard_title_short": "RNGit · {prefix}", + "unnamed_node": "Узел RNGit", + "hops_label": "Прыжков: {n}", + "intro": "У RNGit нет глобального индекса: вставьте кандидаты имён репозиториев (по одному в строке). MeshChatX запрашивает удалённый список ссылок для каждого; для доступных репозиториев показывается строка git clone для копирования. Приложение не хранит и не загружает данные git.", + "destination_hash": "Хеш назначения RNGit (32 hex)", + "group_name": "Группа (конфиг rngit)", + "repo_names_label": "Имена репозиториев для проверки", + "repo_names_placeholder": "MeshChatX\nmy-other-repo", + "for_push": "Список для push (проверка прав)", + "probe": "Проверить репозитории", + "probing": "Запрос к rngit…", + "probe_done": "Проверка завершена", + "probe_failed": "Проверка не удалась", + "results": "Результаты", + "reachable": "OK", + "unreachable": "—", + "detail_title": "Репозиторий: {repo}", + "clone_command": "Клонировать через git", + "copy": "Копировать", + "copied": "Скопировано в буфер обмена", + "copy_failed": "Не удалось скопировать", + "refs_preview": "Ссылки (фрагмент)", + "truncated": "(усечено)", + "no_clone_hint": "Нет строки clone для недоступных имён; проверьте доступ или написание на сервере rngit." + }, "rnprobe": { "network_diagnostics": "Диагностика сети", "title": "RNProbe - Проверка назначения", @@ -2264,6 +2300,8 @@ "nav_rnprobe_desc": "Проверка доступности и задержки", "nav_rncp": "RNCP", "nav_rncp_desc": "Копирование файлов по Reticulum (RNCP)", + "nav_rngit_explorer": "Обозреватель RNGit", + "nav_rngit_explorer_desc": "Проверка репозиториев rngit и копирование URL клонирования", "nav_rnstatus": "RNStatus", "nav_rnstatus_desc": "Статистика интерфейса и канала", "nav_rnpath": "RNPath", diff --git a/meshchatx/src/frontend/locales/zh.json b/meshchatx/src/frontend/locales/zh.json index 4c027cb..7b39c1b 100644 --- a/meshchatx/src/frontend/locales/zh.json +++ b/meshchatx/src/frontend/locales/zh.json @@ -1450,6 +1450,10 @@ "title": "RNCP 核电站", "description": "通过 Reticulum(RNCP) 发送和接收文件,并取得进展." }, + "rngit_explorer": { + "title": "RNGit 浏览器", + "description": "收听网格上的 RNGit 节点、探测仓库名称并复制 git clone 命令(只读)。" + }, "rnstatus": { "title": "状态", "description": "来自Reticulum的相接式对答和面向链接状态." @@ -1930,6 +1934,38 @@ "web_path_hint": "浏览器无法访问完整文件路径。使用桌面应用浏览,或粘贴此机器上文件的完整路径。", "web_save_path_prompt": "输入运行 MeshChat(服务器)的机器上用于保存获取文件的绝对文件夹路径:" }, + "rngit_explorer": { + "back_tools": "返回工具", + "heard_heading": "已收听的 rngit 节点", + "heard_hint": "来自 Reticulum 对 ``git.repositories`` 的宣告。点击一行以填入下方目标哈希。", + "heard_empty": "内存中尚无 rngit 宣告。对等端运行 rngit 后应会显示在此。", + "heard_load_failed": "无法加载宣告", + "refresh_heard": "刷新", + "heard_title_short": "RNGit · {prefix}", + "unnamed_node": "RNGit 节点", + "hops_label": "跳数:{n}", + "intro": "RNGit 没有全局索引:请粘贴候选仓库名(每行一个)。MeshChatX 会尝试每个名称的远程引用列表;可达的仓库会显示可复制的一行 git clone。应用内不托管或拉取 git 数据。", + "destination_hash": "RNGit 目标哈希(32 位十六进制)", + "group_name": "组(rngit 配置)", + "repo_names_label": "要尝试的仓库名", + "repo_names_placeholder": "MeshChatX\nmy-other-repo", + "for_push": "列出以供 push(权限检查)", + "probe": "探测仓库", + "probing": "正在探测 rngit…", + "probe_done": "探测完成", + "probe_failed": "探测失败", + "results": "结果", + "reachable": "正常", + "unreachable": "—", + "detail_title": "仓库:{repo}", + "clone_command": "使用 git 克隆", + "copy": "复制", + "copied": "已复制到剪贴板", + "copy_failed": "无法复制", + "refs_preview": "引用(预览)", + "truncated": "(已截断)", + "no_clone_hint": "不可达名称没有 clone 行;请在 rngit 服务器上修正访问或拼写。" + }, "rnprobe": { "network_diagnostics": "网络诊断", "title": "RN Probe - 目标测试", @@ -2376,6 +2412,8 @@ "nav_rnprobe_desc": "探测可达性和延迟", "nav_rncp": "RNCP", "nav_rncp_desc": "通过 Reticulum 复制文件(RNCP)", + "nav_rngit_explorer": "RNGit 浏览器", + "nav_rngit_explorer_desc": "探测 rngit 仓库并复制克隆 URL", "nav_rnstatus": "RNStatus", "nav_rnstatus_desc": "接口和链接统计", "nav_rnpath": "RNPath",