aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-hub/src/meshbay_hub/static/locales
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-hub/src/meshbay_hub/static/locales')
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/de.js46
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/en.js46
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/es.js46
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js46
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/it.js46
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js46
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js46
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js46
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js46
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js46
10 files changed, 460 insertions, 0 deletions
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js
index 3253372..6c03726 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js
@@ -847,4 +847,50 @@ export default {
'node.ice_saved': 'ICE interfaces saved.',
'node.ice_reset_auto': 'Switch to auto',
'node.ice_duplicate': 'This interface is already in the list.',
+ 'node.overview': 'Overview',
+ 'node.overview_version': 'Version',
+ 'node.overview_node_id': 'Node ID',
+ 'node.overview_quic_port': 'QUIC port',
+ 'node.overview_hub': 'Hub',
+ 'node.node_roster': 'Node roster',
+ 'node.node_roster_hint': 'Every identity this node recognises, across all groups.',
+ 'node.roster_scope': 'Scope',
+ 'node.roster_scope_node': 'node-wide',
+ 'node.peers_title': 'Connected peers',
+ 'node.peers_empty': 'No peers connected.',
+ 'node.peers_user': 'User',
+ 'node.peers_ip': 'IP',
+ 'node.peers_group': 'Group',
+ 'node.peers_state': 'State',
+ 'node.audit_title': 'Audit log',
+ 'node.audit_all_events': 'All events',
+ 'node.audit_empty': 'No audit entries.',
+ 'node.audit_time': 'Time',
+ 'node.audit_event': 'Event',
+ 'node.audit_user': 'User',
+ 'node.audit_ip': 'IP',
+ 'node.audit_group': 'Group',
+ 'node.audit_detail': 'Detail',
+ 'node.maintenance': 'Maintenance',
+ 'node.maintenance_cache': 'Index cache: {n} path(s) remembered.',
+ 'node.maintenance_prune': 'Prune stale entries',
+ 'node.maintenance_pruned': 'Pruned {n} stale cache entries.',
+ 'node.loading': 'Loading…',
+ 'node.audit_export': 'Export CSV',
+ 'node.audit_exporting': 'Exporting…',
+ 'node.audit_prev': 'Previous',
+ 'node.audit_next': 'Next',
+ 'node.audit_page': 'Page {n}',
+ 'node.audit_exported': 'Exported {n} entries.',
+ 'node.unlink_title': 'Unlink from hub',
+ 'node.unlink_hint': 'Stops the hub from brokering connections to this node and listing it for group members. Your groups, keys, roster and files are untouched — the node keeps serving anyone who reaches it directly. Re-link any time from the group wizard or your profile.',
+ 'node.unlink_button': 'Unlink this node',
+ 'node.unlink_confirm': 'Unlink this node from the hub? The hub will stop routing members to it. Group data on disk is not affected.',
+ 'node.unlink_done': 'Node unlinked from the hub. It may take a moment for the hub connection to drop.',
+ 'node.tab_overview': 'Overview',
+ 'node.tab_groups': 'Groups',
+ 'node.tab_roster': 'Roster',
+ 'node.tab_peers': 'Peers',
+ 'node.tab_audit': 'Audit',
+ 'node.tab_settings': 'Settings',
};
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js
index aae9031..88dca15 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js
@@ -826,4 +826,50 @@ export default {
'node.ice_saved': 'ICE interfaces saved.',
'node.ice_reset_auto': 'Switch to auto',
'node.ice_duplicate': 'This interface is already in the list.',
+ 'node.overview': 'Overview',
+ 'node.overview_version': 'Version',
+ 'node.overview_node_id': 'Node ID',
+ 'node.overview_quic_port': 'QUIC port',
+ 'node.overview_hub': 'Hub',
+ 'node.node_roster': 'Node roster',
+ 'node.node_roster_hint': 'Every identity this node recognises, across all groups.',
+ 'node.roster_scope': 'Scope',
+ 'node.roster_scope_node': 'node-wide',
+ 'node.peers_title': 'Connected peers',
+ 'node.peers_empty': 'No peers connected.',
+ 'node.peers_user': 'User',
+ 'node.peers_ip': 'IP',
+ 'node.peers_group': 'Group',
+ 'node.peers_state': 'State',
+ 'node.audit_title': 'Audit log',
+ 'node.audit_all_events': 'All events',
+ 'node.audit_empty': 'No audit entries.',
+ 'node.audit_time': 'Time',
+ 'node.audit_event': 'Event',
+ 'node.audit_user': 'User',
+ 'node.audit_ip': 'IP',
+ 'node.audit_group': 'Group',
+ 'node.audit_detail': 'Detail',
+ 'node.maintenance': 'Maintenance',
+ 'node.maintenance_cache': 'Index cache: {n} path(s) remembered.',
+ 'node.maintenance_prune': 'Prune stale entries',
+ 'node.maintenance_pruned': 'Pruned {n} stale cache entries.',
+ 'node.loading': 'Loading…',
+ 'node.audit_export': 'Export CSV',
+ 'node.audit_exporting': 'Exporting…',
+ 'node.audit_prev': 'Previous',
+ 'node.audit_next': 'Next',
+ 'node.audit_page': 'Page {n}',
+ 'node.audit_exported': 'Exported {n} entries.',
+ 'node.unlink_title': 'Unlink from hub',
+ 'node.unlink_hint': 'Stops the hub from brokering connections to this node and listing it for group members. Your groups, keys, roster and files are untouched — the node keeps serving anyone who reaches it directly. Re-link any time from the group wizard or your profile.',
+ 'node.unlink_button': 'Unlink this node',
+ 'node.unlink_confirm': 'Unlink this node from the hub? The hub will stop routing members to it. Group data on disk is not affected.',
+ 'node.unlink_done': 'Node unlinked from the hub. It may take a moment for the hub connection to drop.',
+ 'node.tab_overview': 'Overview',
+ 'node.tab_groups': 'Groups',
+ 'node.tab_roster': 'Roster',
+ 'node.tab_peers': 'Peers',
+ 'node.tab_audit': 'Audit',
+ 'node.tab_settings': 'Settings',
};
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js
index 4f80fe9..cf0d6d4 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js
@@ -843,4 +843,50 @@ export default {
'node.ice_saved': 'ICE interfaces saved.',
'node.ice_reset_auto': 'Switch to auto',
'node.ice_duplicate': 'This interface is already in the list.',
+ 'node.overview': 'Overview',
+ 'node.overview_version': 'Version',
+ 'node.overview_node_id': 'Node ID',
+ 'node.overview_quic_port': 'QUIC port',
+ 'node.overview_hub': 'Hub',
+ 'node.node_roster': 'Node roster',
+ 'node.node_roster_hint': 'Every identity this node recognises, across all groups.',
+ 'node.roster_scope': 'Scope',
+ 'node.roster_scope_node': 'node-wide',
+ 'node.peers_title': 'Connected peers',
+ 'node.peers_empty': 'No peers connected.',
+ 'node.peers_user': 'User',
+ 'node.peers_ip': 'IP',
+ 'node.peers_group': 'Group',
+ 'node.peers_state': 'State',
+ 'node.audit_title': 'Audit log',
+ 'node.audit_all_events': 'All events',
+ 'node.audit_empty': 'No audit entries.',
+ 'node.audit_time': 'Time',
+ 'node.audit_event': 'Event',
+ 'node.audit_user': 'User',
+ 'node.audit_ip': 'IP',
+ 'node.audit_group': 'Group',
+ 'node.audit_detail': 'Detail',
+ 'node.maintenance': 'Maintenance',
+ 'node.maintenance_cache': 'Index cache: {n} path(s) remembered.',
+ 'node.maintenance_prune': 'Prune stale entries',
+ 'node.maintenance_pruned': 'Pruned {n} stale cache entries.',
+ 'node.loading': 'Loading…',
+ 'node.audit_export': 'Export CSV',
+ 'node.audit_exporting': 'Exporting…',
+ 'node.audit_prev': 'Previous',
+ 'node.audit_next': 'Next',
+ 'node.audit_page': 'Page {n}',
+ 'node.audit_exported': 'Exported {n} entries.',
+ 'node.unlink_title': 'Unlink from hub',
+ 'node.unlink_hint': 'Stops the hub from brokering connections to this node and listing it for group members. Your groups, keys, roster and files are untouched — the node keeps serving anyone who reaches it directly. Re-link any time from the group wizard or your profile.',
+ 'node.unlink_button': 'Unlink this node',
+ 'node.unlink_confirm': 'Unlink this node from the hub? The hub will stop routing members to it. Group data on disk is not affected.',
+ 'node.unlink_done': 'Node unlinked from the hub. It may take a moment for the hub connection to drop.',
+ 'node.tab_overview': 'Overview',
+ 'node.tab_groups': 'Groups',
+ 'node.tab_roster': 'Roster',
+ 'node.tab_peers': 'Peers',
+ 'node.tab_audit': 'Audit',
+ 'node.tab_settings': 'Settings',
};
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js
index 9b9c5b2..138c2cc 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js
@@ -858,4 +858,50 @@ export default {
'node.ice_saved': 'ICE interfaces saved.',
'node.ice_reset_auto': 'Switch to auto',
'node.ice_duplicate': 'This interface is already in the list.',
+ 'node.overview': 'Overview',
+ 'node.overview_version': 'Version',
+ 'node.overview_node_id': 'Node ID',
+ 'node.overview_quic_port': 'QUIC port',
+ 'node.overview_hub': 'Hub',
+ 'node.node_roster': 'Node roster',
+ 'node.node_roster_hint': 'Every identity this node recognises, across all groups.',
+ 'node.roster_scope': 'Scope',
+ 'node.roster_scope_node': 'node-wide',
+ 'node.peers_title': 'Connected peers',
+ 'node.peers_empty': 'No peers connected.',
+ 'node.peers_user': 'User',
+ 'node.peers_ip': 'IP',
+ 'node.peers_group': 'Group',
+ 'node.peers_state': 'State',
+ 'node.audit_title': 'Audit log',
+ 'node.audit_all_events': 'All events',
+ 'node.audit_empty': 'No audit entries.',
+ 'node.audit_time': 'Time',
+ 'node.audit_event': 'Event',
+ 'node.audit_user': 'User',
+ 'node.audit_ip': 'IP',
+ 'node.audit_group': 'Group',
+ 'node.audit_detail': 'Detail',
+ 'node.maintenance': 'Maintenance',
+ 'node.maintenance_cache': 'Index cache: {n} path(s) remembered.',
+ 'node.maintenance_prune': 'Prune stale entries',
+ 'node.maintenance_pruned': 'Pruned {n} stale cache entries.',
+ 'node.loading': 'Loading…',
+ 'node.audit_export': 'Export CSV',
+ 'node.audit_exporting': 'Exporting…',
+ 'node.audit_prev': 'Previous',
+ 'node.audit_next': 'Next',
+ 'node.audit_page': 'Page {n}',
+ 'node.audit_exported': 'Exported {n} entries.',
+ 'node.unlink_title': 'Unlink from hub',
+ 'node.unlink_hint': 'Stops the hub from brokering connections to this node and listing it for group members. Your groups, keys, roster and files are untouched — the node keeps serving anyone who reaches it directly. Re-link any time from the group wizard or your profile.',
+ 'node.unlink_button': 'Unlink this node',
+ 'node.unlink_confirm': 'Unlink this node from the hub? The hub will stop routing members to it. Group data on disk is not affected.',
+ 'node.unlink_done': 'Node unlinked from the hub. It may take a moment for the hub connection to drop.',
+ 'node.tab_overview': 'Overview',
+ 'node.tab_groups': 'Groups',
+ 'node.tab_roster': 'Roster',
+ 'node.tab_peers': 'Peers',
+ 'node.tab_audit': 'Audit',
+ 'node.tab_settings': 'Settings',
};
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js
index 785c510..21a7fca 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js
@@ -857,4 +857,50 @@ export default {
'node.ice_saved': 'ICE interfaces saved.',
'node.ice_reset_auto': 'Switch to auto',
'node.ice_duplicate': 'This interface is already in the list.',
+ 'node.overview': 'Overview',
+ 'node.overview_version': 'Version',
+ 'node.overview_node_id': 'Node ID',
+ 'node.overview_quic_port': 'QUIC port',
+ 'node.overview_hub': 'Hub',
+ 'node.node_roster': 'Node roster',
+ 'node.node_roster_hint': 'Every identity this node recognises, across all groups.',
+ 'node.roster_scope': 'Scope',
+ 'node.roster_scope_node': 'node-wide',
+ 'node.peers_title': 'Connected peers',
+ 'node.peers_empty': 'No peers connected.',
+ 'node.peers_user': 'User',
+ 'node.peers_ip': 'IP',
+ 'node.peers_group': 'Group',
+ 'node.peers_state': 'State',
+ 'node.audit_title': 'Audit log',
+ 'node.audit_all_events': 'All events',
+ 'node.audit_empty': 'No audit entries.',
+ 'node.audit_time': 'Time',
+ 'node.audit_event': 'Event',
+ 'node.audit_user': 'User',
+ 'node.audit_ip': 'IP',
+ 'node.audit_group': 'Group',
+ 'node.audit_detail': 'Detail',
+ 'node.maintenance': 'Maintenance',
+ 'node.maintenance_cache': 'Index cache: {n} path(s) remembered.',
+ 'node.maintenance_prune': 'Prune stale entries',
+ 'node.maintenance_pruned': 'Pruned {n} stale cache entries.',
+ 'node.loading': 'Loading…',
+ 'node.audit_export': 'Export CSV',
+ 'node.audit_exporting': 'Exporting…',
+ 'node.audit_prev': 'Previous',
+ 'node.audit_next': 'Next',
+ 'node.audit_page': 'Page {n}',
+ 'node.audit_exported': 'Exported {n} entries.',
+ 'node.unlink_title': 'Unlink from hub',
+ 'node.unlink_hint': 'Stops the hub from brokering connections to this node and listing it for group members. Your groups, keys, roster and files are untouched — the node keeps serving anyone who reaches it directly. Re-link any time from the group wizard or your profile.',
+ 'node.unlink_button': 'Unlink this node',
+ 'node.unlink_confirm': 'Unlink this node from the hub? The hub will stop routing members to it. Group data on disk is not affected.',
+ 'node.unlink_done': 'Node unlinked from the hub. It may take a moment for the hub connection to drop.',
+ 'node.tab_overview': 'Overview',
+ 'node.tab_groups': 'Groups',
+ 'node.tab_roster': 'Roster',
+ 'node.tab_peers': 'Peers',
+ 'node.tab_audit': 'Audit',
+ 'node.tab_settings': 'Settings',
};
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js
index 22792ce..e74750f 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js
@@ -841,4 +841,50 @@ export default {
'node.ice_saved': 'ICE interfaces saved.',
'node.ice_reset_auto': 'Switch to auto',
'node.ice_duplicate': 'This interface is already in the list.',
+ 'node.overview': 'Overview',
+ 'node.overview_version': 'Version',
+ 'node.overview_node_id': 'Node ID',
+ 'node.overview_quic_port': 'QUIC port',
+ 'node.overview_hub': 'Hub',
+ 'node.node_roster': 'Node roster',
+ 'node.node_roster_hint': 'Every identity this node recognises, across all groups.',
+ 'node.roster_scope': 'Scope',
+ 'node.roster_scope_node': 'node-wide',
+ 'node.peers_title': 'Connected peers',
+ 'node.peers_empty': 'No peers connected.',
+ 'node.peers_user': 'User',
+ 'node.peers_ip': 'IP',
+ 'node.peers_group': 'Group',
+ 'node.peers_state': 'State',
+ 'node.audit_title': 'Audit log',
+ 'node.audit_all_events': 'All events',
+ 'node.audit_empty': 'No audit entries.',
+ 'node.audit_time': 'Time',
+ 'node.audit_event': 'Event',
+ 'node.audit_user': 'User',
+ 'node.audit_ip': 'IP',
+ 'node.audit_group': 'Group',
+ 'node.audit_detail': 'Detail',
+ 'node.maintenance': 'Maintenance',
+ 'node.maintenance_cache': 'Index cache: {n} path(s) remembered.',
+ 'node.maintenance_prune': 'Prune stale entries',
+ 'node.maintenance_pruned': 'Pruned {n} stale cache entries.',
+ 'node.loading': 'Loading…',
+ 'node.audit_export': 'Export CSV',
+ 'node.audit_exporting': 'Exporting…',
+ 'node.audit_prev': 'Previous',
+ 'node.audit_next': 'Next',
+ 'node.audit_page': 'Page {n}',
+ 'node.audit_exported': 'Exported {n} entries.',
+ 'node.unlink_title': 'Unlink from hub',
+ 'node.unlink_hint': 'Stops the hub from brokering connections to this node and listing it for group members. Your groups, keys, roster and files are untouched — the node keeps serving anyone who reaches it directly. Re-link any time from the group wizard or your profile.',
+ 'node.unlink_button': 'Unlink this node',
+ 'node.unlink_confirm': 'Unlink this node from the hub? The hub will stop routing members to it. Group data on disk is not affected.',
+ 'node.unlink_done': 'Node unlinked from the hub. It may take a moment for the hub connection to drop.',
+ 'node.tab_overview': 'Overview',
+ 'node.tab_groups': 'Groups',
+ 'node.tab_roster': 'Roster',
+ 'node.tab_peers': 'Peers',
+ 'node.tab_audit': 'Audit',
+ 'node.tab_settings': 'Settings',
};
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js
index 01663c3..9f15053 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js
@@ -859,4 +859,50 @@ export default {
'node.ice_saved': 'ICE interfaces saved.',
'node.ice_reset_auto': 'Switch to auto',
'node.ice_duplicate': 'This interface is already in the list.',
+ 'node.overview': 'Overview',
+ 'node.overview_version': 'Version',
+ 'node.overview_node_id': 'Node ID',
+ 'node.overview_quic_port': 'QUIC port',
+ 'node.overview_hub': 'Hub',
+ 'node.node_roster': 'Node roster',
+ 'node.node_roster_hint': 'Every identity this node recognises, across all groups.',
+ 'node.roster_scope': 'Scope',
+ 'node.roster_scope_node': 'node-wide',
+ 'node.peers_title': 'Connected peers',
+ 'node.peers_empty': 'No peers connected.',
+ 'node.peers_user': 'User',
+ 'node.peers_ip': 'IP',
+ 'node.peers_group': 'Group',
+ 'node.peers_state': 'State',
+ 'node.audit_title': 'Audit log',
+ 'node.audit_all_events': 'All events',
+ 'node.audit_empty': 'No audit entries.',
+ 'node.audit_time': 'Time',
+ 'node.audit_event': 'Event',
+ 'node.audit_user': 'User',
+ 'node.audit_ip': 'IP',
+ 'node.audit_group': 'Group',
+ 'node.audit_detail': 'Detail',
+ 'node.maintenance': 'Maintenance',
+ 'node.maintenance_cache': 'Index cache: {n} path(s) remembered.',
+ 'node.maintenance_prune': 'Prune stale entries',
+ 'node.maintenance_pruned': 'Pruned {n} stale cache entries.',
+ 'node.loading': 'Loading…',
+ 'node.audit_export': 'Export CSV',
+ 'node.audit_exporting': 'Exporting…',
+ 'node.audit_prev': 'Previous',
+ 'node.audit_next': 'Next',
+ 'node.audit_page': 'Page {n}',
+ 'node.audit_exported': 'Exported {n} entries.',
+ 'node.unlink_title': 'Unlink from hub',
+ 'node.unlink_hint': 'Stops the hub from brokering connections to this node and listing it for group members. Your groups, keys, roster and files are untouched — the node keeps serving anyone who reaches it directly. Re-link any time from the group wizard or your profile.',
+ 'node.unlink_button': 'Unlink this node',
+ 'node.unlink_confirm': 'Unlink this node from the hub? The hub will stop routing members to it. Group data on disk is not affected.',
+ 'node.unlink_done': 'Node unlinked from the hub. It may take a moment for the hub connection to drop.',
+ 'node.tab_overview': 'Overview',
+ 'node.tab_groups': 'Groups',
+ 'node.tab_roster': 'Roster',
+ 'node.tab_peers': 'Peers',
+ 'node.tab_audit': 'Audit',
+ 'node.tab_settings': 'Settings',
};
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js
index 2bc29ee..069d642 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js
@@ -885,4 +885,50 @@ export default {
'node.ice_saved': 'ICE interfaces saved.',
'node.ice_reset_auto': 'Switch to auto',
'node.ice_duplicate': 'This interface is already in the list.',
+ 'node.overview': 'Overview',
+ 'node.overview_version': 'Version',
+ 'node.overview_node_id': 'Node ID',
+ 'node.overview_quic_port': 'QUIC port',
+ 'node.overview_hub': 'Hub',
+ 'node.node_roster': 'Node roster',
+ 'node.node_roster_hint': 'Every identity this node recognises, across all groups.',
+ 'node.roster_scope': 'Scope',
+ 'node.roster_scope_node': 'node-wide',
+ 'node.peers_title': 'Connected peers',
+ 'node.peers_empty': 'No peers connected.',
+ 'node.peers_user': 'User',
+ 'node.peers_ip': 'IP',
+ 'node.peers_group': 'Group',
+ 'node.peers_state': 'State',
+ 'node.audit_title': 'Audit log',
+ 'node.audit_all_events': 'All events',
+ 'node.audit_empty': 'No audit entries.',
+ 'node.audit_time': 'Time',
+ 'node.audit_event': 'Event',
+ 'node.audit_user': 'User',
+ 'node.audit_ip': 'IP',
+ 'node.audit_group': 'Group',
+ 'node.audit_detail': 'Detail',
+ 'node.maintenance': 'Maintenance',
+ 'node.maintenance_cache': 'Index cache: {n} path(s) remembered.',
+ 'node.maintenance_prune': 'Prune stale entries',
+ 'node.maintenance_pruned': 'Pruned {n} stale cache entries.',
+ 'node.loading': 'Loading…',
+ 'node.audit_export': 'Export CSV',
+ 'node.audit_exporting': 'Exporting…',
+ 'node.audit_prev': 'Previous',
+ 'node.audit_next': 'Next',
+ 'node.audit_page': 'Page {n}',
+ 'node.audit_exported': 'Exported {n} entries.',
+ 'node.unlink_title': 'Unlink from hub',
+ 'node.unlink_hint': 'Stops the hub from brokering connections to this node and listing it for group members. Your groups, keys, roster and files are untouched — the node keeps serving anyone who reaches it directly. Re-link any time from the group wizard or your profile.',
+ 'node.unlink_button': 'Unlink this node',
+ 'node.unlink_confirm': 'Unlink this node from the hub? The hub will stop routing members to it. Group data on disk is not affected.',
+ 'node.unlink_done': 'Node unlinked from the hub. It may take a moment for the hub connection to drop.',
+ 'node.tab_overview': 'Overview',
+ 'node.tab_groups': 'Groups',
+ 'node.tab_roster': 'Roster',
+ 'node.tab_peers': 'Peers',
+ 'node.tab_audit': 'Audit',
+ 'node.tab_settings': 'Settings',
};
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js
index 2f2aa43..a1a1352 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js
@@ -844,4 +844,50 @@ export default {
'node.ice_saved': 'ICE interfaces saved.',
'node.ice_reset_auto': 'Switch to auto',
'node.ice_duplicate': 'This interface is already in the list.',
+ 'node.overview': 'Overview',
+ 'node.overview_version': 'Version',
+ 'node.overview_node_id': 'Node ID',
+ 'node.overview_quic_port': 'QUIC port',
+ 'node.overview_hub': 'Hub',
+ 'node.node_roster': 'Node roster',
+ 'node.node_roster_hint': 'Every identity this node recognises, across all groups.',
+ 'node.roster_scope': 'Scope',
+ 'node.roster_scope_node': 'node-wide',
+ 'node.peers_title': 'Connected peers',
+ 'node.peers_empty': 'No peers connected.',
+ 'node.peers_user': 'User',
+ 'node.peers_ip': 'IP',
+ 'node.peers_group': 'Group',
+ 'node.peers_state': 'State',
+ 'node.audit_title': 'Audit log',
+ 'node.audit_all_events': 'All events',
+ 'node.audit_empty': 'No audit entries.',
+ 'node.audit_time': 'Time',
+ 'node.audit_event': 'Event',
+ 'node.audit_user': 'User',
+ 'node.audit_ip': 'IP',
+ 'node.audit_group': 'Group',
+ 'node.audit_detail': 'Detail',
+ 'node.maintenance': 'Maintenance',
+ 'node.maintenance_cache': 'Index cache: {n} path(s) remembered.',
+ 'node.maintenance_prune': 'Prune stale entries',
+ 'node.maintenance_pruned': 'Pruned {n} stale cache entries.',
+ 'node.loading': 'Loading…',
+ 'node.audit_export': 'Export CSV',
+ 'node.audit_exporting': 'Exporting…',
+ 'node.audit_prev': 'Previous',
+ 'node.audit_next': 'Next',
+ 'node.audit_page': 'Page {n}',
+ 'node.audit_exported': 'Exported {n} entries.',
+ 'node.unlink_title': 'Unlink from hub',
+ 'node.unlink_hint': 'Stops the hub from brokering connections to this node and listing it for group members. Your groups, keys, roster and files are untouched — the node keeps serving anyone who reaches it directly. Re-link any time from the group wizard or your profile.',
+ 'node.unlink_button': 'Unlink this node',
+ 'node.unlink_confirm': 'Unlink this node from the hub? The hub will stop routing members to it. Group data on disk is not affected.',
+ 'node.unlink_done': 'Node unlinked from the hub. It may take a moment for the hub connection to drop.',
+ 'node.tab_overview': 'Overview',
+ 'node.tab_groups': 'Groups',
+ 'node.tab_roster': 'Roster',
+ 'node.tab_peers': 'Peers',
+ 'node.tab_audit': 'Audit',
+ 'node.tab_settings': 'Settings',
};
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js
index 141cb6f..b0c88ff 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js
@@ -829,4 +829,50 @@ export default {
'node.ice_saved': 'ICE interfaces saved.',
'node.ice_reset_auto': 'Switch to auto',
'node.ice_duplicate': 'This interface is already in the list.',
+ 'node.overview': 'Overview',
+ 'node.overview_version': 'Version',
+ 'node.overview_node_id': 'Node ID',
+ 'node.overview_quic_port': 'QUIC port',
+ 'node.overview_hub': 'Hub',
+ 'node.node_roster': 'Node roster',
+ 'node.node_roster_hint': 'Every identity this node recognises, across all groups.',
+ 'node.roster_scope': 'Scope',
+ 'node.roster_scope_node': 'node-wide',
+ 'node.peers_title': 'Connected peers',
+ 'node.peers_empty': 'No peers connected.',
+ 'node.peers_user': 'User',
+ 'node.peers_ip': 'IP',
+ 'node.peers_group': 'Group',
+ 'node.peers_state': 'State',
+ 'node.audit_title': 'Audit log',
+ 'node.audit_all_events': 'All events',
+ 'node.audit_empty': 'No audit entries.',
+ 'node.audit_time': 'Time',
+ 'node.audit_event': 'Event',
+ 'node.audit_user': 'User',
+ 'node.audit_ip': 'IP',
+ 'node.audit_group': 'Group',
+ 'node.audit_detail': 'Detail',
+ 'node.maintenance': 'Maintenance',
+ 'node.maintenance_cache': 'Index cache: {n} path(s) remembered.',
+ 'node.maintenance_prune': 'Prune stale entries',
+ 'node.maintenance_pruned': 'Pruned {n} stale cache entries.',
+ 'node.loading': 'Loading…',
+ 'node.audit_export': 'Export CSV',
+ 'node.audit_exporting': 'Exporting…',
+ 'node.audit_prev': 'Previous',
+ 'node.audit_next': 'Next',
+ 'node.audit_page': 'Page {n}',
+ 'node.audit_exported': 'Exported {n} entries.',
+ 'node.unlink_title': 'Unlink from hub',
+ 'node.unlink_hint': 'Stops the hub from brokering connections to this node and listing it for group members. Your groups, keys, roster and files are untouched — the node keeps serving anyone who reaches it directly. Re-link any time from the group wizard or your profile.',
+ 'node.unlink_button': 'Unlink this node',
+ 'node.unlink_confirm': 'Unlink this node from the hub? The hub will stop routing members to it. Group data on disk is not affected.',
+ 'node.unlink_done': 'Node unlinked from the hub. It may take a moment for the hub connection to drop.',
+ 'node.tab_overview': 'Overview',
+ 'node.tab_groups': 'Groups',
+ 'node.tab_roster': 'Roster',
+ 'node.tab_peers': 'Peers',
+ 'node.tab_audit': 'Audit',
+ 'node.tab_settings': 'Settings',
};