# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the meshy package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: meshy\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-31 13:39+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: lv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n % 10 == 0 || n % 100 >= 11 && n % 100 <= "
"19) ? 0 : ((n % 10 == 1 && n % 100 != 11) ? 1 : 2);\n"

#: data/page.codeberg.sesivany.Meshy.desktop.in:4
#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:8 data/ui/window.ui:123
msgid "Meshy"
msgstr ""

#: data/page.codeberg.sesivany.Meshy.desktop.in:5
#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:9
msgid "MeshCore mesh network client"
msgstr ""

#: data/page.codeberg.sesivany.Meshy.desktop.in:11
msgid "mesh;lora;radio;chat;"
msgstr ""

#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:11
msgid ""
"Meshy is a client for MeshCore LoRa mesh networking devices. Connect to your "
"companion device over Bluetooth to send and receive encrypted messages, "
"manage contacts, configure channels, and monitor your mesh network."
msgstr ""

#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:17
msgid "Features:"
msgstr ""

#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:19
msgid "Bluetooth LE and USB serial connectivity"
msgstr ""

#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:20
msgid "End-to-end encrypted messaging"
msgstr ""

#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:21
msgid "Public, private, and hashtag channels"
msgstr ""

#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:22
msgid "Contact management with location tracking"
msgstr ""

#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:23
msgid "Interactive map view with route tracing"
msgstr ""

#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:24
msgid "Device and repeater management"
msgstr ""

#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:25
msgid "QR code scanning for quick contact exchange"
msgstr ""

#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:30
msgid "Jiri Eischmann"
msgstr ""

#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:42
msgid "Channel chats"
msgstr ""

#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:46
msgid "Repeater management"
msgstr ""

#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:50
msgid "Settings - Dark Style"
msgstr ""

#: data/page.codeberg.sesivany.Meshy.metainfo.xml.in:54
msgid "Map view showing contact locations"
msgstr ""

#: data/gtk/help-overlay.ui:10
msgid "General"
msgstr ""

#: data/gtk/help-overlay.ui:13 data/ui/window.ui:11
msgid "Disconnect"
msgstr ""

#: data/gtk/help-overlay.ui:19 data/ui/window.ui:31 data/ui/window.ui:52
msgid "Quit"
msgstr ""

#: data/gtk/help-overlay.ui:25 data/ui/window.ui:23 data/ui/window.ui:44
msgid "Help"
msgstr ""

#: data/gtk/help-overlay.ui:31 data/ui/window.ui:19 data/ui/window.ui:40
msgid "Keyboard Shortcuts"
msgstr ""

#: data/gtk/help-overlay.ui:39
msgid "Navigation"
msgstr ""

#: data/gtk/help-overlay.ui:42 data/ui/window.ui:181
msgid "Device"
msgstr ""

#: data/gtk/help-overlay.ui:48 data/ui/window.ui:197
#: data/ui/manual-backup-dialog.ui:106 data/ui/auto-backup-dialog.ui:120
#: data/ui/import-backup-dialog.ui:113 src/window.py:648
msgid "Contacts"
msgstr ""

#: data/gtk/help-overlay.ui:54 data/ui/window.ui:227
#: data/ui/manual-backup-dialog.ui:147 data/ui/auto-backup-dialog.ui:161
#: data/ui/import-backup-dialog.ui:154 src/window.py:660
msgid "Channels"
msgstr ""

#. Navigation button for collapsed mode
#: data/gtk/help-overlay.ui:60 data/ui/window.ui:254 src/window.py:674
#: src/window.py:677 src/views/map_view.py:907
msgid "Map"
msgstr ""

#: data/gtk/help-overlay.ui:66 data/ui/window.ui:15 data/ui/window.ui:274
#: data/ui/repeater-view.ui:574 data/ui/manual-backup-dialog.ui:53
#: data/ui/auto-backup-dialog.ui:67 data/ui/import-backup-dialog.ui:60
#: src/window.py:696 src/window.py:697
msgid "Settings"
msgstr ""

#: data/gtk/help-overlay.ui:74
msgid "Messaging"
msgstr ""

#: data/gtk/help-overlay.ui:77
msgid "Search Contacts"
msgstr ""

#: data/gtk/help-overlay.ui:83
msgid "Focus Message Input"
msgstr ""

#: data/gtk/help-overlay.ui:89
msgid "Previous Contact/Channel"
msgstr ""

#: data/gtk/help-overlay.ui:95
msgid "Next Contact/Channel"
msgstr ""

#: data/gtk/help-overlay.ui:101
msgid "Previous Unread"
msgstr ""

#: data/gtk/help-overlay.ui:107
msgid "Next Unread"
msgstr ""

#: data/ui/window.ui:27 data/ui/window.ui:48
msgid "About Meshy"
msgstr ""

#: data/ui/window.ui:78 data/ui/window.ui:330 src/connection_controller.py:270
#: src/connection_controller.py:478 src/window.py:1064 src/window.py:1077
#: src/views/connection_view.py:119 src/views/connection_view.py:161
#: src/views/connection_view.py:393 src/views/connection_view.py:529
msgid "Connect"
msgstr ""

#: data/ui/window.ui:85 data/ui/window.ui:130 data/ui/window.ui:318
msgid "Menu"
msgstr ""

#: data/ui/window.ui:141
msgid "Connecting…"
msgstr ""

#: data/ui/window.ui:307
msgid "Show navigation"
msgstr ""

#: data/ui/window.ui:328 src/connection_controller.py:269
#: src/connection_controller.py:477 src/window.py:1063 src/window.py:1076
#: src/views/device_view.py:365
msgid "Not connected"
msgstr ""

#: data/ui/device-view.ui:29 src/views/device_view.py:497
msgid "Disconnected"
msgstr ""

#: data/ui/device-view.ui:30 data/ui/repeater-view.ui:19
#: data/ui/sensor-view.ui:38
msgid "Status"
msgstr ""

#: data/ui/device-view.ui:44 src/window.py:637 src/window.py:638
msgid "Device Information"
msgstr ""

#: data/ui/device-view.ui:48
msgid "Node Name"
msgstr ""

#: data/ui/device-view.ui:54
msgid "Board"
msgstr ""

#: data/ui/device-view.ui:60
msgid "Firmware"
msgstr ""

#: data/ui/device-view.ui:63
msgid "Update"
msgstr ""

#: data/ui/device-view.ui:66
msgid "Open firmware flasher"
msgstr ""

#: data/ui/device-view.ui:78 data/ui/contact-detail-dialog.ui:62
msgid "Public Key"
msgstr ""

#: data/ui/device-view.ui:91 data/ui/contact-detail-dialog.ui:179
msgid "Telemetry"
msgstr ""

#: data/ui/device-view.ui:96
msgid "Request telemetry"
msgstr ""

#: data/ui/device-view.ui:106
msgid "Syncing…"
msgstr ""

#: data/ui/device-view.ui:107 data/ui/settings-view.ui:239
#: data/ui/settings-view.ui:380 data/ui/repeater-view.ui:678
#: src/views/contact_detail_dialog.py:84 src/views/device_view.py:336
#: src/views/settings_view.py:133
msgid "Location"
msgstr ""

#: data/ui/device-view.ui:112
msgid "Show on map"
msgstr ""

#: data/ui/device-view.ui:127
msgid "Battery &amp; Storage"
msgstr ""

#: data/ui/device-view.ui:131 data/ui/repeater-view.ui:76
#: src/views/contacts_view.py:1122 src/views/repeater_view.py:457
#: src/views/sensor_view.py:146
msgid "Battery"
msgstr ""

#: data/ui/device-view.ui:150
msgid "Storage"
msgstr ""

#: data/ui/device-view.ui:172
msgid "Radio Configuration"
msgstr ""

#: data/ui/device-view.ui:176
msgid "Frequency"
msgstr ""

#: data/ui/device-view.ui:182
msgid "Bandwidth"
msgstr ""

#: data/ui/device-view.ui:188 data/ui/settings-view.ui:103
#: data/ui/repeater-view.ui:764
msgid "Spreading Factor"
msgstr ""

#: data/ui/device-view.ui:194 data/ui/settings-view.ui:116
#: data/ui/repeater-view.ui:776
msgid "Coding Rate"
msgstr ""

#: data/ui/device-view.ui:200
msgid "TX Power"
msgstr ""

#: data/ui/device-view.ui:206 data/ui/settings-view.ui:204
msgid "Default Path Hash Size"
msgstr ""

#: data/ui/device-view.ui:215
msgid "Statistics"
msgstr ""

#: data/ui/device-view.ui:220
msgid "Refresh statistics"
msgstr ""

#: data/ui/device-view.ui:229 data/ui/repeater-view.ui:119
#: src/views/device_view.py:107
msgid "Noise Floor"
msgstr ""

#: data/ui/device-view.ui:245 data/ui/repeater-view.ui:107
#: src/views/device_view.py:108
msgid "Last RSSI"
msgstr ""

#: data/ui/device-view.ui:261 data/ui/repeater-view.ui:113
#: src/views/device_view.py:109
msgid "Last SNR"
msgstr ""

#: data/ui/device-view.ui:277
msgid "Airtime"
msgstr ""

#: data/ui/device-view.ui:283 data/ui/repeater-view.ui:153
msgid "Packets"
msgstr ""

#: data/ui/device-view.ui:289 data/ui/repeater-view.ui:175
#: src/views/contacts_view.py:987
msgid "Flood"
msgstr ""

#: data/ui/device-view.ui:295 data/ui/repeater-view.ui:181
#: src/views/contact_detail_dialog.py:472
#: src/views/contact_detail_dialog.py:671 src/views/contacts_view.py:937
#: src/views/contacts_view.py:989
msgid "Direct"
msgstr ""

#: data/ui/device-view.ui:301 data/ui/repeater-view.ui:82
msgid "Uptime"
msgstr ""

#: data/ui/device-view.ui:307 data/ui/repeater-view.ui:88
msgid "Message Queue"
msgstr ""

#: data/ui/settings-view.ui:16 src/views/settings_view.py:130
msgid "Application"
msgstr ""

#: data/ui/settings-view.ui:17
msgid "Configure the behavior and appearance of the application"
msgstr ""

#: data/ui/settings-view.ui:20
msgid "Style"
msgstr ""

#: data/ui/settings-view.ui:21
msgid "Choose the appearance of the application"
msgstr ""

#: data/ui/settings-view.ui:25
msgid "Follow System"
msgstr ""

#: data/ui/settings-view.ui:26
msgid "Light"
msgstr ""

#: data/ui/settings-view.ui:27
msgid "Dark"
msgstr ""

#: data/ui/settings-view.ui:28 data/ui/settings-view.ui:36
msgid "Palette Theme"
msgstr ""

#: data/ui/settings-view.ui:37
msgid "MeshCore Dark"
msgstr ""

#: data/ui/settings-view.ui:49
msgid "Channel Notifications"
msgstr ""

#: data/ui/settings-view.ui:50
msgid "Default notification level for all channels"
msgstr ""

#: data/ui/settings-view.ui:54 src/views/channels_view.py:1775
msgid "All Messages"
msgstr ""

#: data/ui/settings-view.ui:55 src/views/channels_view.py:1775
msgid "Mentions Only"
msgstr ""

#: data/ui/settings-view.ui:56 src/views/contact_detail_dialog.py:241
#: src/views/channels_view.py:1775 src/views/channels_view.py:1812
#: src/views/settings_view.py:158 src/views/repeater_view.py:1048
msgid "None"
msgstr ""

#: data/ui/settings-view.ui:64
msgid "Run in Background"
msgstr ""

#: data/ui/settings-view.ui:65
msgid "Keep receiving messages after closing the window"
msgstr ""

#: data/ui/settings-view.ui:70
msgid "Autostart"
msgstr ""

#: data/ui/settings-view.ui:71
msgid "Automatically start when you log in"
msgstr ""

#: data/ui/settings-view.ui:80 data/ui/repeater-view.ui:104
#: data/ui/repeater-view.ui:723 src/views/settings_view.py:134
msgid "Radio"
msgstr ""

#: data/ui/settings-view.ui:81
msgid "LoRa radio parameters and regional presets"
msgstr ""

#: data/ui/settings-view.ui:84
msgid "Regional Preset"
msgstr ""

#: data/ui/settings-view.ui:89
msgid "Preset Configuration"
msgstr ""

#: data/ui/settings-view.ui:90
msgid "Frequency, bandwidth, spreading factor, coding rate"
msgstr ""

#: data/ui/settings-view.ui:93 data/ui/repeater-view.ui:754
msgid "Frequency (MHz)"
msgstr ""

#: data/ui/settings-view.ui:98 data/ui/repeater-view.ui:759
msgid "Bandwidth (kHz)"
msgstr ""

#: data/ui/settings-view.ui:131 src/views/device_view.py:94
msgid "Repeat Mode"
msgstr ""

#: data/ui/settings-view.ui:132
msgid "Act as a portable repeater on an off-grid frequency"
msgstr ""

#: data/ui/settings-view.ui:138 data/ui/repeater-view.ui:788
msgid "TX Power (dBm)"
msgstr ""

#: data/ui/settings-view.ui:155 src/views/settings_view.py:131
msgid "Advert"
msgstr ""

#: data/ui/settings-view.ui:156
msgid "Configure how your node advertises itself on the mesh"
msgstr ""

#: data/ui/settings-view.ui:159
msgid "Device Name"
msgstr ""

#: data/ui/settings-view.ui:164
msgid "Include Location in Advert"
msgstr ""

#: data/ui/settings-view.ui:165
msgid "Broadcast your position to other nodes"
msgstr ""

#: data/ui/settings-view.ui:174 src/views/settings_view.py:132
msgid "Routing and Messaging"
msgstr ""

#: data/ui/settings-view.ui:175
msgid "Path routing and message delivery settings"
msgstr ""

#: data/ui/settings-view.ui:178
msgid "Default Routing"
msgstr ""

#: data/ui/settings-view.ui:179
msgid "Fixed path or automatic route selection"
msgstr ""

#: data/ui/settings-view.ui:183 data/ui/contact-detail-dialog.ui:109
msgid "Classic"
msgstr ""

#: data/ui/settings-view.ui:184 data/ui/contact-detail-dialog.ui:115
msgid "Smart"
msgstr ""

#: data/ui/settings-view.ui:191
msgid "Learn more about routing modes"
msgstr ""

#: data/ui/settings-view.ui:205
msgid "Larger hashes reduce collisions but allow fewer hops"
msgstr ""

#: data/ui/settings-view.ui:210 src/views/device_view.py:292
msgid "1-byte (max 64 hops)"
msgstr ""

#: data/ui/settings-view.ui:211 src/views/device_view.py:293
msgid "2-byte (max 32 hops)"
msgstr ""

#: data/ui/settings-view.ui:212 src/views/device_view.py:294
msgid "3-byte (max 21 hops)"
msgstr ""

#: data/ui/settings-view.ui:220
msgid "Direct Message Confirmations"
msgstr ""

#: data/ui/settings-view.ui:221
msgid "Number of ACKs sent when receiving a direct message"
msgstr ""

#: data/ui/settings-view.ui:240
msgid "Set your companion's position via GPS or manually"
msgstr ""

#: data/ui/settings-view.ui:243
msgid "Companion GPS"
msgstr ""

#: data/ui/settings-view.ui:244
msgid "Enable GPS on the companion, your position will update automatically"
msgstr ""

#: data/ui/settings-view.ui:250
msgid "Set Location Manually"
msgstr ""

#: data/ui/settings-view.ui:251
msgid "Choose another method to set the location, it will be fixed"
msgstr ""

#: data/ui/settings-view.ui:254 data/ui/repeater-view.ui:709
msgid "Latitude"
msgstr ""

#: data/ui/settings-view.ui:259 data/ui/repeater-view.ui:714
msgid "Longitude"
msgstr ""

#: data/ui/settings-view.ui:264
msgid "Use My Location"
msgstr ""

#: data/ui/settings-view.ui:265
msgid "Set from this computer's location"
msgstr ""

#: data/ui/settings-view.ui:285 data/ui/trace-path-dialog.ui:39
msgid "Pick on Map"
msgstr ""

#: data/ui/settings-view.ui:286
msgid "Choose a location on the map"
msgstr ""

#: data/ui/settings-view.ui:312 data/ui/settings-view.ui:316
#: src/views/settings_view.py:135
msgid "Auto-Add Contacts"
msgstr ""

#: data/ui/settings-view.ui:313
msgid "Automatically add nodes discovered via adverts"
msgstr ""

#: data/ui/settings-view.ui:321
msgid "Auto-Add Settings"
msgstr ""

#: data/ui/settings-view.ui:322
msgid "Device types, overwrite policy, hop limit"
msgstr ""

#: data/ui/settings-view.ui:325
msgid "Chat Nodes"
msgstr ""

#: data/ui/settings-view.ui:330 data/ui/map-sidebar-filters.ui:28
#: src/views/contacts_view.py:162 src/views/contacts_view.py:314
msgid "Repeaters"
msgstr ""

#: data/ui/settings-view.ui:335 src/views/contacts_view.py:163
#: src/views/contacts_view.py:315
msgid "Room Servers"
msgstr ""

#: data/ui/settings-view.ui:340 data/ui/map-sidebar-filters.ui:50
#: src/views/contacts_view.py:164 src/views/contacts_view.py:316
msgid "Sensors"
msgstr ""

#: data/ui/settings-view.ui:345
msgid "Overwrite oldest when full"
msgstr ""

#: data/ui/settings-view.ui:350
msgid "Hop limit"
msgstr ""

#: data/ui/settings-view.ui:351
msgid "0–63, leave empty for no limit"
msgstr ""

#: data/ui/settings-view.ui:370 src/views/settings_view.py:136
msgid "Telemetry Privacy"
msgstr ""

#: data/ui/settings-view.ui:371
msgid "Control what others can query from your device"
msgstr ""

#: data/ui/settings-view.ui:374
msgid "Battery & Sensors"
msgstr ""

#: data/ui/settings-view.ui:375
msgid "Battery, voltage, temperature, current"
msgstr ""

#: data/ui/settings-view.ui:381
msgid "GPS coordinates"
msgstr ""

#: data/ui/settings-view.ui:386
msgid "Environment"
msgstr ""

#: data/ui/settings-view.ui:387
msgid "Humidity, pressure, air quality"
msgstr ""

#: data/ui/settings-view.ui:396 data/ui/repeater-view.ui:458
#: data/ui/manual-backup-dialog.ui:92 data/ui/auto-backup-dialog.ui:106
#: data/ui/import-backup-dialog.ui:99 src/views/contact_detail_dialog.py:219
#: src/views/settings_view.py:137
msgid "Regions"
msgstr ""

#: data/ui/settings-view.ui:397
msgid "Limit flood scope of channel messages to specific regions"
msgstr ""

#: data/ui/settings-view.ui:421
msgid "Add region…"
msgstr ""

#: data/ui/settings-view.ui:424
msgid "Discover regions from repeaters"
msgstr ""

#: data/ui/settings-view.ui:430
msgid "Add region"
msgstr ""

#: data/ui/settings-view.ui:444
msgid "Default Scope"
msgstr ""

#: data/ui/settings-view.ui:445
msgid "All flood packets will be scoped to this region if set"
msgstr ""

#: data/ui/settings-view.ui:455 data/ui/connection-view.ui:35
#: src/views/settings_view.py:138
msgid "Bluetooth"
msgstr ""

#: data/ui/settings-view.ui:456
msgid ""
"After changing the PIN, restart the device, then unpair and re-pair. Setting "
"0 resets the PIN to default."
msgstr ""

#: data/ui/settings-view.ui:459
msgid "Pairing PIN"
msgstr ""

#: data/ui/connection-view.ui:23
msgid "Connect to a companion device to start using Meshy."
msgstr ""

#: data/ui/connection-view.ui:48
msgid "Pair with a New Companion"
msgstr ""

#: data/ui/connection-view.ui:56
msgid "USB Serial"
msgstr ""

#: data/ui/connection-view.ui:71
msgid "WiFi / TCP"
msgstr ""

#: data/ui/connection-view.ui:84 src/views/connection_view.py:517
msgid "Add TCP Companion"
msgstr ""

#: data/ui/contacts-view.ui:16 data/ui/channels-view.ui:35
#: data/ui/discover-dialog.ui:51 data/ui/share-contact-dialog.ui:32
#: data/ui/channel-participants-dialog.ui:49
msgid "Search..."
msgstr ""

#: data/ui/contacts-view.ui:41 data/ui/discover-dialog.ui:74
#: data/ui/share-contact-dialog.ui:53 src/views/__init__.py:548
#: src/views/chat_helpers.py:142
msgid "No contacts"
msgstr ""

#: data/ui/contacts-view.ui:54 data/ui/channel-message-item.ui:165
#: data/ui/chat-message-item.ui:167 src/views/contacts_view.py:447
#: src/views/contacts_view.py:620 src/views/channels_view.py:349
#: src/views/chat_view.py:303
msgid "Add Contact"
msgstr ""

#: data/ui/chat-view.ui:22
msgid "Select a Contact"
msgstr ""

#: data/ui/chat-view.ui:23
msgid "Choose a contact from the list to start chatting"
msgstr ""

#: data/ui/chat-view.ui:85 data/ui/channel-chat-widget.ui:85
msgid "↑ New Messages"
msgstr ""

#: data/ui/chat-view.ui:134 src/views/chat_view.py:509
msgid "Type a message..."
msgstr ""

#: data/ui/channels-view.ui:10 src/views/channels_view.py:2224
msgid "Create a Private Channel"
msgstr ""

#: data/ui/channels-view.ui:14 src/views/channels_view.py:2256
msgid "Join a Private Channel"
msgstr ""

#: data/ui/channels-view.ui:18
msgid "Join the Public Channel"
msgstr ""

#: data/ui/channels-view.ui:22 src/views/channels_view.py:2308
msgid "Join a Hashtag Channel"
msgstr ""

#: data/ui/channels-view.ui:59
msgid "No channels"
msgstr ""

#: data/ui/channels-view.ui:71 src/application.py:160
msgid "Add Channel"
msgstr ""

#: data/ui/channel-chat-widget.ui:22
msgid "Select a Channel"
msgstr ""

#: data/ui/channel-chat-widget.ui:23
msgid "Choose a channel from the list"
msgstr ""

#: data/ui/channel-chat-widget.ui:134
msgid "Message channel..."
msgstr ""

#: data/ui/repeater-view.ui:37
msgid "System"
msgstr ""

#: data/ui/repeater-view.ui:40
msgid "Clock at Login"
msgstr ""

#: data/ui/repeater-view.ui:54
msgid "Sync Now"
msgstr ""

#: data/ui/repeater-view.ui:64 src/views/repeater_view.py:318
msgid "Reset & Reboot"
msgstr ""

#: data/ui/repeater-view.ui:94
msgid "Error Events"
msgstr ""

#: data/ui/repeater-view.ui:125
msgid "TX Airtime"
msgstr ""

#: data/ui/repeater-view.ui:131
msgid "RX Airtime"
msgstr ""

#: data/ui/repeater-view.ui:137
msgid "Channel Utilization"
msgstr ""

#: data/ui/repeater-view.ui:143
msgid "Duty Cycle"
msgstr ""

#: data/ui/repeater-view.ui:156
msgid "Sent"
msgstr ""

#: data/ui/repeater-view.ui:162
msgid "Received"
msgstr ""

#: data/ui/repeater-view.ui:168
msgid "Receive Errors"
msgstr ""

#: data/ui/repeater-view.ui:187
msgid "Duplicates"
msgstr ""

#: data/ui/repeater-view.ui:201 data/ui/repeater-view.ui:344
#: data/ui/repeater-view.ui:429
msgid "Refresh"
msgstr ""

#: data/ui/repeater-view.ui:209 data/ui/contact-detail-dialog.ui:183
#: src/views/repeater_view.py:396
msgid "Request Telemetry"
msgstr ""

#: data/ui/repeater-view.ui:229
msgid "CLI"
msgstr ""

#: data/ui/repeater-view.ui:272
msgid "CLI command..."
msgstr ""

#: data/ui/repeater-view.ui:297
msgid "Neighbors"
msgstr ""

#: data/ui/repeater-view.ui:352
msgid "Load More"
msgstr ""

#: data/ui/repeater-view.ui:361 data/ui/trace-path-dialog.ui:124
#: src/views/contact_detail_dialog.py:455 src/views/channels_view.py:1023
msgid "Show on Map"
msgstr ""

#: data/ui/repeater-view.ui:382
msgid "Access Control"
msgstr ""

#: data/ui/repeater-view.ui:437 data/ui/repeater-view.ui:542
#: src/application.py:244 src/views/__init__.py:504
#: src/views/contacts_view.py:463 src/views/repeater_view.py:1038
msgid "Add"
msgstr ""

#: data/ui/repeater-view.ui:487 src/views/repeater_view.py:799
msgid "Loading regions..."
msgstr ""

#: data/ui/repeater-view.ui:495 src/views/settings_view.py:976
msgid "Retry"
msgstr ""

#: data/ui/repeater-view.ui:520
msgid "Default Region Scope"
msgstr ""

#: data/ui/repeater-view.ui:521
msgid ""
"Flood packets will be scoped to the provided region. Only repeaters allowing "
"the region will forward scoped packets. Leave blank for unscoped."
msgstr ""

#: data/ui/repeater-view.ui:550 data/ui/custom-tiles-dialog.ui:60
#: src/views/settings_view.py:303 src/views/repeater_view.py:1007
msgid "Apply"
msgstr ""

#: data/ui/repeater-view.ui:592
msgid "Basic"
msgstr ""

#: data/ui/repeater-view.ui:603 data/ui/repeater-view.ui:689
#: data/ui/repeater-view.ui:734 data/ui/repeater-view.ui:815
msgid "Fetch"
msgstr ""

#: data/ui/repeater-view.ui:612 data/ui/repeater-view.ui:698
#: data/ui/repeater-view.ui:743 data/ui/repeater-view.ui:824
#: src/views/connection_view.py:491
msgid "Save"
msgstr ""

#: data/ui/repeater-view.ui:623 data/ui/contact-detail-dialog.ui:42
#: data/ui/add-contact-content.ui:23 data/ui/qr-contact-content.ui:23
#: src/views/contacts_view.py:325 src/views/channels_view.py:1676
#: src/views/channels_view.py:1690 src/views/channels_view.py:1960
msgid "Name"
msgstr ""

#: data/ui/repeater-view.ui:628
msgid "Packet Repeat"
msgstr ""

#: data/ui/repeater-view.ui:633
msgid "Guest Access"
msgstr ""

#: data/ui/repeater-view.ui:634
msgid "Allow read-only guest access without password"
msgstr ""

#: data/ui/repeater-view.ui:643
msgid "Passwords"
msgstr ""

#: data/ui/repeater-view.ui:646
msgid "Admin Password"
msgstr ""

#: data/ui/repeater-view.ui:660
msgid "Guest Password"
msgstr ""

#: data/ui/repeater-view.ui:804
msgid "Advertisement"
msgstr ""

#: data/ui/repeater-view.ui:835
msgid "Local Interval (min)"
msgstr ""

#: data/ui/repeater-view.ui:847
msgid "Flood Interval (hrs)"
msgstr ""

#: data/ui/repeater-view.ui:863 data/ui/contact-detail-dialog.ui:200
msgid "Danger Zone"
msgstr ""

#: data/ui/repeater-view.ui:866 data/ui/device-actions.ui:121
msgid "Reboot Device"
msgstr ""

#: data/ui/repeater-view.ui:890
msgid "Select a device"
msgstr ""

#: data/ui/repeater-view.ui:919
msgid "Log Out"
msgstr ""

#: data/ui/sensor-view.ui:14
msgid "Select a Sensor"
msgstr ""

#: data/ui/sensor-view.ui:76
msgid "Refresh Telemetry"
msgstr ""

#: data/ui/sensor-view.ui:85
msgid "Login for Admin Access"
msgstr ""

#: data/ui/device-actions.ui:12
msgid "Send Advert"
msgstr ""

#: data/ui/device-actions.ui:20
msgid "Zero Hop"
msgstr ""

#: data/ui/device-actions.ui:21
msgid "Broadcast locally"
msgstr ""

#: data/ui/device-actions.ui:33
msgid "Flood Routed"
msgstr ""

#: data/ui/device-actions.ui:34
msgid "Broadcast through the mesh"
msgstr ""

#: data/ui/device-actions.ui:46
msgid "To Clipboard"
msgstr ""

#: data/ui/device-actions.ui:47
msgid "Copy self contact data"
msgstr ""

#: data/ui/device-actions.ui:59
msgid "Show QR Code"
msgstr ""

#: data/ui/device-actions.ui:60
msgid "For others to scan and add you"
msgstr ""

#: data/ui/device-actions.ui:76 data/ui/trace-path-dialog.ui:8
#: src/views/device_view.py:831
msgid "Trace Path"
msgstr ""

#: data/ui/device-actions.ui:77
msgid "Trace a route and show signal quality per hop"
msgstr ""

#: data/ui/device-actions.ui:91 data/ui/discover-nearby-dialog.ui:8
msgid "Discover Nearby Nodes"
msgstr ""

#: data/ui/device-actions.ui:92
msgid "Scan the network for nearby nodes"
msgstr ""

#: data/ui/device-actions.ui:106 data/ui/rx-log-dialog.ui:8
msgid "Rx Log"
msgstr ""

#: data/ui/device-actions.ui:107
msgid "View received radio packets"
msgstr ""

#: data/ui/rx-log-dialog.ui:18
msgid "Clear log"
msgstr ""

#: data/ui/rx-log-dialog.ui:50
msgid "No Packets"
msgstr ""

#: data/ui/rx-log-dialog.ui:51
msgid "Received radio packets will appear here"
msgstr ""

#: data/ui/stats-chart-dialog.ui:43
msgid "dBm over last 2 minutes"
msgstr ""

#: data/ui/settings-sidebar.ui:15
msgid "Backup"
msgstr ""

#: data/ui/settings-sidebar.ui:23
msgid "Manual"
msgstr ""

#: data/ui/settings-sidebar.ui:24
msgid "Choose what to back up and save to a file"
msgstr ""

#: data/ui/settings-sidebar.ui:36
msgid "Automatic"
msgstr ""

#: data/ui/settings-sidebar.ui:37
msgid "Daily backups, kept for 7 days"
msgstr ""

#: data/ui/settings-sidebar.ui:51 data/ui/import-backup-dialog.ui:214
#: src/views/settings_view.py:1420
msgid "Restore"
msgstr ""

#: data/ui/settings-sidebar.ui:59
msgid "From File"
msgstr ""

#: data/ui/settings-sidebar.ui:60
msgid "Restore from a manually saved backup"
msgstr ""

#: data/ui/settings-sidebar.ui:72
msgid "From Auto Backup"
msgstr ""

#: data/ui/settings-sidebar.ui:73
msgid "Restore from an automatic snapshot"
msgstr ""

#: data/ui/settings-sidebar.ui:99 src/views/device_view.py:228
msgid "Factory Reset"
msgstr ""

#: data/ui/settings-sidebar.ui:100
msgid "Erase all data on the companion"
msgstr ""

#: data/ui/manual-backup-dialog.ui:8
msgid "Manual Backup"
msgstr ""

#: data/ui/manual-backup-dialog.ui:35 data/ui/auto-backup-dialog.ui:49
#: data/ui/import-backup-dialog.ui:43
msgid "Device Identity"
msgstr ""

#: data/ui/manual-backup-dialog.ui:68 data/ui/auto-backup-dialog.ui:82
#: data/ui/import-backup-dialog.ui:75
msgid "Device Settings"
msgstr ""

#: data/ui/manual-backup-dialog.ui:80 data/ui/auto-backup-dialog.ui:94
#: data/ui/import-backup-dialog.ui:87
msgid "Local Settings"
msgstr ""

#: data/ui/manual-backup-dialog.ui:121 data/ui/auto-backup-dialog.ui:135
#: data/ui/import-backup-dialog.ui:128
msgid "Contact List"
msgstr ""

#: data/ui/manual-backup-dialog.ui:133 data/ui/auto-backup-dialog.ui:147
#: data/ui/import-backup-dialog.ui:140
msgid "Discovered Contacts"
msgstr ""

#: data/ui/manual-backup-dialog.ui:165 data/ui/auto-backup-dialog.ui:179
#: data/ui/import-backup-dialog.ui:171
msgid "Messages and Routing"
msgstr ""

#: data/ui/manual-backup-dialog.ui:180 data/ui/auto-backup-dialog.ui:194
#: data/ui/import-backup-dialog.ui:186 src/views/channels_view.py:1962
msgid "Messages"
msgstr ""

#: data/ui/manual-backup-dialog.ui:192 data/ui/auto-backup-dialog.ui:206
#: data/ui/import-backup-dialog.ui:198
msgid "Smart Route History"
msgstr ""

#: data/ui/manual-backup-dialog.ui:208
msgid "Export"
msgstr ""

#: data/ui/auto-backup-dialog.ui:8
msgid "Automatic Backup"
msgstr ""

#: data/ui/auto-backup-dialog.ui:35
msgid "Enable Automatic Backups"
msgstr ""

#: data/ui/auto-backup-dialog.ui:36
msgid "Daily backups after sync, kept for 7 days"
msgstr ""

#: data/ui/import-backup-dialog.ui:8
msgid "Import Backup"
msgstr ""

#: data/ui/discover-dialog.ui:8 src/views/contacts_view.py:104
#: src/views/contacts_view.py:265 src/views/contacts_view.py:300
msgid "Discover Contacts"
msgstr ""

#: data/ui/discover-dialog.ui:18 data/ui/share-contact-dialog.ui:18
#: data/ui/channel-participants-dialog.ui:18 src/window.py:570
msgid "Search"
msgstr ""

#: data/ui/discover-dialog.ui:27
msgid "Filter by type"
msgstr ""

#: data/ui/discover-dialog.ui:36 data/ui/channel-participants-dialog.ui:36
msgid "Sort by"
msgstr ""

#: data/ui/share-contact-dialog.ui:8 src/views/channels_view.py:203
#: src/views/chat_view.py:154
msgid "Share Contact"
msgstr ""

#: data/ui/theme-chooser-dialog.ui:9
msgid "Choose Theme"
msgstr ""

#: data/ui/contact-detail-dialog.ui:38
msgid "Contact Info"
msgstr ""

#: data/ui/contact-detail-dialog.ui:49
msgid "Favorite"
msgstr ""

#: data/ui/contact-detail-dialog.ui:50
msgid "Pin to top of contacts list"
msgstr ""

#: data/ui/contact-detail-dialog.ui:56 data/ui/custom-tiles-dialog.ui:28
#: src/views/channels_view.py:1697
msgid "Type"
msgstr ""

#: data/ui/contact-detail-dialog.ui:68
msgid "Copy to clipboard"
msgstr ""

#: data/ui/contact-detail-dialog.ui:79 src/views/contacts_view.py:326
#: src/views/channels_view.py:1961
msgid "Last Seen"
msgstr ""

#: data/ui/contact-detail-dialog.ui:89
msgid "Routing"
msgstr ""

#: data/ui/contact-detail-dialog.ui:128
msgid "Out Path"
msgstr ""

#: data/ui/contact-detail-dialog.ui:135
msgid "Reset Path"
msgstr ""

#: data/ui/contact-detail-dialog.ui:136
msgid "Clear the established path and switch to flood"
msgstr ""

#: data/ui/contact-detail-dialog.ui:148
msgid "Available Routes"
msgstr ""

#: data/ui/contact-detail-dialog.ui:161
msgid "Automatically Reset Path"
msgstr ""

#: data/ui/contact-detail-dialog.ui:162
msgid "Switch to flood after failed delivery attempts"
msgstr ""

#: data/ui/contact-detail-dialog.ui:168
msgid "Force Flood"
msgstr ""

#: data/ui/contact-detail-dialog.ui:169
msgid "Always broadcast, never use an established path"
msgstr ""

#: data/ui/contact-detail-dialog.ui:184
msgid "Query this contact's telemetry data"
msgstr ""

#: data/ui/contact-detail-dialog.ui:204
msgid "Remove Contact"
msgstr ""

#: data/ui/trace-path-dialog.ui:31 data/ui/trace-path-dialog.ui:34
#: src/views/device_view.py:1306
msgid "Path"
msgstr ""

#: data/ui/trace-path-dialog.ui:40
msgid "Choose route on the map"
msgstr ""

#: data/ui/trace-path-dialog.ui:59
msgid "Run Trace"
msgstr ""

#: data/ui/trace-path-dialog.ui:81
msgid "Enter path hashes and press Run Trace"
msgstr ""

#: data/ui/add-contact-content.ui:18 data/ui/qr-contact-content.ui:18
msgid "Contact Type"
msgstr ""

#: data/ui/add-contact-content.ui:28
msgid "Public Key (64 hex characters)"
msgstr ""

#: data/ui/channel-message-item.ui:223 data/ui/chat-message-item.ui:225
msgid "Open in Maps App"
msgstr ""

#: data/ui/channel-participants-dialog.ui:8 src/views/channels_view.py:1733
msgid "Participants"
msgstr ""

#: data/ui/channel-participants-dialog.ui:27 src/window.py:573
#: src/window.py:673
msgid "Filter"
msgstr ""

#: data/ui/create-private-channel-content.ui:18
#: data/ui/join-private-channel-content.ui:18
msgid "Channel Name"
msgstr ""

#: data/ui/custom-tiles-dialog.ui:8
msgid "Custom Map Tiles"
msgstr ""

#: data/ui/custom-tiles-dialog.ui:33 src/window.py:515
msgid "URL Template"
msgstr ""

#: data/ui/custom-tiles-dialog.ui:55
msgid "Reset to Default"
msgstr ""

#: data/ui/discover-nearby-dialog.ui:70
msgid "Listening..."
msgstr ""

#: data/ui/discover-nearby-dialog.ui:71
msgid "Waiting for nearby nodes to respond"
msgstr ""

#: data/ui/discover-regions-dialog.ui:8
msgid "Discover Regions"
msgstr ""

#: data/ui/discover-regions-dialog.ui:60 data/ui/pair-dialog.ui:9
#: src/connection_controller.py:276
msgid "Scanning..."
msgstr ""

#: data/ui/discover-regions-dialog.ui:61
msgid "Listening for nearby repeaters"
msgstr ""

#: data/ui/discover-regions-dialog.ui:72 src/views/settings_view.py:965
#: src/views/settings_view.py:1122
msgid "Add Selected"
msgstr ""

#: data/ui/join-hashtag-channel-content.ui:18
msgid "Hashtag (e.g. #general)"
msgstr ""

#: data/ui/join-private-channel-content.ui:23
msgid "Private Key (32 hex characters)"
msgstr ""

#: data/ui/location-dialog.ui:8
msgid "Device Location"
msgstr ""

#: data/ui/map-sidebar-filters.ui:17 src/views/contacts_view.py:161
#: src/views/contacts_view.py:313
msgid "Users"
msgstr ""

#: data/ui/map-sidebar-filters.ui:39
msgid "Rooms"
msgstr ""

#: data/ui/map-sidebar-filters.ui:65
msgid "Discovered Nodes"
msgstr ""

#: data/ui/map-view.ui:30
msgid "User"
msgstr ""

#: data/ui/map-view.ui:46 src/application.py:116 src/views/contacts_view.py:456
#: src/views/contacts_view.py:614 src/views/device_view.py:947
msgid "Repeater"
msgstr ""

#: data/ui/map-view.ui:62 src/application.py:116
msgid "Room"
msgstr ""

#: data/ui/map-view.ui:78 src/application.py:116 src/views/contacts_view.py:456
#: src/views/contacts_view.py:614 src/views/device_view.py:949
msgid "Sensor"
msgstr ""

#: data/ui/message-paths-dialog.ui:8 src/views/channels_view.py:955
msgid "Message Paths"
msgstr ""

#: data/ui/pair-dialog.ui:10
msgid "Looking for nearby MeshCore devices"
msgstr ""

#: data/ui/pair-dialog.ui:13
msgid "Pair New Companion"
msgstr ""

#: data/ui/pair-dialog.ui:41 src/connection_controller.py:157
msgid "Scanning for MeshCore devices..."
msgstr ""

#: data/ui/passkey-dialog-content.ui:18
msgid "PIN"
msgstr ""

#: data/ui/qr-code-dialog.ui:8
msgid "Your Contact QR Code"
msgstr ""

#: data/ui/qr-code-dialog.ui:40
msgid "Scan this QR code to add this contact"
msgstr ""

#: data/ui/qr-scanner-dialog.ui:8 src/views/contacts_view.py:110
msgid "Scan QR Code"
msgstr ""

#: data/ui/qr-scanner-dialog.ui:33
msgid "Point the camera at a QR code..."
msgstr ""

#: data/ui/region-add-content.ui:19
msgid "Region Name"
msgstr ""

#: data/ui/region-add-content.ui:32
msgid "Parent"
msgstr ""

#: data/ui/room-login-dialog.ui:33 data/ui/sensor-login-dialog.ui:31
msgid "Password"
msgstr ""

#: data/ui/room-login-dialog.ui:38
msgid "Save password"
msgstr ""

#: data/ui/room-login-dialog.ui:66 data/ui/sensor-login-dialog.ui:38
msgid "Login"
msgstr ""

#: data/ui/tcp-add-content.ui:18 data/ui/tcp-change-address-content.ui:18
msgid "Hostname / IP Address"
msgstr ""

#: data/ui/tcp-add-content.ui:24 data/ui/tcp-change-address-content.ui:24
msgid "Port"
msgstr ""

#: data/ui/trace-picker-bottom-bar.ui:27
msgid "Undo"
msgstr ""

#: data/ui/trace-picker-bottom-bar.ui:36 src/views/channels_view.py:1866
msgid "Clear"
msgstr ""

#: data/ui/trace-picker-bottom-bar.ui:49
msgid "Done"
msgstr ""

#: src/application.py:116 src/application.py:187 src/window.py:649
#: src/views/contacts_view.py:456 src/views/contacts_view.py:614
#: src/views/channels_view.py:1730 src/views/device_view.py:946
msgid "Chat"
msgstr ""

#: src/application.py:124 src/application.py:191 src/views/__init__.py:476
#: src/views/contact_detail_dialog.py:630 src/views/contacts_view.py:1265
#: src/views/channels_view.py:1118 src/views/device_view.py:857
#: src/views/device_view.py:1084 src/views/device_view.py:1092
#: src/views/settings_view.py:1449
msgid "Unknown"
msgstr ""

#: src/application.py:126
#, python-brace-format
msgid ""
"Name: {name}\n"
"Type: {type}"
msgstr ""

#: src/application.py:128
#, python-brace-format
msgid ""
"Type: {type}\n"
"Key: {key}…"
msgstr ""

#: src/application.py:132
msgid "Import Contact"
msgstr ""

#: src/application.py:136
#, python-brace-format
msgid "Contact {}"
msgstr ""

#: src/application.py:136
msgid "imported"
msgstr ""

#: src/application.py:140
msgid "Invalid meshcore:// link"
msgstr ""

#: src/application.py:154
msgid "Invalid channel secret in link"
msgstr ""

#: src/application.py:157
msgid "Invalid channel secret length"
msgstr ""

#: src/application.py:161
#, python-brace-format
msgid ""
"Name: {name}\n"
"Type: Private"
msgstr ""

#: src/application.py:161
msgid "Unnamed"
msgstr ""

#: src/application.py:177
msgid "Invalid public key in link"
msgstr ""

#: src/application.py:180
msgid "Invalid public key length"
msgstr ""

#: src/application.py:184
#, python-brace-format
msgid "{} is already in your list"
msgstr ""

#: src/application.py:184
msgid "Contact"
msgstr ""

#: src/application.py:189
#, python-brace-format
msgid "Add {} Contact"
msgstr ""

#: src/application.py:190
#, python-brace-format
msgid ""
"Name: {name}\n"
"Public Key: {key}…"
msgstr ""

#: src/application.py:195
#, python-brace-format
msgid "Contact {} added"
msgstr ""

#: src/application.py:200
msgid "Unrecognized meshcore:// link"
msgstr ""

#: src/application.py:243 src/connection_controller.py:159
#: src/connection_controller.py:287 src/connection_controller.py:451
#: src/views/connection_view.py:180 src/views/connection_view.py:251
#: src/views/connection_view.py:455 src/views/connection_view.py:490
#: src/views/connection_view.py:528 src/views/connection_view.py:652
#: src/views/contact_detail_dialog.py:689 src/views/contacts_view.py:462
#: src/views/contacts_view.py:619 src/views/channels_view.py:1865
#: src/views/channels_view.py:1895 src/views/channels_view.py:2145
#: src/views/channels_view.py:2232 src/views/channels_view.py:2265
#: src/views/channels_view.py:2316 src/views/device_view.py:227
#: src/views/device_view.py:243 src/views/settings_view.py:1394
#: src/views/repeater_view.py:317 src/views/repeater_view.py:724
#: src/views/repeater_view.py:1037 src/views/repeater_view.py:1310
msgid "Cancel"
msgstr ""

#: src/application.py:316 src/application.py:337 src/application.py:361
msgid "Receiving messages in the background"
msgstr ""

#: src/application.py:430
msgid ""
"gallegonovato — Spanish\n"
"lebeno — French, Dutch\n"
"bjawebos — German\n"
"Manuel Traut — German\n"
"lejun — French\n"
"LievenBlancke — Dutch\n"
"sesivany — Czech"
msgstr ""

#: src/application.py:442
msgid "A GTK client for MeshCore LoRa mesh network devices"
msgstr ""

#: src/application.py:491
msgid "Adwaita Symbolic Icons"
msgstr ""

#: src/connection_controller.py:150 src/connection_controller.py:290
#: src/window.py:1086
msgid "Connecting..."
msgstr ""

#: src/connection_controller.py:156
msgid "Scan for Devices"
msgstr ""

#: src/connection_controller.py:160
msgid "Scan"
msgstr ""

#: src/connection_controller.py:277
msgid "Stop"
msgstr ""

#: src/connection_controller.py:283 src/connection_controller.py:447
#, python-brace-format
msgid "Reconnecting ({current}/{total})..."
msgstr ""

#: src/connection_controller.py:301
msgid "Syncing..."
msgstr ""

#: src/connection_controller.py:336
msgid "Device did not respond. It may not support this connection type."
msgstr ""

#: src/connection_controller.py:522
msgid "Syncing channels"
msgstr ""

#: src/connection_controller.py:594
#, python-brace-format
msgid "You received {} message while disconnected."
msgid_plural "You received {} messages while disconnected."
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""

#: src/frame_handler.py:168
#, python-brace-format
msgid "Device error: {}"
msgstr ""

#: src/frame_handler.py:298 src/frame_handler.py:316
msgid "Syncing contacts"
msgstr ""

#: src/frame_handler.py:506
#, python-brace-format
msgid "{} (late)"
msgstr ""

#: src/frame_handler.py:506
msgid "late"
msgstr ""

#: src/frame_handler.py:605
#, python-brace-format
msgid "Device clock was {}min behind — synced"
msgstr ""

#: src/frame_handler.py:615
#, python-brace-format
msgid "Device clock is {}min ahead of system"
msgstr ""

#: src/frame_handler.py:1207 src/window.py:792 src/views/contacts_view.py:1105
#: src/views/channels_view.py:1564 src/views/channels_view.py:1670
#: src/views/channels_view.py:1691 src/views/channels_view.py:1862
#: src/views/channels_view.py:1892 src/views/repeater_view.py:440
#: src/views/sensor_view.py:123
#, python-brace-format
msgid "Channel {}"
msgstr ""

#: src/frame_handler.py:1208
msgid "Someone"
msgstr ""

#: src/frame_handler.py:1211
#, python-brace-format
msgid "{sender}: {text}"
msgstr ""

#: src/message_controller.py:175 src/views/repeater_view.py:682
#: src/views/repeater_view.py:713
msgid "Me"
msgstr ""

#: src/message_controller.py:218
msgid "flood"
msgstr ""

#: src/message_controller.py:220 src/views/channels_view.py:483
msgid "direct"
msgstr ""

#: src/message_controller.py:222
msgid "path"
msgstr ""

#: src/message_controller.py:225 src/message_controller.py:229
#, python-brace-format
msgid "– {route}"
msgstr ""

#: src/message_controller.py:230
#, python-brace-format
msgid "({attempt}/{total}) – {route}"
msgstr ""

#: src/message_controller.py:285
#, python-brace-format
msgid "waiting {} (radio busy)"
msgstr ""

#: src/window.py:497
msgid "Raster"
msgstr ""

#: src/window.py:497
msgid "Vector"
msgstr ""

#: src/window.py:505
#, python-brace-format
msgid ""
"Use {z}, {x}, {y} as placeholders.\n"
"Example: https://tile.openstreetmap.org/{z}/{x}/{y}.png"
msgstr ""

#: src/window.py:509
msgid ""
"URL to a MapLibre/Mapbox style JSON.\n"
"Example: https://api.maptiler.com/maps/outdoor-v2/style.json?key=KEY"
msgstr ""

#: src/window.py:515
msgid "Style JSON URL"
msgstr ""

#: src/window.py:538
msgid "Custom map tiles applied"
msgstr ""

#: src/window.py:540
msgid "Failed to load custom map tiles"
msgstr ""

#: src/window.py:576
msgid "Sort"
msgstr ""

#. Sidebar = Device Info button + Actions, content = device info
#. Actions group
#: src/window.py:636 src/views/contact_detail_dialog.py:157
#: src/views/channels_view.py:1852 src/views/repeater_view.py:897
msgid "Actions"
msgstr ""

#: src/window.py:661
msgid "Channel"
msgstr ""

#. Sidebar = Settings button + hint, content = settings with Apply in headerbar
#: src/window.py:695
msgid "Backup & Restore"
msgstr ""

#: src/window.py:773 src/window.py:837
#, python-brace-format
msgid "{name} ({path})"
msgstr ""

#: src/window.py:794
#, python-brace-format
msgid "{name} ({region})"
msgstr ""

#: src/window.py:859
msgid "Management"
msgstr ""

#: src/window.py:859
msgid "Guest"
msgstr ""

#: src/window.py:860
#, python-brace-format
msgid "{name} — {role}"
msgstr ""

#: src/window.py:961
msgid "Excellent"
msgstr ""

#: src/window.py:962
msgid "Good"
msgstr ""

#: src/window.py:963
msgid "Fair"
msgstr ""

#: src/window.py:964
msgid "Poor"
msgstr ""

#: src/window.py:965
msgid "Very poor"
msgstr ""

#: src/window.py:1191
msgid "flood routed"
msgstr ""

#: src/window.py:1191
msgid "zero-hop"
msgstr ""

#: src/window.py:1192
#, python-brace-format
msgid "Advert sent ({})"
msgstr ""

#: src/window.py:1677
#, python-brace-format
msgid "Channel \"{}\" added"
msgstr ""

#: src/window.py:1681
msgid "No empty channel slots available"
msgstr ""

#: src/qr_scanner.py:47
#, python-brace-format
msgid "Cannot connect to session bus: {}"
msgstr ""

#: src/qr_scanner.py:65
msgid "No camera detected on this system."
msgstr ""

#: src/qr_scanner.py:121
#, python-brace-format
msgid "Could not access camera: {}"
msgstr ""

#: src/qr_scanner.py:130
msgid "Camera access was denied."
msgstr ""

#: src/qr_scanner.py:164
msgid "Could not open camera stream."
msgstr ""

#: src/qr_scanner.py:170
msgid "No camera file descriptor received."
msgstr ""

#: src/qr_scanner.py:179 src/qr_scanner.py:182
#, python-brace-format
msgid "Could not open camera: {}"
msgstr ""

#: src/qr_scanner.py:211
#, python-brace-format
msgid "Camera pipeline error: {}"
msgstr ""

#: src/qr_scanner.py:288
msgid ""
"No QR code detected yet.\n"
"Make sure the code is well-lit, sharp, and fills most of the frame."
msgstr ""

#: src/qr_scanner.py:299
msgid ""
"Could not detect QR code.\n"
"Try importing the contact via clipboard instead."
msgstr ""

#: src/qr_scanner.py:305
msgid "QR code found!"
msgstr ""

#: src/qr_scanner.py:315
#, python-brace-format
msgid "Camera error: {}"
msgstr ""

#: src/qr_scanner.py:333
msgid "Camera Error"
msgstr ""

#: src/qr_scanner.py:334 src/views/connection_view.py:213
#: src/views/connection_view.py:345 src/views/connection_view.py:352
#: src/views/contacts_view.py:272 src/views/contacts_view.py:502
#: src/views/contacts_view.py:599 src/views/channels_view.py:961
#: src/views/channels_view.py:1183 src/views/channels_view.py:1205
#: src/views/channels_view.py:2214 src/views/channels_view.py:2289
#: src/views/settings_view.py:1239 src/views/settings_view.py:1349
#: src/views/settings_view.py:1378 src/views/settings_view.py:1389
#: src/views/settings_view.py:1444 src/views/chat_helpers.py:161
msgid "OK"
msgstr ""

#: src/views/__init__.py:52
msgid "Today"
msgstr ""

#: src/views/__init__.py:54
msgid "Yesterday"
msgstr ""

#. Translators: date format for current year, strftime-style.
#. %A = weekday, %B = month name, %-d = day number.
#: src/views/__init__.py:59
msgid "%A, %B %-d"
msgstr ""

#. Translators: date format with year, strftime-style.
#. %A = weekday, %B = month name, %-d = day number, %Y = year.
#: src/views/__init__.py:62
msgid "%A, %B %-d, %Y"
msgstr ""

#: src/views/__init__.py:506 src/views/contacts_view.py:224
#: src/views/chat_helpers.py:142
#, python-brace-format
msgid "{total} contacts"
msgstr ""

#: src/views/__init__.py:508 src/views/contacts_view.py:220
#, python-brace-format
msgid "{visible}/{total} contacts"
msgstr ""

#: src/views/connection_view.py:44 src/views/connection_view.py:181
#: src/views/connection_view.py:404 src/views/connection_view.py:456
#: src/views/contact_detail_dialog.py:690 src/views/channels_view.py:1896
#: src/views/repeater_view.py:725 src/views/repeater_view.py:914
msgid "Remove"
msgstr ""

#: src/views/connection_view.py:80
msgid "Bluetooth not available"
msgstr ""

#: src/views/connection_view.py:81
msgid "BLE requires running from app bundle on macOS"
msgstr ""

#: src/views/connection_view.py:94
msgid "Bluetooth is disabled"
msgstr ""

#: src/views/connection_view.py:95
msgid "Enable Bluetooth in system settings to connect"
msgstr ""

#: src/views/connection_view.py:105
msgid "No paired devices"
msgstr ""

#: src/views/connection_view.py:106
msgid "Use the button below to pair a new companion"
msgstr ""

#: src/views/connection_view.py:147
msgid "No USB devices detected"
msgstr ""

#: src/views/connection_view.py:148
msgid "Connect a MeshCore companion via USB"
msgstr ""

#: src/views/connection_view.py:175 src/views/connection_view.py:452
msgid "Remove Companion"
msgstr ""

#: src/views/connection_view.py:176
#, python-brace-format
msgid "Remove {} ({})? You will need to pair again to reconnect."
msgstr ""

#: src/views/connection_view.py:184 src/views/connection_view.py:459
msgid "Delete stored data"
msgstr ""

#: src/views/connection_view.py:210
msgid "USB Connection Failed"
msgstr ""

#: src/views/connection_view.py:243 src/views/connection_view.py:272
msgid "USB Permission Denied"
msgstr ""

#: src/views/connection_view.py:245
#, python-brace-format
msgid ""
"Cannot access {}.\n"
"\n"
"A udev rule is needed to grant access to USB serial devices. Click \"Install "
"Rule\" to install it (requires administrator password)."
msgstr ""

#: src/views/connection_view.py:252
msgid "Install Rule"
msgstr ""

#: src/views/connection_view.py:274
#, python-brace-format
msgid ""
"Cannot access {}.\n"
"\n"
"A udev rule is needed to grant access to USB serial devices. Run the "
"following command in a terminal:\n"
"\n"
"{}"
msgstr ""

#: src/views/connection_view.py:280
msgid "Close"
msgstr ""

#: src/views/connection_view.py:281
msgid "Copy Command"
msgstr ""

#: src/views/connection_view.py:289
msgid "Command copied to clipboard"
msgstr ""

#: src/views/connection_view.py:342 src/views/connection_view.py:349
msgid "Installation Failed"
msgstr ""

#: src/views/connection_view.py:343
#, python-brace-format
msgid ""
"Could not install udev rule:\n"
"{}"
msgstr ""

#: src/views/connection_view.py:379
msgid "No saved companions"
msgstr ""

#: src/views/connection_view.py:380
msgid "Use the button below to add one"
msgstr ""

#: src/views/connection_view.py:403 src/views/connection_view.py:477
msgid "Change Address"
msgstr ""

#: src/views/connection_view.py:453
#, python-brace-format
msgid "Remove TCP companion {}?"
msgstr ""

#: src/views/connection_view.py:478
msgid "Enter the new address for this companion."
msgstr ""

#: src/views/connection_view.py:518
msgid "Enter the IP address and port of your MeshCore device."
msgstr ""

#: src/views/connection_view.py:602 src/views/connection_view.py:653
msgid "Pair"
msgstr ""

#: src/views/connection_view.py:642
msgid "Enter Pairing PIN"
msgstr ""

#: src/views/connection_view.py:643
msgid "Enter the PIN shown on your MeshCore device."
msgstr ""

#: src/views/contact_detail_dialog.py:60 src/views/channels_view.py:2082
msgid "Never"
msgstr ""

#: src/views/contact_detail_dialog.py:100
msgid "Show Path on Map"
msgstr ""

#: src/views/contact_detail_dialog.py:101
msgid "Visualize the message route on the map"
msgstr ""

#: src/views/contact_detail_dialog.py:126
msgid "Allow Telemetry Requests"
msgstr ""

#: src/views/contact_detail_dialog.py:127
msgid "Allow this contact to query battery, voltage, temperature"
msgstr ""

#: src/views/contact_detail_dialog.py:131
msgid "Include Location"
msgstr ""

#: src/views/contact_detail_dialog.py:132
msgid "Include GPS coordinates in telemetry responses"
msgstr ""

#: src/views/contact_detail_dialog.py:136
msgid "Include Environment Sensors"
msgstr ""

#: src/views/contact_detail_dialog.py:137
msgid "Include humidity, pressure, air quality data"
msgstr ""

#: src/views/contact_detail_dialog.py:161
msgid "Room Management"
msgstr ""

#: src/views/contact_detail_dialog.py:163
msgid "Repeater Management"
msgstr ""

#: src/views/contact_detail_dialog.py:167
msgid "Login and access status, CLI, neighbors, and settings"
msgstr ""

#: src/views/contact_detail_dialog.py:185
msgid "Ping"
msgstr ""

#: src/views/contact_detail_dialog.py:186
msgid "Measure round-trip time to this node"
msgstr ""

#: src/views/contact_detail_dialog.py:201
msgid "Discover Paths"
msgstr ""

#: src/views/contact_detail_dialog.py:202
msgid "Find routes to this node via flood"
msgstr ""

#: src/views/contact_detail_dialog.py:220
msgid "Query regions from this repeater"
msgstr ""

#: src/views/contact_detail_dialog.py:230
msgid "Querying..."
msgstr ""

#: src/views/contact_detail_dialog.py:243 src/views/contacts_view.py:963
msgid "No response"
msgstr ""

#: src/views/contact_detail_dialog.py:329 src/views/device_view.py:165
msgid "Public key copied"
msgstr ""

#: src/views/contact_detail_dialog.py:389
#: src/views/contact_detail_dialog.py:433
#, python-format
msgid "%d paths available"
msgstr ""

#: src/views/contact_detail_dialog.py:389
#: src/views/contact_detail_dialog.py:435
#: src/views/contact_detail_dialog.py:527
msgid "No paths yet"
msgstr ""

#: src/views/contact_detail_dialog.py:452
#, python-format
msgid "Smart Routes — %s"
msgstr ""

#: src/views/contact_detail_dialog.py:463
msgid "Available Paths"
msgstr ""

#: src/views/contact_detail_dialog.py:474
#, python-format
msgid "Score: %.2f"
msgstr ""

#: src/views/contact_detail_dialog.py:475
#, python-format
msgid "Weight: %.1f"
msgstr ""

#: src/views/contact_detail_dialog.py:477
#: src/views/contact_detail_dialog.py:669
#, python-format
msgid "%d hops"
msgstr ""

#: src/views/contact_detail_dialog.py:513
msgid "No paths recorded yet"
msgstr ""

#: src/views/contact_detail_dialog.py:514
msgid "Paths are discovered as messages are exchanged"
msgstr ""

#: src/views/contact_detail_dialog.py:521
msgid "Clear History"
msgstr ""

#: src/views/contact_detail_dialog.py:591
msgid "No location data available"
msgstr ""

#: src/views/contact_detail_dialog.py:595
#, python-format
msgid "Routes to %s"
msgstr ""

#: src/views/contact_detail_dialog.py:626 src/views/contacts_view.py:1155
#: src/views/contacts_view.py:1259 src/views/channels_view.py:1111
#: src/views/device_view.py:851 src/views/sensor_view.py:181
#: src/views/chat_helpers.py:75 src/views/map_view.py:491
#: src/views/map_view.py:787 src/views/map_view.py:1158
msgid "My Device"
msgstr ""

#: src/views/contact_detail_dialog.py:686
msgid "Remove Contact?"
msgstr ""

#: src/views/contact_detail_dialog.py:687
#, python-brace-format
msgid "Remove {} and all messages?"
msgstr ""

#: src/views/contacts_view.py:105
msgid "Add Manually"
msgstr ""

#: src/views/contacts_view.py:106
msgid "Import from Clipboard"
msgstr ""

#: src/views/contacts_view.py:159 src/views/contacts_view.py:312
#: src/views/channels_view.py:1462 src/views/channels_view.py:1953
msgid "All"
msgstr ""

#: src/views/contacts_view.py:160
msgid "Favourites"
msgstr ""

#: src/views/contacts_view.py:175 src/views/channels_view.py:1475
msgid "A–Z"
msgstr ""

#: src/views/contacts_view.py:176
msgid "Heard Recently"
msgstr ""

#: src/views/contacts_view.py:177 src/views/channels_view.py:1476
msgid "Latest Messages"
msgstr ""

#: src/views/contacts_view.py:184
msgid "Favorites First"
msgstr ""

#: src/views/contacts_view.py:226
#, python-brace-format
msgid "{total} contact"
msgstr ""

#: src/views/contacts_view.py:267
msgid ""
"No new contacts have been heard yet. Leave the app running and contacts will "
"appear as their adverts are received."
msgstr ""

#: src/views/contacts_view.py:304
#, python-brace-format
msgid "{total} discovered"
msgstr ""

#: src/views/contacts_view.py:305
#, python-brace-format
msgid "{visible}/{total} discovered"
msgstr ""

#: src/views/contacts_view.py:327
msgid "Arrival Time"
msgstr ""

#: src/views/contacts_view.py:331
msgid "Distance"
msgstr ""

#: src/views/contacts_view.py:448
msgid "Enter the contact details."
msgstr ""

#: src/views/contacts_view.py:456 src/views/contacts_view.py:614
#: src/views/device_view.py:948
msgid "Room Server"
msgstr ""

#: src/views/contacts_view.py:475 src/views/contacts_view.py:563
#: src/views/contacts_view.py:588
msgid "This contact is already in your list."
msgstr ""

#: src/views/contacts_view.py:499 src/views/contacts_view.py:598
#: src/views/settings_view.py:1441
msgid "Import Failed"
msgstr ""

#: src/views/contacts_view.py:500
msgid "No meshcore:// link found in clipboard."
msgstr ""

#: src/views/contacts_view.py:532
msgid "Invalid channel secret in QR code."
msgstr ""

#: src/views/contacts_view.py:536
#, python-brace-format
msgid "Channel secret must be 16 bytes, got {}."
msgstr ""

#: src/views/contacts_view.py:553
msgid "Invalid public key in QR code."
msgstr ""

#: src/views/contacts_view.py:558
#, python-brace-format
msgid "Public key must be 32 bytes, got {}."
msgstr ""

#: src/views/contacts_view.py:595
#, python-brace-format
msgid ""
"Could not parse QR code data:\n"
"{}"
msgstr ""

#: src/views/contacts_view.py:605
msgid "QR Code Scanned"
msgstr ""

#: src/views/contacts_view.py:606
#, python-brace-format
msgid "Public key: {}...{}"
msgstr ""

#: src/views/contacts_view.py:676 src/views/sensor_view.py:219
#, python-brace-format
msgid "Login to {}"
msgstr ""

#: src/views/contacts_view.py:698
msgid "Login successful"
msgstr ""

#: src/views/contacts_view.py:716
msgid "Login failed — wrong password"
msgstr ""

#: src/views/contacts_view.py:723
msgid "Login timed out"
msgstr ""

#: src/views/contacts_view.py:730
msgid "Retrying via flood..."
msgstr ""

#: src/views/contacts_view.py:737 src/views/sensor_view.py:228
msgid "Logging in..."
msgstr ""

#: src/views/contacts_view.py:904
msgid "Searching..."
msgstr ""

#: src/views/contacts_view.py:943 src/views/channels_view.py:487
#, python-format
msgid "%d hop"
msgid_plural "%d hops"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""

#: src/views/contacts_view.py:957
msgid "Path found"
msgstr ""

#: src/views/contacts_view.py:972
msgid "Loading..."
msgstr ""

#: src/views/contacts_view.py:982
msgid "No path cached"
msgstr ""

#: src/views/contacts_view.py:995
msgid "Not supported"
msgstr ""

#: src/views/contacts_view.py:1006
msgid "Ping is not supported with 3-byte path hashes"
msgstr ""

#: src/views/contacts_view.py:1029
#, python-brace-format
msgid "Ping {}: {}"
msgstr ""

#: src/views/contacts_view.py:1040
#, python-brace-format
msgid "Ping {}: timed out"
msgstr ""

#: src/views/contacts_view.py:1053 src/views/repeater_view.py:526
#: src/views/repeater_view.py:661 src/views/sensor_view.py:55
msgid "Requesting..."
msgstr ""

#: src/views/contacts_view.py:1058 src/views/device_view.py:375
#: src/views/sensor_view.py:251
msgid "No response (timed out)"
msgstr ""

#: src/views/contacts_view.py:1067 src/views/contacts_view.py:1071
#: src/views/device_view.py:385 src/views/device_view.py:389
#: src/views/sensor_view.py:97 src/views/sensor_view.py:104
msgid "No telemetry data"
msgstr ""

#: src/views/contacts_view.py:1074 src/views/device_view.py:404
msgid "Telemetry received"
msgstr ""

#: src/views/contacts_view.py:1097 src/views/repeater_view.py:432
#, python-brace-format
msgid "Telemetry — {}"
msgstr ""

#: src/views/contacts_view.py:1238
#, python-brace-format
msgid "Path to {}"
msgstr ""

#: src/views/contacts_view.py:1290 src/views/channels_view.py:1010
#: src/views/channels_view.py:1119 src/views/device_view.py:858
#: src/views/map_view.py:822
msgid "Unknown repeater"
msgstr ""

#: src/views/channels_view.py:146 src/views/channels_view.py:1180
#: src/views/channels_view.py:1187
msgid "Heard Repeats"
msgstr ""

#: src/views/channels_view.py:147 src/views/chat_view.py:97
msgid "Send Again"
msgstr ""

#: src/views/channels_view.py:148 src/views/channels_view.py:154
#: src/views/chat_view.py:98
msgid "Delete"
msgstr ""

#: src/views/channels_view.py:151
msgid "Reply"
msgstr ""

#: src/views/channels_view.py:152
msgid "Copy Text"
msgstr ""

#: src/views/channels_view.py:153
msgid "View Message Paths"
msgstr ""

#: src/views/channels_view.py:204 src/views/chat_helpers.py:176
#: src/views/chat_view.py:155
msgid "Share Location"
msgstr ""

#: src/views/channels_view.py:205 src/views/chat_view.py:156
msgid "Share Location from Map"
msgstr ""

#: src/views/channels_view.py:331 src/views/chat_view.py:285
msgid "You shared a contact:"
msgstr ""

#: src/views/channels_view.py:335 src/views/chat_view.py:289
#, python-brace-format
msgid "{name} shared a contact with you:"
msgstr ""

#: src/views/channels_view.py:349 src/views/channels_view.py:465
#: src/views/chat_view.py:303 src/views/chat_view.py:415
msgid "Already added"
msgstr ""

#: src/views/channels_view.py:366 src/views/chat_view.py:320
msgid "You shared a location:"
msgstr ""

#: src/views/channels_view.py:370 src/views/chat_view.py:324
#, python-brace-format
msgid "{name} shared a location:"
msgstr ""

#: src/views/channels_view.py:433 src/views/chat_view.py:383
msgid "New Messages"
msgstr ""

#: src/views/channels_view.py:474
#, python-format
msgid "· %d repeat"
msgid_plural "· %d repeats"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""

#: src/views/channels_view.py:496
#, python-format
msgid "· %d resend"
msgid_plural "· %d resends"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""

#: src/views/channels_view.py:957
msgid ""
"No path information available. Path data is only captured for messages "
"received while connected."
msgstr ""

#: src/views/channels_view.py:1031
msgid "Direct message"
msgstr ""

#: src/views/channels_view.py:1032
msgid "No repeaters were used"
msgstr ""

#: src/views/channels_view.py:1039
msgid "No repeater details"
msgstr ""

#: src/views/channels_view.py:1040
msgid "Path data is only captured via LOG_DATA while connected"
msgstr ""

#: src/views/channels_view.py:1089
msgid "Message Path"
msgstr ""

#: src/views/channels_view.py:1181
msgid "No repeats heard yet."
msgstr ""

#: src/views/channels_view.py:1463 src/views/channels_view.py:2299
msgid "Public"
msgstr ""

#: src/views/channels_view.py:1464
msgid "Hashtag"
msgstr ""

#: src/views/channels_view.py:1465
msgid "Private"
msgstr ""

#: src/views/channels_view.py:1510
#, python-brace-format
msgid "{visible}/{total} channels"
msgstr ""

#: src/views/channels_view.py:1514
#, python-brace-format
msgid "{total} channels"
msgstr ""

#: src/views/channels_view.py:1516
#, python-brace-format
msgid "{total} channel"
msgstr ""

#. Info group
#: src/views/channels_view.py:1673
msgid "Channel Info"
msgstr ""

#: src/views/channels_view.py:1705
msgid "Private Key"
msgstr ""

#: src/views/channels_view.py:1716
msgid "Private key copied to clipboard"
msgstr ""

#: src/views/channels_view.py:1734 src/views/channels_view.py:2030
#: src/views/channels_view.py:2036
#, python-brace-format
msgid "{} participant"
msgid_plural "{} participants"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""

#: src/views/channels_view.py:1747
msgid "Message Retention"
msgstr ""

#: src/views/channels_view.py:1750
msgid "1 Day"
msgstr ""

#: src/views/channels_view.py:1751
msgid "1 Week"
msgstr ""

#: src/views/channels_view.py:1752
msgid "1 Month"
msgstr ""

#: src/views/channels_view.py:1753
msgid "3 Months"
msgstr ""

#: src/views/channels_view.py:1754
msgid "Forever"
msgstr ""

#: src/views/channels_view.py:1773
msgid "Notification Level"
msgstr ""

#: src/views/channels_view.py:1775
msgid "Default"
msgstr ""

#: src/views/channels_view.py:1805 src/views/channels_view.py:1810
msgid "Region"
msgstr ""

#: src/views/channels_view.py:1806
msgid "Limit flood messages to a specific region"
msgstr ""

#: src/views/channels_view.py:1834
msgid "No regions defined"
msgstr ""

#: src/views/channels_view.py:1835
msgid "Add regions in Settings to assign them to channels"
msgstr ""

#: src/views/channels_view.py:1854
msgid "Clear Messages"
msgstr ""

#: src/views/channels_view.py:1860
msgid "Clear Messages?"
msgstr ""

#: src/views/channels_view.py:1861
#, python-brace-format
msgid "Delete all messages in \"{}\"?"
msgstr ""

#: src/views/channels_view.py:1874
msgid "Messages cleared"
msgstr ""

#: src/views/channels_view.py:1884
msgid "Remove Channel"
msgstr ""

#: src/views/channels_view.py:1890
msgid "Remove Channel?"
msgstr ""

#: src/views/channels_view.py:1891
#, python-brace-format
msgid "Remove \"{}\" and all its messages?"
msgstr ""

#: src/views/channels_view.py:1953
msgid "Blocked"
msgstr ""

#: src/views/channels_view.py:2032
#, python-brace-format
msgid "{} blocked"
msgid_plural "{} blocked"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""

#: src/views/channels_view.py:2062
msgid "Unblock"
msgstr ""

#: src/views/channels_view.py:2068 src/views/channels_view.py:2146
msgid "Block"
msgstr ""

#: src/views/channels_view.py:2077
#, python-brace-format
msgid "{} message"
msgid_plural "{} messages"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""

#: src/views/channels_view.py:2093
#, python-brace-format
msgid "Unblocked {}"
msgstr ""

#: src/views/channels_view.py:2138
#, python-brace-format
msgid "Block {}?"
msgstr ""

#: src/views/channels_view.py:2140
msgid ""
"Channel messages don't include sender identity. This block matches by name "
"only — the sender could change their name to bypass it."
msgstr ""

#: src/views/channels_view.py:2147
msgid "Block and Delete Messages"
msgstr ""

#: src/views/channels_view.py:2164
#, python-brace-format
msgid "Blocked {}"
msgstr ""

#: src/views/channels_view.py:2211
msgid "No Slots Available"
msgstr ""

#: src/views/channels_view.py:2212
msgid "All 8 channel slots are in use."
msgstr ""

#: src/views/channels_view.py:2225
msgid "A random PSK will be generated. Share it with others so they can join."
msgstr ""

#: src/views/channels_view.py:2233
msgid "Create"
msgstr ""

#: src/views/channels_view.py:2257
msgid "Enter the channel name and private key shared with you."
msgstr ""

#: src/views/channels_view.py:2266 src/views/channels_view.py:2317
msgid "Join"
msgstr ""

#: src/views/channels_view.py:2287
msgid "Already Joined"
msgstr ""

#: src/views/channels_view.py:2287
msgid "You are already on the public channel."
msgstr ""

#: src/views/channels_view.py:2309
msgid "Enter a hashtag name. Anyone using the same hashtag can communicate."
msgstr ""

#: src/views/device_view.py:175
msgid "Device public key not available"
msgstr ""

#: src/views/device_view.py:186
msgid "QR code library not available"
msgstr ""

#: src/views/device_view.py:219
msgid "Factory Reset?"
msgstr ""

#: src/views/device_view.py:221
msgid ""
"This will permanently erase ALL data on the companion device, including "
"contacts, messages, channels, settings, and the device identity (keys). This "
"action cannot be undone."
msgstr ""

#: src/views/device_view.py:240
msgid "Reboot Device?"
msgstr ""

#: src/views/device_view.py:241
msgid "The device will disconnect and restart."
msgstr ""

#: src/views/device_view.py:244 src/views/repeater_view.py:1311
msgid "Reboot"
msgstr ""

#: src/views/device_view.py:327
msgid "Not set"
msgstr ""

#: src/views/device_view.py:336 src/views/device_view.py:344
msgid "Location (manually set)"
msgstr ""

#: src/views/device_view.py:340
msgid "Location (GPS)"
msgstr ""

#: src/views/device_view.py:340
msgid "Location (GPS on, no fix)"
msgstr ""

#: src/views/device_view.py:344
msgid "Location (GPS off)"
msgstr ""

#: src/views/device_view.py:369 src/views/repeater_view.py:390
msgid "Requesting…"
msgstr ""

#: src/views/device_view.py:451
#, python-brace-format
msgid "{days}d"
msgstr ""

#: src/views/device_view.py:453
#, python-brace-format
msgid "{hours}h"
msgstr ""

#: src/views/device_view.py:454
#, python-brace-format
msgid "{mins}m"
msgstr ""

#: src/views/device_view.py:456
#, python-brace-format
msgid "{} messages"
msgstr ""

#: src/views/device_view.py:477
#, python-brace-format
msgid "{count} errors"
msgstr ""

#: src/views/device_view.py:492 src/views/device_view.py:494
msgid "Connected"
msgstr ""

#: src/views/device_view.py:506
msgid "Trace Path is not supported with 3-byte path hashes"
msgstr ""

#: src/views/device_view.py:528
msgid "e.g. aa,bb,cc"
msgstr ""

#: src/views/device_view.py:528
msgid "e.g. aabb,ccdd"
msgstr ""

#: src/views/device_view.py:528
msgid "e.g. aabbcc,ddeeff"
msgstr ""

#: src/views/device_view.py:621
msgid "No repeaters with known location"
msgstr ""

#: src/views/device_view.py:683
#, python-brace-format
msgid "Trace complete: {} hops, {}"
msgstr ""

#: src/views/device_view.py:689
msgid "Result"
msgstr ""

#: src/views/device_view.py:737
msgid "Trace timed out"
msgstr ""

#: src/views/device_view.py:753
msgid "Invalid hex in path"
msgstr ""

#: src/views/device_view.py:764
msgid "Tracing..."
msgstr ""

#: src/views/device_view.py:932 src/views/device_view.py:1103
#, python-brace-format
msgid "Scanning... {}s remaining"
msgstr ""

#: src/views/device_view.py:979
msgid "Add to Contacts"
msgstr ""

#: src/views/device_view.py:986
#, python-brace-format
msgid "Added {}"
msgstr ""

#: src/views/device_view.py:1015
msgid "Node"
msgstr ""

#: src/views/device_view.py:1112
#, python-brace-format
msgid "Done. {} nodes found."
msgstr ""

#: src/views/device_view.py:1114
#, python-brace-format
msgid "Done. {} node found."
msgstr ""

#: src/views/device_view.py:1152
#, python-brace-format
msgid "{unit} over last 2 minutes"
msgstr ""

#: src/views/device_view.py:1301
msgid "Size"
msgstr ""

#: src/views/device_view.py:1301
msgid "bytes"
msgstr ""

#: src/views/device_view.py:1306
msgid "hops"
msgstr ""

#: src/views/device_view.py:1307
msgid "Path Hashes"
msgstr ""

#: src/views/device_view.py:1307
msgid "byte per hop"
msgstr ""

#: src/views/device_view.py:1378
#, python-brace-format
msgid "Update available: {version}"
msgstr ""

#: src/views/settings_view.py:143
msgid "Custom"
msgstr ""

#. Telemetry combo models — shared label set
#: src/views/settings_view.py:151
msgid "Deny All"
msgstr ""

#: src/views/settings_view.py:151
msgid "Allow per Contact"
msgstr ""

#: src/views/settings_view.py:151
msgid "Allow All"
msgstr ""

#: src/views/settings_view.py:649
msgid "Settings applied on device"
msgstr ""

#: src/views/settings_view.py:674
msgid "Unknown error"
msgstr ""

#: src/views/settings_view.py:675
#, python-brace-format
msgid "Settings error: {}"
msgstr ""

#: src/views/settings_view.py:699
#, python-brace-format
msgid "TX Power (dBm, max {})"
msgstr ""

#: src/views/settings_view.py:794
msgid "Location unavailable"
msgstr ""

#: src/views/settings_view.py:798
msgid "Location filled, click Apply to save"
msgstr ""

#: src/views/settings_view.py:821
msgid "Pick Location"
msgstr ""

#: src/views/settings_view.py:821
msgid "Set Location"
msgstr ""

#: src/views/settings_view.py:931
msgid "Connect to a device first"
msgstr ""

#: src/views/settings_view.py:943 src/views/settings_view.py:1121
msgid "Discovering repeaters in range..."
msgstr ""

#: src/views/settings_view.py:961
#, python-brace-format
msgid "Found {} regions"
msgstr ""

#: src/views/settings_view.py:963
#, python-brace-format
msgid "Found {} region"
msgstr ""

#: src/views/settings_view.py:970
msgid ""
"Contact list on the device is full. Remove some contacts to discover regions."
msgstr ""

#: src/views/settings_view.py:973
msgid "No regions found"
msgstr ""

#: src/views/settings_view.py:975
msgid "No repeaters in range"
msgstr ""

#: src/views/settings_view.py:991 src/views/settings_view.py:1000
#, python-brace-format
msgid "from {}"
msgstr ""

#: src/views/settings_view.py:993 src/views/settings_view.py:1002
msgid "(already added)"
msgstr ""

#: src/views/settings_view.py:1070
#, python-brace-format
msgid "Querying {} repeaters..."
msgstr ""

#: src/views/settings_view.py:1072
#, python-brace-format
msgid "Querying {} repeater..."
msgstr ""

#: src/views/settings_view.py:1166
#, python-brace-format
msgid "Added {} regions"
msgstr ""

#: src/views/settings_view.py:1168
#, python-brace-format
msgid "Added {} region"
msgstr ""

#: src/views/settings_view.py:1236 src/views/settings_view.py:1346
#: src/views/settings_view.py:1375
msgid "Not Connected"
msgstr ""

#: src/views/settings_view.py:1237
msgid "Connect to a device first to export a backup."
msgstr ""

#: src/views/settings_view.py:1275 src/views/settings_view.py:1356
msgid "JSON files"
msgstr ""

#: src/views/settings_view.py:1288
msgid "Backup exported successfully"
msgstr ""

#: src/views/settings_view.py:1292
#, python-brace-format
msgid "Export failed: {}"
msgstr ""

#: src/views/settings_view.py:1302
msgid "Device does not support key export"
msgstr ""

#: src/views/settings_view.py:1347
msgid "Connect to a device first to import a backup."
msgstr ""

#: src/views/settings_view.py:1376
msgid "Connect to a device first to restore a backup."
msgstr ""

#: src/views/settings_view.py:1386
msgid "No Auto Backups"
msgstr ""

#: src/views/settings_view.py:1387
msgid "No automatic backups found for this device."
msgstr ""

#: src/views/settings_view.py:1393
msgid "Pick Snapshot"
msgstr ""

#: src/views/settings_view.py:1442
#, python-brace-format
msgid "Could not read backup file: {}"
msgstr ""

#: src/views/settings_view.py:1458
#, python-brace-format
msgid "Source: {}"
msgstr ""

#: src/views/settings_view.py:1489
#, python-brace-format
msgid "{} contacts"
msgstr ""

#: src/views/settings_view.py:1491
#, python-brace-format
msgid "{} channels"
msgstr ""

#: src/views/settings_view.py:1495
msgid "messages"
msgstr ""

#: src/views/settings_view.py:1497
msgid "device identity"
msgstr ""

#: src/views/settings_view.py:1499
#, python-brace-format
msgid "Imported: {}"
msgstr ""

#: src/views/settings_view.py:1501
msgid "Nothing new to import"
msgstr ""

#: src/views/repeater_view.py:149
msgid "room"
msgstr ""

#: src/views/repeater_view.py:150
msgid "repeater"
msgstr ""

#: src/views/repeater_view.py:303
#, python-brace-format
msgid "Time sync sent to {}"
msgstr ""

#: src/views/repeater_view.py:310
msgid "Reset Clock & Reboot?"
msgstr ""

#: src/views/repeater_view.py:312
msgid ""
"The clock is ahead of the current time.\n"
"Firmware does not allow setting time backwards.\n"
"\n"
"This will reset the clock and reboot the device."
msgstr ""

#: src/views/repeater_view.py:327
msgid "Rebooting..."
msgstr ""

#: src/views/repeater_view.py:329
#, python-brace-format
msgid "Clock reset & reboot sent to {}"
msgstr ""

#: src/views/repeater_view.py:342 src/views/repeater_view.py:535
#: src/views/repeater_view.py:667 src/views/repeater_view.py:844
msgid "Request timed out"
msgstr ""

#: src/views/repeater_view.py:559
#, python-brace-format
msgid "{} of {} neighbors"
msgstr ""

#: src/views/repeater_view.py:576
msgid "Neighbor Map"
msgstr ""

#: src/views/repeater_view.py:702
#, python-brace-format
msgid "{} entry"
msgstr ""

#: src/views/repeater_view.py:702
#, python-brace-format
msgid "{} entries"
msgstr ""

#: src/views/repeater_view.py:721
msgid "Remove from ACL?"
msgstr ""

#: src/views/repeater_view.py:722
#, python-brace-format
msgid "Remove {} from the access control list?"
msgstr ""

#: src/views/repeater_view.py:744
msgid "Role"
msgstr ""

#: src/views/repeater_view.py:745
msgid "Admin"
msgstr ""

#: src/views/repeater_view.py:745
msgid "Read-Write"
msgstr ""

#: src/views/repeater_view.py:745
msgid "Read Only"
msgstr ""

#: src/views/repeater_view.py:770
msgid "Add to Access Control"
msgstr ""

#: src/views/repeater_view.py:872
msgid "Global (wildcard)"
msgstr ""

#: src/views/repeater_view.py:875
msgid "Home"
msgstr ""

#: src/views/repeater_view.py:876
msgid "Flood allowed"
msgstr ""

#: src/views/repeater_view.py:876
msgid "Flood denied"
msgstr ""

#: src/views/repeater_view.py:909
msgid "Deny Flood"
msgstr ""

#: src/views/repeater_view.py:909
msgid "Allow Flood"
msgstr ""

#: src/views/repeater_view.py:913
msgid "Set as Home"
msgstr ""

#: src/views/repeater_view.py:965
msgid "Remove child regions first"
msgstr ""

#: src/views/repeater_view.py:1003
msgid "Unsaved Changes"
msgstr ""

#: src/views/repeater_view.py:1004
msgid "You have unsaved region changes."
msgstr ""

#: src/views/repeater_view.py:1006
msgid "Discard"
msgstr ""

#: src/views/repeater_view.py:1034
msgid "Add Region"
msgstr ""

#: src/views/repeater_view.py:1035
msgid "Enter a name and optionally choose a parent region."
msgstr ""

#: src/views/repeater_view.py:1232
msgid "Admin password changed — re-login required"
msgstr ""

#: src/views/repeater_view.py:1299
#, python-brace-format
msgid "Settings sent to {}"
msgstr ""

#: src/views/repeater_view.py:1303
#, python-brace-format
msgid "Reboot {}?"
msgstr ""

#: src/views/repeater_view.py:1306
#, python-brace-format
msgid "Reboot {}? It will be offline briefly."
msgstr ""

#. positive = behind, negative = ahead
#. more than 5 minutes off
#: src/views/repeater_view.py:1438
msgid "Time is off"
msgstr ""

#: src/views/sensor_view.py:234
#, python-brace-format
msgid "Logged in to {}"
msgstr ""

#: src/views/sensor_view.py:237
msgid "Login failed"
msgstr ""

#: src/views/chat_helpers.py:62
msgid "Shared Location"
msgstr ""

#: src/views/chat_helpers.py:64
msgid "Shared"
msgstr ""

#: src/views/chat_helpers.py:129 src/views/chat_helpers.py:177
msgid "Share"
msgstr ""

#: src/views/chat_helpers.py:158
msgid "Location Not Available"
msgstr ""

#: src/views/chat_helpers.py:159
msgid "Your companion does not have a GPS location."
msgstr ""

#: src/views/chat_view.py:140
msgid "Send Automatically"
msgstr ""

#: src/views/chat_view.py:141
msgid "Send Direct"
msgstr ""

#: src/views/chat_view.py:142
msgid "Send Flood"
msgstr ""

#: src/views/chat_view.py:422 src/views/chat_view.py:423
msgid "Sending"
msgstr ""

#: src/views/chat_view.py:507
msgid "Read-only room"
msgstr ""

#: src/views/map_view.py:220
#, python-brace-format
msgid "{} of {} contacts on map"
msgstr ""

#: src/views/map_view.py:222
#, python-brace-format
msgid "{} of {} located on map"
msgstr ""

#: src/views/map_view.py:447
#, python-brace-format
msgid "and {} more"
msgstr ""

#: src/views/map_view.py:650
msgid "Position is illustrative — real location unknown"
msgstr ""

#: src/views/map_view.py:658
#, python-brace-format
msgid "SNR: {} dB"
msgstr ""

#: src/views/map_view.py:1012
msgid "Pick Trace Route"
msgstr ""

#: src/views/map_view.py:1223
msgid "Tap repeaters to build the trace route"
msgstr ""
